Другие языки программирования и технологии

помогите решить задачу по Паскалю

дан одномерный массив размерности 20. Заполнить его случайными числами на отрезке [-25,25]. заменить все четные элементы на их квадраты, а не нечетные удвоить. Вывести исходный и полученные массивы на печать.дан одномерный массив размерности 20. Заполнить его случайными числами на отрезке [-25,25]. заменить все ее члены, больше Z, этим числом. Подсчитать количество замен. Вывести исходный и полученый массивы на печать
Доброго времени суток.

Заполнение случайными числами.

for i:=1 to 20 do Random(51) - 25;

Обработка массива

for i:=1 to 20 do
if A[ i ] mod 2 = 0 then A[ i ] := Sqr(A[ i ]) else A[ i ] := 2 * A[ i ];

Вывод на экран

for i:=1 to 20 do Write(A[ i ]:4);

Вторая решается абсолютно аналогично, только проверяете элемент не на четность, а на больше Z, которое должен ввести юзер.

Чтобы посчитать замены, объявляете переменную и перед началом цикла обнуляете ее. При каждой замене наращиваете на 1.

Удачи!
Костенко Юрий
Костенко Юрий
59 613
Лучший ответ
program mas;
var
a: array[1..20] of integer;
i: integer;

begin
randomize;
for i := 1 to 20 do
begin
a[ i ] := random(51) - 25;
write(a[ i ],' ');
end;
for i := 1 to 20 do
if a[ i ] mod 2 = 0 then write(sqr(a[ i ],' ')
else write((2 * a[ i ]),' ');
readln;
end.

program mas2;
var
a: array[1..20] of integer;
i, N, Z: integer;

begin
randomize;
for i := 1 to 20 do begin
a[ i ] := random(51) - 25;
write(a[ i ],' ');
end;
N := 0;
readln(Z);
for i := 1 to 20 do
if a[ i ] > Z then begin
a[ i ] := Z;
N := N + 1;
write(a[ i ], ' '); end;
writeln('Количество замен, ' N);
readln;
end.

вот так! удачи