N - количество чисел в последовательности, i - для организации цикла for, x - очередное число из последовательности В начале задаем значение max = 0, потому что рассматриваем последовательность натуральных чисел ( 1 и больше), то есть первое же натуральное четное будет записано в max В конце выводим ьфч только если он не равен нулю, тоесть в последовательности было натуральное четное число! program z1;var n, i, x, max: integer;beginmax := 0;readln(n);for i := 1 to n dobegin read(x); if (x mod 2 = 0) and (x > max) then max := x;end;if max > 0 then writeln(max) else writeln ('Не таких чисел');end.
В PascalABC.NET эта задача решается легко и быстро. В других версиях будет монстрик.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
procedure MakeFile(path:string); // не относится к заданию, создает файл Text со 100 числами begin WriteLines(path,SeqRandom(100,-99,99).Select(x->x.ToString)) end;
begin MakeFile('MyFile1.txt'); // теперь у нас есть текстовый файл из 100 случайных чисел // собственно, решение var n:=ReadInteger('Укажите количество чисел:'); var a:=ReadLines('MyFile1.txt').Take(n).ToArray; Writeln('Исходная последовательность'); a.Println; Writeln('Результирующая последовательность'); a:=a.OrderBy(x->x.Last).ToArray; a.Println; WriteAllLines('MyFile2.txt',a); end.
В начале задаем значение max = 0, потому что рассматриваем последовательность натуральных чисел ( 1 и больше), то есть первое же натуральное четное будет записано в max
В конце выводим ьфч только если он не равен нулю, тоесть в последовательности было натуральное четное число!
program z1;var n, i, x, max: integer;beginmax := 0;readln(n);for i := 1 to n dobegin read(x); if (x mod 2 = 0) and (x > max) then max := x;end;if max > 0 then writeln(max) else writeln ('Не таких чисел');end.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!
procedure MakeFile(path:string);
// не относится к заданию, создает файл Text со 100 числами
begin
WriteLines(path,SeqRandom(100,-99,99).Select(x->x.ToString))
end;
begin
MakeFile('MyFile1.txt');
// теперь у нас есть текстовый файл из 100 случайных чисел
// собственно, решение
var n:=ReadInteger('Укажите количество чисел:');
var a:=ReadLines('MyFile1.txt').Take(n).ToArray;
Writeln('Исходная последовательность'); a.Println;
Writeln('Результирующая последовательность');
a:=a.OrderBy(x->x.Last).ToArray; a.Println;
WriteAllLines('MyFile2.txt',a);
end.
Пример
Укажите количество чисел: 15
Исходная последовательность
51 -9 17 -12 7 -15 -20 50 98 19 56 67 -57 -42 64
Результирующая последовательность
-20 50 51 -12 -42 64 -15 56 17 7 67 -57 98 -9 19