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

C++ Даны три действительных числа. Возвести в квадрат те из них, значения которых неотрицательны.

Казалось бы, простое задание, но когда начал делать понял что могу просто утонуть в условиях ((( Что делать?
int a,b,c;
if (a > 0) a*=a;
if (b > 0) b*=b;
if (c > 0) c*=c;
JS
Jon Shadiev
95 629
Лучший ответ
Владимир Мочалов Там нужно не удвоить значение, а возвести в квадрат
Дмитрий Коробов В квадрат, а не на два)
Андрей Малышев Вооот. А как вывести на экран те, с которыми были произведены действия?!
double a, b, c; // действительные!!
cin >> a >> b >> c;
if (a > 0) { a *= a; cout << a << endl; }
if (b > 0) { b *= b; cout << b << endl; }
if (c > 0) { c *= c; cout << c << endl; }
Грач Григорян
Грач Григорян
90 406
int n = 3;//количество чисел
double x;
while( n-- )
{
cin >> x;
if( x > 0 ) x*=x;
cout << x << endl;
}
Олег Кошелев
Олег Кошелев
99 901
Андрей Малышев Хрена себе!
Да там три условия всего. Что сложного то?
Андрей Малышев Трех не хватает. Если первое число положительно, то программа возводит в квадрат только его, игнорируя остальные варианты
Предыдущий оратор прав за одним исключением: он удваивает значение чисел вместо возведения в квадрат. Так что:

int a,b,c;
if (a > 0) a*=a;
if (b > 0) b*=a;if (c > 0) c*=a;

ОК, после введения дополнительных условий (возводится в квадрат только одно число и затем оно выводится на экран):

int a,b,c, d;
if (a > 0) a*=a;
if (b > 0) b*=b;
if (c > 0) c*=c;

cout << a;
cout << b;
cout << c;
S_T_A_R_T + M_E_N
S_T_A_R_T + M_E_N
12 080
Андрей Малышев Но он не выводит возведенные в квадрат числа на экран
Program Primer1;
Var a, b, c: integer;
Begin
Writeln('Введите a=');
Readln(a);
Writeln('Введите b=');
Readln(b);
Writeln('Введите c=');
Readln(c);
If a>0 then a:=(a*a);
If a<0 then a:=a*(-1);
If b>0 then b:=(b*b);
If b<0 then b:=b*(-1);
If c>0 then c:=(c*c);
If c<0 then c:=c*(-1);
Writeln('a=',a);
Writeln('b=',b);
Writeln('c=',c);
end.
Рамиль Адеев это для пацанов с паскалем

Похожие вопросы