Составить кроссворд со словами из глоссария (не использовать слова на англ. языке) из пяти слов.В стороне каждому слову дать пояснение (коротко! и своими словами)
а) В данной задаче не нужен массив. Нам сами числа не интересуют (нет цели специально выводить, например, 25-е число), а только их сумма. Поэтому будем просто сразу считать сумму.
б) Если был бы и нужен массив, то не вполне очевидно, почему он должен быть именно в 100 элементов. Задачей никак не запрещается иметь, например, 101 ненулевое число. В этом случае программа Владимира либо будет работать неправильно, либо выдаст ошибку.
в) Подключение библиотеки crt тут тоже не особо нужно. Не думаю, что возможность очистить экран (crt в данной программе используется только для этого) существенна.
г) Можно ограничиться одним циклом, а не двумя.
С учетом вышенаписанного, код можно переписать так: program P1;
program P1;
uses
crt;
var
mas : array[1..20] of integer;
i,j,k : integer;
tmp : string;
begin
clrscr;
writeln('Start array: ');
for i := 1 to 20 do
begin
mas[i] := random(100);
write(mas[i],' ');
end;
for i := 1 to 20 do
begin
if mas[i] mod 2 = 0 then
mas[i] := 0;
end;
for i := 1 to 20 do
begin
if mas[i] = 0 then
begin
for j := 20 downto i do
if mas[j] <> 0 then
begin
k := mas[j];
mas[j] := mas[i];
mas[i] := k;
end;
end;
end;
writeln('');
writeln('Result array: ');
for i := 1 to 20 do
write(mas[i],' ');
readln(tmp);
read(tmp);
end.
Немного дополню ответ коллеги VladimirGoryachev.
а) В данной задаче не нужен массив. Нам сами числа не интересуют (нет цели специально выводить, например, 25-е число), а только их сумма. Поэтому будем просто сразу считать сумму.
б) Если был бы и нужен массив, то не вполне очевидно, почему он должен быть именно в 100 элементов. Задачей никак не запрещается иметь, например, 101 ненулевое число. В этом случае программа Владимира либо будет работать неправильно, либо выдаст ошибку.
в) Подключение библиотеки crt тут тоже не особо нужно. Не думаю, что возможность очистить экран (crt в данной программе используется только для этого) существенна.
г) Можно ограничиться одним циклом, а не двумя.
С учетом вышенаписанного, код можно переписать так:
program P1;
var temp, summ : integer;
begin
writeln('Vvod massiva: ');
summ:=0;
repeat
readln(temp);
summ:=summ+temp;
until temp = 0;
writeln('Resultat: ',summ);
readln
end.