• Предмет: Информатика
  • Автор: carrollnastya
  • Вопрос задан 7 лет назад

Из вычисленного массива R удалить все положительные элементы, расположенные до последнего отрицательного элемента
Программа:
type  mas = array [1..100] of real;var    x, h, a: real;   i, n, j, k, l: integer;   r: mas;begin  repeat  writeln ('Введите 1<=n<=100');  readln (n);  if (n<1) or (n>100) then  writeln ('Некорректный ввод');  until (n>=1) and (n<=100);  writeln ('Введите h и a');  readln (h, a);  writeln ('Введите х');  readln (x);      for i:=1 to n do begin     r[i]:=6*cos(a*x+i*h);     end;  write('Массив: ');  for i:=1 to n do writeln(r[i]); {Найденный массив}  j:=0;  k:=0;  for i:=1 to n do if r[i]<0 then k:=i;  for i:=1 to n do      if (r[i]>0) and (i<k) then begin   (28 строка)        for i:=k to n do begin           j:=j+1;           r[j]:=r[i];        end;     n:=j;end;writeln('Новый массив');for i:=1 to n do writeln (r[j]);end.  
Ошибка: Нельзя изменять значение переменной цикла внутри этого цикла (строка 28)
Я понимаю суть ошибки, но не знаю, чем заменить "i" для нужного мне результата

Ответы

Ответ дал: iolandavalerypad353
0

надеюсь разберетесь что тут к чему, этот кусок кода нужно вставить после строки for i := 1 to n do writeln(r[i]); {Найденный массив}, а после этого вывести измененный массив, сами допишите. Если что-то не понятно смотрите текстовый файл во вложении.

Приложения:
Ответ дал: iolandavalerypad353
0
если у вас будут ошибки на таких операциях i+=1, n-=1 и так далее измените их на i:=i+1, n:=n-1
Ответ дал: carrollnastya
0
Спасибо вам большое за помощь <3
Ответ дал: iolandavalerypad353
0
на здоровье
Вас заинтересует