IPB

Здравствуйте, гость ( Вход | Регистрация )

> стеки и очереди в паскале (доделать)
Palpalich
сообщение 18 Dec 2008, 18:23
Сообщение #1

Newbie
Сообщений: 31
Спасибо сказали: 0 раз




люди помогите дорешать задачу:
Сформировать файл из натуральных чисел. Разработать функцию, вычисляющую среднее арифметическое элементов списка, построенного из элементов файла.
CODE
program StackDemo;
uses crt;
const
AFileName = 'file.txt';
type
PIntStack = ^TIntStack;
TIntStack = record
Data: Integer;
Next: PIntStack;
end;
stek= PIntStack;
procedure Init(var AStack: PIntStack);
begin
AStack := nil;
end;
procedure Done(var AStack: PIntStack);
var
P: PIntStack;
begin
while (AStack <> nil) do
begin
P := AStack^.Next;
dispose(AStack);
AStack := P;
end;
end;
procedure Push(AData: Integer;var AStack: PIntStack);
var
P: PIntStack;
begin
P := nil;
New(P);
if (P = nil) then Exit;
P^.Data := AData;
P^.Next := AStack;
AStack := P;
end;
function Pop(var AData: Integer; var AStack: PIntStack): Boolean;
var
P: PIntStack;
begin
if (AStack = nil) then
begin
Pop := False;
Exit;
end;
P := AStack^.Next;
AData := AStack^.Data;
dispose(AStack);
AStack := P;
Pop := True;
end;
var
F: file of integer;
S: PIntStack;
X, Z, Y: Integer; q:real;
begin clrscr;
Assign(F, 'file.txt');
rewrite(F);
WriteLn('vvedite chisla');
repeat
readln(x);
write(F,x);
until x=0;
close(F);
Assign(F, 'file.txt');
Reset(F);
while not Eof(F) do
begin
Read(F, X);
Push(X, S);
end;
Close(F);
Z := 0;
Y := 0;
while Pop(X, S) do
begin
Y := Y + X;
Z := Z + 1;
end;
q := Y/Z;
WriteLn('srednee ar: ', q);
done(s);
readkey;
end.



в принципе задача решена, но не доделана... мне нужно заталкать вот это
CODE
Z := 0;
Y := 0;
while Pop(X, S) do
begin
Y := Y + X;
Z := Z + 1;
end;
q := Y/Z;

в процедуру, т.к. в условии сказано.. и ещё нужно определить конец ввода, т.к. если сделать его =0, то ноль тоже будет вычисляться... помогите плиииз...

Паапрасил бы оформлять посты по-человечески. //Неизвестный Модератор
Go to the top of the pageAdd Nick
 
+Quote Post

Сообщений в этой теме
- Palpalich   стеки и очереди в паскале (доделать)   18 Dec 2008, 18:23
- - Tervyn   Ну запихнуть в функцию не проблема, добавляется фу...   18 Dec 2008, 19:27
- - Palpalich   Tervyn я тебе по гроб жизни обязан буду!!...   18 Dec 2008, 19:35
- - Tervyn   Да мелочи)   18 Dec 2008, 19:38
|- - Shaidar Haran   Цитата(Tervyn @ 18 Dec 2008, 21:38)Да мелочи)...   18 Dec 2008, 20:12
- - Chrono Syndrome   Да пусть бежит, пока ведет себя пристойно. Нам что...   18 Dec 2008, 20:32
- - Tervyn   Шайдар, ну разок помочь сдать лабы и получить заче...   18 Dec 2008, 20:39
- - Shaidar Haran   Я в данный момент веду как раз то, о чем он просит...   18 Dec 2008, 21:05
- - Tervyn   Шайдар, если предмет не является профилирующим и д...   18 Dec 2008, 21:48
|- - Shaidar Haran   Цитата(Tervyn @ 18 Dec 2008, 23:48)Шайдар, ес...   18 Dec 2008, 21:54
- - Tervyn   Если не обращает на предмет, то да. А если "п...   18 Dec 2008, 22:12
- - Palpalich   на самом деле нам динамику плохо объяняли, точнее ...   19 Dec 2008, 09:35
- - Tervyn   Можно попробовать так (должно сработать): КодWrite...   19 Dec 2008, 10:01
- - Palpalich   спасибо, но я сам допёр до второго варианта.. зачё...   19 Dec 2008, 12:11
- - Dofur   Думаю вряд ли Tervyn согласится делать лабы того ж...   19 Dec 2008, 20:09
- - gilex   друзья у меня к вам просьба: динамику вообще почти...   26 Dec 2008, 00:43
- - Монца   Динамика - это раздел физики   26 Dec 2008, 10:27
- - gamecreator   Монца, учим матчасть   26 Dec 2008, 19:13


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 25 February 2026 - 07:02
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика