begin writeln('Введите диапазон:'); write('От:'); var a:= ReadInteger; // Ввод а с целым типом write('До:'); var b:= ReadInteger; // Ввод б с целым типом
var m:array[1..10] of integer; // описание массива
writeln('Начальный массив: '); for var i:=1 to 10 do // генерация и вывод массива begin m[i]:=random(a,b); write(m[i]:4); end;
writeln;
for var i:=1 to 2 do // переворот первой части обмена 1 с 5, 2 с 4) begin var t:=m[i]; m[i]:=m[6-i]; m[6-i]:=t; end;
for var i:=6 to 7 do // переворот второй части обмена 6 с 10, 7 с 9) begin var t:=m[i]; m[i]:=m[16-i]; m[16-i]:=t; end; writeln('Измененный массив:'); // вывод измененного массива for var i:=1 to 10 do write(m[i]:4); end.
// PascalABC.NET 3.3, сборка 1583 от 25.11.2017 // Внимание! Если программа не работает, обновите версию!
begin var p:=ArrRandom(40,-99,99); p.Println; // максимум среди четных var max:=p.Select((v,i)->(v,i)).Where(t->t[1].IsOdd).Max(t->t[0]); // первый из четных индексов элементов, равных max var im:=p.IndexesOf(t->t=max).Where(t->t.IsOdd).First; // домножаем... for var i:=0 to im-1 do p[i]*=max; p.Println end.
//Версия 3.3. сборка 1583 (25.11.2017)
begin
writeln('Введите диапазон:');
write('От:'); var a:= ReadInteger; // Ввод а с целым типом
write('До:'); var b:= ReadInteger; // Ввод б с целым типом
var m:array[1..10] of integer; // описание массива
writeln('Начальный массив: ');
for var i:=1 to 10 do // генерация и вывод массива
begin
m[i]:=random(a,b);
write(m[i]:4);
end;
writeln;
for var i:=1 to 2 do // переворот первой части обмена 1 с 5, 2 с 4)
begin
var t:=m[i];
m[i]:=m[6-i];
m[6-i]:=t;
end;
for var i:=6 to 7 do // переворот второй части обмена 6 с 10, 7 с 9)
begin
var t:=m[i];
m[i]:=m[16-i];
m[16-i]:=t;
end;
writeln('Измененный массив:'); // вывод измененного массива
for var i:=1 to 10 do
write(m[i]:4);
end.
// Внимание! Если программа не работает, обновите версию!
begin
var p:=ArrRandom(40,-99,99); p.Println;
// максимум среди четных
var max:=p.Select((v,i)->(v,i)).Where(t->t[1].IsOdd).Max(t->t[0]);
// первый из четных индексов элементов, равных max
var im:=p.IndexesOf(t->t=max).Where(t->t.IsOdd).First;
// домножаем...
for var i:=0 to im-1 do p[i]*=max; p.Println
end.
Пример
63 53 -46 -34 -65 -87 79 71 57 -93 -49 51 -85 -46 -26 -7 53 96 86 38 -9 -91 71 -82 76 69 84 41 81 -11 5 -53 -94 -97 -92 -42 -85 -39 -43 -92
6048 5088 -4416 -3264 -6240 -8352 7584 6816 5472 -8928 -4704 4896 -8160 -4416 -2496 -672 5088 96 86 38 -9 -91 71 -82 76 69 84 41 81 -11 5 -53 -94 -97 -92 -42 -85 -39 -43 -92