два указателя на эти переменные. Большее из них с помощью указателя увеличить на7 и меньшее уменьшить на 3.
Правильно?
cout<<"a = "; cin>>a;
cout<<"b = "; cin>>b;
float *pa = &a;
float *pb = &b;
if (pa > pb) {
pa += 7;
pb += 3;
} else {
pb += 7;
pa += 3;
}
cout<<"pa = "<<pa<<endl;
cout<<"pb = "<<pb<<endl;
Ну так проверил бы сначала. А так - почитай про указатели, что это такое и как с ними работать - надо понимать что делаешь.
Ты бы хотя скомпилировать попробовал и посмотреть, что выводится и пройтись в дебагере и попытаться поисправлять ошибки сам.
Ты меняешь указатели, а не числа
https://t.me/supapro/1333023
Я немного изменил названия для соответствия сути; сделай так: if(a > b) { max = &a; min = &b; } else { max = &b; min = &a; } *max += 7; *min += 3; Вообще, напрямую сравнивать числа с плавающей точкой нельзя, нужно добавить некоторое EPSILON в сравнение.
Можно, если вы точно знаете что делаете :)
И ещё поправка: на равенство*.
Тут можно, тут строгое неравенство, всё валидно
Обсуждают сегодня