Помощь - Поиск - Пользователи - Календарь
Полная версия: ошибка в дублировании элементов массива
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
лоен
собственно как исправить ошибку?
uses SysUtils;
const Nmax=10000;
function prime(n : LongInt): Boolean;
Var c : Boolean;
i : LongInt;
Begin
c:=True;
For i:=2 to round(sqrt(n)) do
If n mod i=0 then c:=False;
Prime:=c;
End;
var
n,k,i,s,b,j: integer;
a: array[1 .. Nmax] of integer;
begin
Writeln('Vvedite dliny posledovatelnosti(n<=10000)');
Readln(n);
Writeln('Vvedite posledovatelnost');
for i := 1 to n do Readln(A[i]);
i := 1;
while i <= n do begin
s := 0;
b := A[i];
while b > 0 do begin
S := s + (b mod 10);
b := b div 10;
end;
if (s mod 8) = 0 then begin
n := n - 1;
for j := i to n do a[j]:=a[j+1];
end else inc(i);
end;
for i :=1 to n Do begin
if Prime(a[i]) then
begin
for k:=n+1 downto i+1 do a[k]:=a[k-1];
n:=n+1;
i:=i+1;
end;
i:=i+1;
end;
for i :=1 to n Do Write(A[i],' ');
Readln;
end.


Добавлено через 4 мин.
если она тут одна >_<
volvo
Собственно, почему в For-цикле изменяется управляющая переменная? Я же показывал тебе, что для изменения ее надо использовать While...
лоен
нда, снова на том же самом, извиняюсь)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.