ПРИВЕТ ВСЕМ!!
решаю тут задание на дом с массивами.суть её ----
определение количества отрицательных элементов в массиве вывода их на экран с индексом или сообщение о их отсутствии.
я попыталась!! честным образом. но не смогла. выводит какой то бред.
Скажите ,пожалуйста, в чем ошибки?
program otriz;
uses crt;
var m: array[1..7] of integer;
i,k: integer;
begin
clrscr;
for i:=i to 7 do begin
writeln('m [',i,']=', m[i]);
readln(m[i]);
end;
k:=0;
for i:=i to 7 do begin
if m[i]<0 then begin
k:=k+1;
writeln('m[',i,']=' , m[i]);
end
end;
if k=0 then begin
writeln(' нет отрицательных', k);
end
else writeln('колличество отрицательных = ', k);
readln
end.
1. Название темы исправь.
2.
writeln('m [',i,']=', m[i]);
Замени на
write('m [',i,']= ');
А то ты выводишь m[i] до того, как читаешь.
Ну и ещё тут WriteLn можно заменить на Write. Чтобы при вводе число отображалось на той же строке, что и запрос на ввод.
for i:=i to 7 do begin
замени на
for i := 1 to 7 do begin
for i:=i to 7 do begin
замени на
for i := 1 to 7 do begin
А СмЫСЛ??
Смысл такой что ооочень нехорошо менять переменную по которой ты проходиш в цикле внутри самого цикла,это может привести к некоректной работе или зацикливанию. более тогочто значит i:=i,это ты переменной i присваиваеш значение переменной i,но простите а какое у вас значение i,дай бог если 0,а если там не 0......В общем либо сделайте так,как просят,либо посмотрите в дебаге что вообще происходит.