Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2008, 10:47   #1
palich
 
Регистрация: 30.11.2008
Сообщений: 4
Восклицание Однонаправленные списки, стеки и очереди

пожалуста помогите решить задачи на паскале:
Однонаправленные списки
Сформировать файл из символов, оканчивающихся точкой и выбросить из списка, построенного из элементов файла, круглые и квадратные скобки.

Стеки и очереди
Сформировать файл из натуральных чисел. Разработать функцию, вычисляющую среднее арифметическое элементов списка, построенного из элементов файла.
palich вне форума Ответить с цитированием
Старый 16.01.2009, 03:38   #2
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

2)

Код:
program capta1n;
type

  link = ^linelink;
  linelink = record
              number : word;
              next : link
             end;

var
  start,last : link;
  c : word;
  sr : real;
  f1 : text;

  procedure list ( var top, last : link; n1 : word );
  begin

    if top=nil then
    begin
      new(top);
      top^.number:=n1;
      last:=start;
      last^.next:=nil
    end
    else
    begin
      new(last^.next);
      last:=last^.next;
      last^.number:=n1;
      last^.next:=nil
    end

  end;


  function middle ( var top : link ) : real;
  var
    last : link;
    count : byte;
    mid : word;
  begin
    last:=top;
    count:=0;
    middle:=0;
    if top<>nil then
    begin

      mid:=0;
      while last<>nil do
      begin
        mid:=mid+last^.number;
        inc(count);
        last:=last^.next
      end;
      middle:=mid/count

    end
  end;
begin

  assign(f1,'in.txt');
  rewrite (f1);
  writeln ('Input number: ');

  readln(c);
  while c<>0 do
  begin
    write (f1,c,' ');
    readln (c)
  end;

  close(f1);
  reset (f1);

    start:=nil;
    last:=nil;
    while not EOF(f1) do
    begin
      read(f1,c);
      if c<>0 then list (start,last,c)
    end;

    close(f1);
    sr:=middle(start);

    writeln(sr:0:2);

    readln
end.
capta1n вне форума Ответить с цитированием
Старый 16.01.2009, 09:28   #3
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию 1

Код:
uses crt;

type TList = ^Node;
      node=record
        x:char;
        next:TList;
      end;
      
var head,k:TList;
    s:string;
    f:text;
    x:char;
    i:integer;
    
procedure Insert(var l,m:TList;x:char);
var cur:TList;

begin
  cur:=l;
while cur^.next<>nil do
 cur :=cur^.next;
 cur^.next:=m;
 m^.next:=nil;
 m^.x:=x;
end;

procedure Print(var x:TList);
var cur:TList;
begin
cur:=head^.next;
while cur^.next<> nil do
begin
 if cur^.x<>#13 then  write(cur^.x);
 cur:=cur^.next;
end;
end;

procedure Look(var l:TList);

procedure Del(var x,m:TList);
var cur:TList;
begin
cur:=x^.next;
while cur^.next<>m do
 cur:=cur^.next;
 cur^.next:=m^.next;
end;


var cur:TList;
    s:set of char;
begin
  s:=['(',')','[',']'];
  cur :=l^.next;
  while cur<>nil do
   begin
    if cur^.x in  s then Del(l,cur);
    cur:=cur^.next;
   end;

end;
    
begin
clrscr;
writeln('->');
readln(s);
assign(f,'c:\1.txt');
rewrite(f);
writeln(f,s);
close(f);
New(head);
head^.next:=nil;
head^.x:=#3;
assign(f,'c:\1.txt');
reset(f);
while not eof(f) do
 begin
  read(f,x);
  new(k);
  Insert(head,k,x);
 end;
close(f);
Look(head);
Print(head);
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стеки (как изменить задачу?) Anita_i Помощь студентам 3 30.11.2009 19:29
Однонаправленные списки в си Марсель059 C++ Builder 18 27.11.2009 13:16
Задачи. Стеки Vladislav_87 Паскаль, Turbo Pascal, PascalABC.NET 1 23.05.2008 16:17