Другие языки программирования и технологии

Помогите решить задачку по С++

1.Создайте целые числа x и y
2.Создайте указатель на int с названием p1
3.Сохраните адрес x в p1
4.Используйте p1 чтобы присвоить значению х 99
5.Используя cout, выведите значение x
6.Используя cout и указатель p1, выведите на экран значение
7.Сохраните адрес у в p1
8.Используйте p1, чтобы присвоить у значение -300
9.Создайте 2 новые переменные: целое число с названием temp и указатель на целое число с названием p2
10.Используйте temp, p1, и p2, чтобы переставить значения в x и y
11.Напишите функцию следующего вида: void noNegatives(int *x). Функция должна принять адрес переменной для целого числа . Если значение этого целого отрицательное, то функция должна установить это на 0
12.Вызовите функцию дважды: первый раз с адресом х в качестве аргумента, во второй раз с адресом у.
13.Используйте p2, чтобы отобразить значения х и у.
14.Создайте массив целых чисел с двумя элементами. Назовите массив а.
15.Используйте р2 чтобы инициализировать первый элемент со значением в х
16.Используйте р2 чтобы инициализировать второй элемент со значением в у.
17.Используйте cout, чтобы вывести адрес первого элемента в а.
18.Используйте cout, чтобы вывести адрес второго элемента в а.
19.Используйте p1, p2, и temp, чтобы переставить значения двух элементов а.
20.Выведите значения двух элементов.
#include <iostream>
using namespace std;
// 11
void noNegatives(int *);
int main() {
    // 01
    int x, y;
    // 02
    int * p1;
    // 03
    p1 = &x;
    // 04
    *p1 = 99;
    // 05
    cout << " x = " << x << endl;
    // 06
    cout << " x = " << *p1 << endl;
    // 07
    p1 = &y;
    // 08
    *p1 = -300;
    // 09
    int temp;
    int * p2;
    // 10
    p2 = &x;
    temp = *p1;
    *p1 = *p2;
    *p2 = temp;
    // 12
    noNegatives(&x);
    noNegatives(&y);
    // 13 (Если для отображения использовать один указатель, то продолжать не имеет смысла)
    cout << endl << " x = " << *p1 << endl;
    cout << " y = " << *p2 << endl;
    // 14
    int a[2];
    // 15
    *p2 = x;
    a[0] = *p2;
    // 16
    *p2 = y;
    a[1] = *p2;
    // 17
    cout << endl << " address a[0] = " << &a[0] << endl;
    // 18
    cout << " address a[1] = " << &a[1] << endl;
    cout << endl << " a[0] = " << a[0] << "\t a[1] = " << a[1] << endl;
    // 19
    p1 = &a[0];
    p2 = &a[1];
    temp = *p1;
    *p1 = *p2;
    *p2 = temp;
    // 20
    cout << " a[0] = " << a[0] << "\t a[1] = " << a[1] << endl;
    cin.get(); cin.get();
    return 0;
}
// 11
void noNegatives(int * x) { if (*x < 0) *x = 0; }
Belphegor Princetheripper
Belphegor Princetheripper
63 043
Лучший ответ