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
 
Start new topic
Ответов
Tervyn
сообщение 18 Dec 2008, 20:39 (Сообщение отредактировал Tervyn - 18 Dec 2008, 20:41)
Сообщение #2

Immortal
Сообщений: 523
Спасибо сказали: 35 раз




Шайдар, ну разок помочь сдать лабы и получить зачет можно ведь? Ты же всегда на форуме таким не предвзятым выглядишь, а тут так четко прослеживается неприязнь к человеку. У меня были знакомые которые для двух последовательных циклов (не вложенных) заводили две переменные в программе, и не понимали почему одной можно обойтись. Ты бы их тоже осудил? А они учились по специальности ...ммм... не вспоню щас, но лабы по кафедральным предметам - паять микросхемы. Зачем им Паскаль? А зачет сдавать нужно... Да и потом - я же комментирую как и что делаю. Вот помню у меня был курс в универе - Теория Языков Программирования. И третья лаба из пяти была написать интерпретатор заданного языка программирования (не целиком, а только часть функций). Я вроде все правильно делал - а прога уходила в бесконечный цикл. Подхожу к преподу - так мол и так, а он на меня смотрит широко раскрытыми глазами и говорит - я не понимаю почему не работает, все вроде правильно. Препод асприрант был, и не из лучших. Я потратил три месяца, нашел ошибку (грамматика языка не верно была задана, а прога нормальная) и сдал лабу. Но я ведь с 10ти лет программированием увлекся, мне интересно было. Да и время было. А одногрупники скатывали прогу тупо и пытались сдавать. И они кстати действительно не заменили бы целочисленной деление на дробное. Только как такому преподу сдавать? Препод ведь не только принимать должен, но и помочь если все плохо. А не говорить что сам не понимает. Ситуации разные бывают...


Спасибо сказали:
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

 



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