|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Дан текстовый файл input.txt, в котором хранятся целые числа
Дан текстовый файл input.txt, в котором хранятся целые числа. Создать упорядоченный по возрастанию список. За первым четным числом поставить утроенное произведение того числа . Полученную последовательность записать в тестовый фаил output.txt. Если четных чисел нет , помимо последовательности в фаил записать соответствующее сообщение.
Помогите доделать . И нужно написать это по Unit-ам. Подскажите пожалуйста, как это сделать . Код:
uses type TInfo=integer; Tlist=~Node; Node=record info:TInfo; next:Tlist; end; procedure Init(var L:Tlist); BEGIN new(L); L^.next:=nil; end; Function Empty(L:Tlist):boolean; begin result:=L^.next:=nil; end; Procedure Add_to_head(var PNode:Tlist; new_element:Tinfo); var p:Tlist; begin new(p); p^.info:=new_element; p^.next:=PNode^.next; Pnode^.next:=p; end; Function Del_After_Node(var Pnode:Tlist):Tinfo; var p:Tlist; begin p:=PNode^.next; PNode^.next:=p^.next; result:=p^.info; p^.next:=nil; dispose(p); end; Function Found_Place(L:Tlist; new_element:Tinfo):TList; begin result:=L; While(result^.next<>nil) and (result^.next^.info< new_element) do result:=result^.next; end; Procedure Create_Order_from_file(var L:Tlist; file_name:string); var f:Textfile; new_element:Tinfo; place:Tlist; begin Init(L); Assign File (f,file_name); Reset(f); While not eof(f) do begin read(f,new_element); place:=Found_place(L, new_element); Add_after_Node(Place,new_element); end; close File(f); end; Procedure Print_to_file(L:Tlist; file_name:string); var p:Tlist; f:Textfile; begin p:=L^.next; Assign File(ffile_name); Rewrite(f); While p<> nil do begin Write(f,p^.info, ' '); p:=p^.next; end; Close File(f); end; Procedure Clear(var L:Tlist); begin While not Empty(L) do Del_after_Node(L); dispose(L); end; //основное тело программы Var L:Tlist; begin SetCousdOutputCP(1251); (SetConsoleCP(1251); Create_Order_from_file(L,'input.txt'); Print_to_file(L,'input.txt'); Clear(L); Writeln('Файл создан '); readln; end; ..... |
#2
|
||||
|
||||
Ха, олимпиадная задачка.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |