Предмет: Информатика, автор: 20381741

составьте программу, которая формирует массив из 15 случайных целых чисел, принадлежащих промежутку [-22, 33], заменяет положительные числа на 1 и выводит значение элементов массива до и после замены

Ответы

Автор ответа: Аноним
1

PascalABC.NET 3.4.2, сборка 1881 от 19.11.2018

Внимание! Если программа не работает, обновите версию!

begin

 var a := ArrRandom(15, -22, 33);

 a.Println;

 a.Transform(t -> t > 0 ? 1 : t);

 a.Println

end.

Пример

-16 7 14 8 18 7 -5 -3 -18 26 -3 -8 31 13 -1

-16 1 1 1 1 1 -5 -3 -18 1 -3 -8 1 1 -1


20381741: нет
20381741: просто учитель щас посмотрел на ваш ответ и сказал что это неправильно
Аноним: Мне Ваш учитель пофигу, если честно. Программа работает и делает то, указано в вопросе.
Аноним: Другое дело, что ваш учитель может не понимать этот код, поскольку он - всего лишь учитель информатики .а не профессиональный программист, но это уже его (и вашего класса) беда.
20381741: понял
Аноним: Но это просто решается - достаточно программу запустить и убедиться в ее работе.
Аноним: Есть и еще один вариант: вы изучаете не эту версию паскаля, а иную.
Аноним: Тогда вина Ваша - надо было указать в вопросе название диалекта языка (ТурбоПаскаль, Free Pascal, Delphi, Lazarus и т.п.)
Аноним: И наконец, есть еще один случай, когда задание дается с условием использовать только такие-то и такие конструкции языка. Правда я это считаю идиотизмом: составляя программу надо учиться выбирать наиболее эффективные механизмы.
Аноним: Кстати, за отметки без причины нарушением работающих программ могут и наказать.
Автор ответа: elenaklon
2

const n=15;

var i:integer;

a:array[1..n] of integer;

begin

for i:=1 to n do

begin

a[i]:=random(56)-22;

write(a[i]:3,' ')

end;

writeln;

for i:=1 to n do

begin

if a[i]>0 then a[i]:=1;

write(a[i]:3,' ')

end

end.

Похожие вопросы