Показать сообщение отдельно
  #7  
Старый 10.10.2016, 10:06
Smile188 Smile188 вне форума
Прохожий
 
Регистрация: 02.10.2016
Сообщения: 18
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Программа запустилась, но не возводит в квадрат число
Посмотрите пожалуйста, может есть какие нибудь ошибки
Код:
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  Un_list in 'Un_list.pas',
  Windows;
function Found_last_elem(L:TList):TList;
begin
result:=L;
while(result^.next<>nil)and (result^.info mod 2=0 ) do
result:=result^.next;
end;
 
 
Var L:TList;
Podd: TList;
 newItem:Tlist;
 
 
begin
setConsoleOutputCP(1251);
SetConsoleCP(1251);
Create_Order_from_file(L, 'input.txt');
Print_to_file(L,'output.txt');
Podd:=Found_last_elem(L);
  if Podd = Nil  then writeln('нет нечетных.')
  else
    begin
       New(NewItem);
       Newitem^.Info := sqr(Podd^.info);
       Newitem^.next := Podd^.next;
       Podd^.next := NewItem;
    end;
 
Print_to_file(L,'output.txt');
Clear(L);
writeln('Файл создан ');
readln;
end.
и

Код:
unit Un_list;
 
interface
        type
TInfo=integer;
Tlist=^Node;
Node=record
     info:TInfo;
     next:Tlist;
end;
  Procedure Create_Order_from_file(var L:Tlist; file_name:string);
  Procedure Print_to_file(L:Tlist; file_name:string);
  Procedure Clear(var L:Tlist);
    Function Del_After_Node(var Pnode:TList):TInfo; 
     
 
implementation
    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_after_Node(var PNode:TList; new_elem:TInfo); 
var p:TList; 
begin 
new(p); 
p^.info:=new_elem; 
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_elem:TInfo):TList;
begin
result:=L;
While(result^.next<>nil) and (result^.next^.info< new_elem) do
result:=result^.next;
end;
 
Procedure Create_Order_from_file(var L:TList; file_name:string);
var f:Textfile;
new_elem:TInfo;
place:TList;
begin
Init(L);
AssignFile(f,file_name);
Reset(f);
While not eof(f) do
begin
read(f,new_elem);
place:=Found_place(L, new_elem);
Add_after_Node (Place,new_elem);
end;
closeFile(f);
end;
 
Procedure Print_to_file(L:TList; file_name:string);
var
p:TList;
f:Textfile;
begin
p:=L^.next;
AssignFile(f,file_name);
Rewrite(f);
While p<> nil do
begin
Write(f,p^.info, ' ');
p:=p^.next;
end;
CloseFile(f);
end;
 
Procedure Clear(var L:TList);
begin
While not Empty(L) do
Del_after_Node(L);
dispose(L);
end;
 
 
end.
Ответить с цитированием