Последовательность целых чисел заносится в файл. Прочитать из файла последовательность и записать в память в виде линейного списка
Категория: Delphi/Pascal
2012-03-05 22:14:06
Найти сумму элементов списка. Вывести на экран последовательность и результаты вычислений.
code: #pascal
Program PascalGuru; type link = ^kom; kom = record ini : integer; next : link; end; var pn :link; {описание переменных самой программы} arg,j :integer; f :text; {--------------------------------------------------} procedure add(var n : link; x, num:integer); {процедура добавляет значение "х" в список "n" на позицию "num"} var neo, ind : link; i : integer; begin new(neo); neo^.ini:=x; if n=nil then begin n:= neo; neo^.next:=nil; end else if num=1 then begin neo^.next:=n; n:= neo; end else begin i:=0; ind:= n; while (i<>num-2) and (ind^.next<>nil) do begin i:= i+1; ind:= ind^.next; end; neo^.next:=ind^.next; ind^.next:= neo; end; end; { ---add } {--------------------------------------------------} procedure veiw(n : link); {процедура выводит линейный список n на экран + просчитывает сумму} var ind : link; i : integer; summa: integer; begin ind:=n; i:=0; summa:=0; {обнуляем сумму} if ind=nil then writeln ('List is empty') else begin writeln; writeln('Spisok:'); while ind<>nil do begin i:=i+1; writeln(i,') ',ind^.ini); {выводит текущий эл-т на экран} summa:=summa+ind^.ini; {текущий эл-т добавляем к сумме} ind:=ind^.next; {переходим к след. эл-ту списка} end; end; writeln;writeln('Summa: ',summa); {выводим общую сумму на экран} end; { ---veiw } {-------------------------------------------} begin {******************САМА ПРОГРАММА****************************} assign(f,'file_spisok.txt'); reset(f); {подключаем файл для чтения} pn:=nil; {обнуляем линейный список} j:=0; {обнуляем счётчик эл-ов списка} while not eof(f) do {пока не конец файла} begin inc(j); {увеличиваем счётчик на +1} readln(f,arg); {считываем очередное число с файла} add(pn,arg,j); {добавляем это число в линйный список} end; veiw(pn); {выводи список и сумму на экран} close(f); {закрываем файл} end.
Поделиться: