Давай сравним все 4 числа между собой, найдём максимальное и вычтем из него N.
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b, c, d, n;
cin >> a >> b >> c >> d >> n;
if (a > b && a > c && a > d)
a -= n;
else if (b > a && b > c && b > d)
b -= n;
else if (c > a && c > b && c > d)
c -= n;
else d -= n;
cout << a << " " << b << " " << c << " " << d << endl;
return 0;
}
Тернарная операция в C++ - это выражение вида (b ? x : y) (где b - логическое выражение, а x и y - одного типа). Она вернёт x, если выражение b истинно, и y, если b ложно.
В приложении расписаны координаты некоторых клеток, а также помечены точками те, которые по цвету отличаются от не помеченных. Если поискать, что у них общего, можно обнаружить, что у "невыколотых" клеток сумма координат по горизонтали и вертикали - чётная. Это "свойство" и используем для определения цвета клетки.
#include <bits/stdc++.h>
using namespace std;
int main() {
int x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
cout << ((x1 + y1) % 2 == (x2 + y2) % 2 ? "YES" : "NO") << endl;
return 0;
}
Поделитесь своими знаниями, ответьте на вопрос:
Как исправить программу? паскаль АВСзадание:найти среднее арифметическое введенных чисел (числа вводятся до тех пор, пока не будет 0)var N, a, S, i:integer; SR:real;begin writeln ('vvod a='); readln (a); S:=0; while a<>0 do begin for i:=1 to N do begin read (a); S:=S+a; end; Sr:=S/N; Writeln('Sr=', Sr)endend.
Можно сделать куда проще:
var s,n,c:integer;
begin
(n,c):=(0,0);
while (true) do begin
readln(n);
if (n = 0) then break();
s += n;
c += 1;
end;
writeln(s/c);
end.