Напишите функцию check, которая принимает 2 аргумента -- указатели на int

Рейтинг: -2Ответов: 1Опубликовано: 12.01.2023

введите сюда описание изображения

 #include <iostream>

using namespace std;

void check(int* a, int* b) {
    if (*a != *b) {
        *a = 1;
        *b = 1;

    }

    if (*a == *b) {
        *a = 0;
        *b = 0;

    }
}

int main() {
    int a;
    int b;
    cin >> a >> b;
    check(&a, &b);

    system("pause");
    return 0;
} 

я понимаю, что в задании просят ввести только функцию, я использую блок main() как проверку

Ответы

▲ 4Принят

Как вам справедливо заметили в комментариях, сравнивать надо указатели.

void check(int*a,int*b) {
    if (a != b) *a = *b = 1;
    else *a = 0;
    }

Можно даже проще :) -

void check(int*a,int*b) {
    *a = *b = (a != b);
    }