Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ] > Код на шару!
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.10.2016, 14:39
Smile188 Smile188 вне форума
Прохожий
 
Регистрация: 02.10.2016
Сообщения: 18
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Дан текстовый файл 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  
Старый 02.10.2016, 20:38
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Ха, олимпиадная задачка.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter