Другие языки программирования и технологии
C++ Даны три действительных числа. Возвести в квадрат те из них, значения которых неотрицательны.
Казалось бы, простое задание, но когда начал делать понял что могу просто утонуть в условиях ((( Что делать?
int a,b,c;
if (a > 0) a*=a;
if (b > 0) b*=b;
if (c > 0) c*=c;
if (a > 0) a*=a;
if (b > 0) b*=b;
if (c > 0) c*=c;
Владимир Мочалов
Там нужно не удвоить значение, а возвести в квадрат
Дмитрий Коробов
В квадрат, а не на два)
Андрей Малышев
Вооот. А как вывести на экран те, с которыми были произведены действия?!
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; }
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; }
int n = 3;//количество чисел
double x;
while( n-- )
{
cin >> x;
if( x > 0 ) x*=x;
cout << x << endl;
}
double x;
while( n-- )
{
cin >> x;
if( x > 0 ) x*=x;
cout << x << endl;
}
Андрей Малышев
Хрена себе!
Да там три условия всего. Что сложного то?
Андрей Малышев
Трех не хватает. Если первое число положительно, то программа возводит в квадрат только его, игнорируя остальные варианты
Предыдущий оратор прав за одним исключением: он удваивает значение чисел вместо возведения в квадрат. Так что:
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;
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;
Андрей Малышев
Но он не выводит возведенные в квадрат числа на экран
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.
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.
Рамиль Адеев
это для пацанов с паскалем
Похожие вопросы
- Даны 3 целых числа. Возвести в квадрат отрицательные числа и в третью степень - положительные (число 0 не изменять)
- TurboPascal. Дана матрица целых чисел. Возвести её во вторую степень, вывести исходную и полученную матрицы
- 16. Дан массив из 20 элементов. Найти пять «соседних» элементов, сумма значений которых максимальна. ??
- Дан массив из 20 элементов. Найти три «соседних» элементов, сумма значений которых максимальна. как это на СИ сделать?
- Сформировать файл из действительных чисел. Найти: наибольшее из значений модулей компонентов с четными номерами. С++
- Lazarus. Даны действительные числа a1,a2,.,a2n . Получить: a1,a2n,a2,a2n-1,a3,.,an,an+1
- Дан файл целых чисел.Найти сумму компонент с четным значением и записать в новый файл те из них,значения которых превыша
- Даны 3 целых числа найти среднее язык #C
- Дан файл целых чисел. Создать два новых файла, первый из которых содержит положительные числа из исходного файла...
- Даны натуральное число n, действительные числа a1,.,an. Вычислить: |a1|,|a1+a2|,.,|a1+.+an|; delphi