Привет всем!! Дан динамический список. Нужно найти сумму пяти первых элементов. Подскажите почему сумма считается неправильно!!??
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils;
type pspis=^spisok; spisok=record data:integer; next:pspis; end; Var i,n,a:integer; x,y,u:pspis; s:integer; begin { TODO -oUser -cConsole Main : Insert code here } s:=0; u:=nil; write('n=');readln(n); for i:=1 to n do begin new(Y); WRITE('a=');readln(a); y^.data:=a; y^.next:=nil; if u=nil then u:=y else x^.next:=y; x:=y; end; writeln('vvedennii spisok:'); y:=u; while y<>nil do begin writeln(y^.data); for i:=1 to n do 5 s:=s+y^.data; ----мне кажется что здесь моя ошибка!! y:=y^.next; end; writeln('сумма=',s); readln; end.
writeln('vvedennii spisok:'); y:=u; { Сначала закончи выводить список... } while y<>nil do begin writeln(y^.data); y := y^.next; end; { ... а потом - будешь считать: } y := u; for i:=1 to n do begin s:=s+y^.data; y:=y^.next; end; writeln('сумма=',s);