Составьте программу которая формирует массив из 14 случайных чисел, принадлежащих...

0 голосов
48 просмотров

Составьте программу которая формирует массив из 14 случайных чисел, принадлежащих промежутку [-20, 30], заменяет все чётные значения элементов массива квадратами их номеров


Информатика (34 баллов) | 48 просмотров
0

язык?

0

индексация с 0?

0

pascal ABC

Дан 1 ответ
0 голосов
// PascalABC.NET 3.3, сборка 1576 от 16.11.2017
// Внимание! Если программа не работает, обновите версию!
// Индексация с "1", если номера даются, начиная с "0", заменить (i+1)*(i+1) на (i*i)


begin
var a:= ArrRandom(14,-20,30).Println.Select((v,i)->v.IsEven?(i+1)*(i+1):v).Println;
end.

Пример: 
28 -12 -8 21 -16 11 3 21 11 -13 26 4 -19 23
1 4 9 21 25 11 3 21 11 -13 121 144 -19 23
(8.8k баллов)
0

uses crt;
var
a:array[1..14] of integer;
i,n:integer;
begin
randomize;
for i:=1 to 14 do
begin
a[i]:=random(51)-20;
write(a[i],' ');
end;
writeln;
for i:=1 to 14 do
if a[i]=0 then begin n:=i; write(n,' '); end;
end.

0

это является верным?

0

нет. У тебя идет условие if a[i] = 0. т.е. если очередной эл-т массива равен нулю, то ты выводишь это число, нужно так if a[i] mod 2 = 0 then
write(i*i, ' ') else write(a[i], ' ');