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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2011, 13:15   #1
Vitalina69
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 16
По умолчанию Среднее арифметичекое в списке

Нужно найти среднее арифметическое значение чисел в списке L
Написала код, но он не работает, не пойму где ошибка, подскажите, если не трудно....
Код:
unit Unit1;
..................

type
   pEl=^El;
   El=record
   d:Integer;
   next:pEl;
   end;
  TForm1 = class(TForm)
  ......................

var
pBeg,pHelp,pEnd: pEl;
  Form1: TForm1;

implementation

{$R *.dfm}

Procedure CreateSp;// процедура создания списка
begin
New(pBeg);
New(pEnd);
pBeg.d:=-1;
pEnd.d:=-1;
pEnd.next:=nil;
pBeg.next:=pEnd;
end;

Procedure Add(x:Integer);// процедура добавления элемента в список
begin
New(pHelp);
pHelp.d:=-1;
pHelp.next:=nil;
pEnd.d:=x;
pEnd.next:=pHelp;
pEnd:=pHelp;
end;

Procedure ShowSp(Memo1:TMemo);// Процедура вывода списка на экран
begin
Memo1.Clear;
pHelp:=pBeg.next;
while pHelp.next<>nil do
begin
Memo1.Lines.Add(IntToStr(pHelp.d)) ;
pHelp:=pHelp.next;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
CreateSp;
end;

procedure TForm1.Button5Click(Sender: TObject);
var a:integer;
begin
a:=StrToInt(Edit1.Text);
Add(a);
ShowSp(Memo1);
Edit1.Text:='';
end;

procedure TForm1.Button9Click(Sender: TObject);//считаю ср.арифм
var k,s:integer;
d:real;
begin
k:=0;
s:=0;
pHelp:=pBeg;
begin
while pHelp.next<>nil do
Begin
s:=s+pHelp.d;
pHelp:=pHelp.next;
end;
k:=k+1;
end;
d:=s/k;
Edit5.Text:=FloatToStr(d);
end;

end.

вот отдельно процедурка для среднего арифм на всякий случай

Код:
procedure TForm1.Button9Click(Sender: TObject);
d:real;
begin
k:=0;
s:=0;
pHelp:=pBeg;
begin
while pHelp.next<>nil do
Begin
s:=s+pHelp.d;
pHelp:=pHelp.next;
end;
k:=k+1;
end;
d:=s/k;
Edit5.Text:=FloatToStr(d);
end;
Vitalina69 вне форума Ответить с цитированием
Старый 02.04.2011, 13:32   #2
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

[QUOTE=Vitalina69;769602]Нужно найти среднее арифметическое значение чисел в списке L
Написала код, но он не работает, не пойму где ошибка, подскажите, если не трудно....[CODE]unit Unit1;
..................

Debag'ом то не пользуешься что ли?
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 02.04.2011, 13:37   #3
Vitalina69
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 16
По умолчанию

ByAlex, если бы я знала как, научишь?)))))
Vitalina69 вне форума Ответить с цитированием
Старый 02.04.2011, 16:25   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Нужно найти среднее арифметическое значение чисел в списке L
Код:
Procedure ShowSp(Memo1:TMemo);// Процедура вывода списка на экран
var sa:double;i:integer;
begin
Memo1.Clear;i:=0;sa:=0;
pHelp:=pBeg.next;
while pHelp.next<>nil do begin sa:=sa+pHelp.d;inc(i);
 Memo1.Lines.Add(IntToStr(pHelp.d)) ;
 pHelp:=pHelp.next;
end;
if i<>0 then ShowMessage(FloatToStr(sa/i));
end;
Идея понятна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.04.2011, 11:42   #5
Vitalina69
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 16
По умолчанию

Да, спасибо огромное! А вывод среднего арифметического обязательно нужно делать одновременно с процедурой вывода списка на экран? или это можно как то сделать в отдельной кнопке?
Vitalina69 вне форума Ответить с цитированием
Старый 03.04.2011, 12:01   #6
Vitalina69
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 16
По умолчанию

Все, сделала в отдельной кнопке, и ошибку нашла совою, спасибо еще раз за идею)))))
Vitalina69 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка в списке Uroboros Помощь студентам 17 18.01.2011 22:04
Делфи.среднее геометрическое элементов массива.среднее арифметическое каждой строки матрицы Karrina Помощь студентам 0 06.12.2010 18:32
удаление в списке zhenya.ya Помощь студентам 0 07.06.2010 21:08
поиск IP в списке TaTT DoGG PHP 6 13.08.2008 18:53