Предмет: Информатика,
автор: Шист
Массив a[1..10] заполните случайными целыми числами в диапазоне от 1 до 10. Определите, есть ли в массиве элемент, равный 5. Ответ выведите в виде слов "Да" или "Нет". В общем найдите мою ошибку(у меня выводится только 1 элемент, а не 10)
Program shist;
Var a:array[1..10] of integer;
i:integer;
Begin
For i:=1 to 10 do
a[i]:=Random(10)+1;
writeln ('Исходный массив');
For i:=1 to 10 do
begin
write (a[i], ' ');
writeln;
writeln ('Есть ли в массиве элемент, равный 5?');
break;
end;
if a[i]=5 then write ('Да') else write ('Нет')
End.
И вот что получилось
Исходный массив
7
Есть ли в массиве элемент, равный 5?
Нет
Ответы
Автор ответа:
0
Var a:array[1..10] of integer;
q:boolean;
i:integer;
Begin
Randomize;
q:= false;
writeln ('Исходный массив');
For i:=1 to 10 do begin
a[i]:=Random(10)+1;
write (a[i], ' ');
if (a[i]=5) then q:=true;
end;
writeln;
if (q) then writeln('da') else writeln('net');
end.
Автор ответа:
0
или можно Program shist;
Var a:array[1..10] of integer;
i:integer;
Begin
For i:=1 to 10 do
a[i]:=Random(10)+1;
writeln ('Исходный массив');
For i:=1 to 10 do
begin
write (a[i], ' ');
end;
writeln;
writeln ('Есть ли в массиве элемент, равный 5?');
if a[i]=5 then write ('Да') else write ('Нет')
End.
Var a:array[1..10] of integer;
i:integer;
Begin
For i:=1 to 10 do
a[i]:=Random(10)+1;
writeln ('Исходный массив');
For i:=1 to 10 do
begin
write (a[i], ' ');
end;
writeln;
writeln ('Есть ли в массиве элемент, равный 5?');
if a[i]=5 then write ('Да') else write ('Нет')
End.
Автор ответа:
0
Нет, у вас в предпоследней строке идет проверка if a[i]=5 then. Это условие находится вне цикла, поэтому идет проверка только if a[10]=5 then , тк i последний раз принимал значение 10.
Похожие вопросы
Предмет: Английский язык,
автор: Аноним
Предмет: Қазақ тiлi,
автор: bekanovaarusan256
Предмет: Химия,
автор: guglpodderzhka65
Предмет: Литература,
автор: какакакакакакак
Предмет: Физика,
автор: Mmmb