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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2009, 20:10   #1
gree
Пользователь
 
Аватар для gree
 
Регистрация: 28.10.2008
Сообщений: 34
Сообщение Найти среднее арифметическое массива.

Всем привет. Прошу помощи в написании програмки которая находит среднее арифметическое модулей всех значений ячеек массива. всего ячеек 6. тип массива одномерный. В принципе вот мой код.. но он не идет.(
помогите найти ошибку.. среда: делпхи.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var a,b:array[1..6] of integer;
    i,s,rez:integer;
begin
s:=0;
for i:=1 to 6 do
a[i]:=StrToInt(StringGrid1.cells[i-1,0]);
for i:=1 to 6 do
b[i]:= abs(a[i]);
StringGrid2.Cells[i-1,0]:=IntToStr(b[i]);
s:=s+b[i];
end;
rez:=(s/6);
label1.caption:= inttostr(rez);
end.
Помогите пожалуйста(
Быть подлинно здравомыслящим уже означает много знать..
gree вне форума Ответить с цитированием
Старый 13.05.2009, 20:13   #2
DM_bite
Участник клуба
 
Аватар для DM_bite
 
Регистрация: 29.07.2008
Сообщений: 1,091
По умолчанию

Код:
rez:=(s/6);
А может так?
Код:
rez:=s div 6;
Кто бы ты ни был - не думай о себе слишком (с)
DM_bite вне форума Ответить с цитированием
Старый 13.05.2009, 20:18   #3
gree
Пользователь
 
Аватар для gree
 
Регистрация: 28.10.2008
Сообщений: 34
По умолчанию

Красным всё ровно выделяет..
Быть подлинно здравомыслящим уже означает много знать..
gree вне форума Ответить с цитированием
Старый 13.05.2009, 20:19   #4
DM_bite
Участник клуба
 
Аватар для DM_bite
 
Регистрация: 29.07.2008
Сообщений: 1,091
По умолчанию

Цитата:
Красным всё ровно выделяет..
Тогда иначе... Какая ошибка?

Код:
procedure TForm1.Button1Click(Sender: TObject);
var a,b:array[1..6] of integer;
    i,s,rez:integer;
begin
s:=0;
for i:=1 to 6 do
a[i]:=StrToInt(StringGrid1.cells[i-1,0]);
for i:=1 to 6 do
b[i]:= abs(a[i]);
StringGrid2.Cells[i-1,0]:=IntToStr(b[i]);
s:=s+b[i];
end;
rez:=(s div 6);
label1.caption:= inttostr(rez);
end;
end.
Не там end... и целочисленное деление это div как я уже сказал, а не /
Кто бы ты ни был - не думай о себе слишком (с)

Последний раз редактировалось DM_bite; 13.05.2009 в 20:33.
DM_bite вне форума Ответить с цитированием
Старый 13.05.2009, 20:22   #5
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

rez должна быть типа real...
Levsha100 вне форума Ответить с цитированием
Старый 13.05.2009, 21:04   #6
gree
Пользователь
 
Аватар для gree
 
Регистрация: 28.10.2008
Сообщений: 34
Сообщение

[Pascal Error] Unit1.pas(42): E2029 Declaration expected but identifier 'rez' found

Код:
procedure TForm1.Button1Click(Sender: TObject);
var a,b:array[1..6] of integer;
    i,s,rez:integer;
begin
s:=0;
for i:=1 to 6 do
a[i]:=StrToInt(StringGrid1.cells[i-1,0]);
for i:=1 to 6 do
b[i]:= abs(a[i]);
StringGrid2.Cells[i-1,0]:=IntToStr(b[i]);
s:=s+b[i];
end;
rez:= (s div 6);
label1.caption:= inttostr(rez);
end;
end.
А можно внутри программы прописать чтоб переменная меняла тип после действия сложения всех значений? и потом уже делить.. ? или не то думаю?
Быть подлинно здравомыслящим уже означает много знать..
gree вне форума Ответить с цитированием
Старый 13.05.2009, 21:52   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var a,b:array[1..6] of integer;
    i,s,rez:integer;
begin
 s:=0;
 for i:=1 to 6 do
  a[i]:=StrToInt(StringGrid1.cells[i-1,0]);
 for i:=1 to 6 do
  begin
   b[i]:= abs(a[i]);
   StringGrid2.Cells[i-1,0]:=IntToStr(b[i]);
   s:=s+b[i];
  end;
 rez:= (s div 6);
 label1.caption:= inttostr(rez);
end;
я пологаю что должно было, быть так...
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить сумму элементов главной и побочной диагонали двумерного массива , найти среднее арифметическое neBu4kaMaXiM Помощь студентам 7 24.02.2009 15:58
вычислить номер и величину максимального элемента массива, произведение элементов, среднее арифметическое Romer9999 Паскаль, Turbo Pascal, PascalABC.NET 6 19.01.2009 16:35
В заданном целочисленном двумерном массиве найти среднее арифметическое в каждой строке Rise Паскаль, Turbo Pascal, PascalABC.NET 3 06.01.2009 00:55
Матрицы. Найти среднее арифметическое Waia Помощь студентам 1 06.11.2008 17:22