Перед останнім туром чемпіонату України з футболу склалася така ситуація. Щоб команда «Динамо» (Київ) стала чемпіоном, їй потрібно виграти у команди «Ворскла», і щоб «Шахтар» при цьому програв «Дніпру». Розробіть алгоритм із вкладеним умовним оператором визначення, чи стане «Динамо» чемпіоном.
// Внимание! Если программа не работает, обновите версию!
function SumDigits(n:integer):integer;
begin
Result:=0;
while n>0 do begin
Result+=n mod 10;
n:=n div 10
end
end;
begin
var s:=ReadArrInteger('Вводите:',3).Select(x->SumDigits(x)).ToArray;
var i:=s.IndexMax;
var k:=s.Where(x->x=s[i]).Count;
case k of
1:begin
Write('Сумма цифр наибольшая у ');
case i of
0:Write('первого');
1:Write('второго');
2:Write('третьего');
end;
Writeln(' числа')
end;
2:begin
Write('Сумма цифр наибольшая у ');
if s[0]=s[1] then Writeln('первого и второго чисел')
else
if s[0]=s[2] then Writeln('первого и третьего чисел')
else Writeln('второго и третьего чисел')
end;
3:Writeln('Суммы цифр у всех трех чисел равны')
end
end.
Примеры
Вводите: 102030 324 19
Сумма цифр наибольшая у третьего числа
Вводите: 16453 4320 56341
Сумма цифр наибольшая у первого и третьего чисел
Вводите: 12345 12354 54321
Суммы цифр у всех трех чисел равны
Должна работать, не работает - отпишись, отыщу паскаль и исправлю.
Кидай прям весь ответ, кэп. Комментарии подотри, опять же кэп}
program massiv;
var x:array[1..10] of real;
n, i:integer;
s:real;
begin
writeln('Vvedite razmer massiva');
readln(n);
if (n<1) or (n>10) then writeln('Neverno zadano znacheniye razmera massiva')
else begin {check: +}
for i:=1 to n do begin writeln('Vvedite element ', i, 'iz ', n); readln(x[i]); end; {enter the array}
s:=0;
for i:=1 to n do
begin
s:=s+power(x[i], 3);
end;
writeln(s:2:2);
end;
readln; {stop here to read the program answer}
end.