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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2011, 12:42   #1
CallMeJammer
Пользователь
 
Регистрация: 05.04.2011
Сообщений: 14
По умолчанию Сумма строк в StringGrid

Всем привет! прошу помощи! ситуация такая: имеется stringgrid с пятью колонками и произвольным количеством строк которое задается через spinedit! вот мне необходимо определить сумму всех строк по пятому столбцу для дальнейшего нахождения среднего его значения! как это реализовать (нахождение суммы)??
CallMeJammer вне форума Ответить с цитированием
Старый 13.05.2011, 14:19   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

в первой строке, небось, заголовки?!
Если да, то начинаем отсчёт от 1 (иначе от нуля)
Код:
  Sum5 := 0.0;
  for i:=1 to StringGrid1.RowCount-1 do Sum5 := Sum5 + StrToFloat(StringGrid1.Cells[4, i]);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.05.2011, 17:44   #3
CallMeJammer
Пользователь
 
Регистрация: 05.04.2011
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
в первой строке, небось, заголовки?!
Если да, то начинаем отсчёт от 1 (иначе от нуля)
Код:
  Sum5 := 0.0;
  for i:=1 to StringGrid1.RowCount-1 do Sum5 := Sum5 + StrToFloat(StringGrid1.Cells[4, i]);
Sum5 - это что? его объявлять чем?
это можно просто на кнопку писать код или надо функцию создавать Function Sum? а то я не разобрался как эта функция работает(

и вот это выражение: Sum5 := Sum5 + StrToFloat(StringGrid1.Cells[4, i]) я что-то не понял! у тебя Sum5 равно этой же величине плюс.....разве это верно??

Последний раз редактировалось CallMeJammer; 13.05.2011 в 17:57.
CallMeJammer вне форума Ответить с цитированием
Старый 13.05.2011, 20:13   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

попытка номер два.

на форму помещаем кнопку.
На кнопку такой код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var Sum5 : real;
   i : integer;
begin
  Sum5 := 0.0;
  for i:=1 to StringGrid1.RowCount-1
     do Sum5 := Sum5 + StrToFloat(StringGrid1.Cells[4, i]);
  ShowMessage('Сумма всех чисел в 5-м столбце равна '+FloatToStr(Sum5));
end;
p.s.
Цитата:
Sum5 := Sum5 + .... я что-то не понял! у тебя Sum5 равно этой же величине плюс.....разве это верно??
Да верно. Это же классика. Так всегда считается сумма в цикле.
Получается что переменная в себе "накапливает" сумму...
пример. Вы хотите сложить числа 5 10 3 20
вначале переменная S равно нулю.
S := 0;
для первого числа S := S + 5 = 0 + 5 = 5;
для второго: S := S + 10 = 5 + 10 = 15;
для третьего: S := S + 3 = 15 + 3 = 18;
для четвёртого: S := S + 20 = 18 + 20 = 38;

ответ сумма равна 38.

Теперь понятнее?...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.05.2011, 12:43   #5
CallMeJammer
Пользователь
 
Регистрация: 05.04.2011
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
попытка номер два.

на форму помещаем кнопку.
На кнопку такой код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var Sum5 : real;
   i : integer;
begin
  Sum5 := 0.0;
  for i:=1 to StringGrid1.RowCount-1
     do Sum5 := Sum5 + StrToFloat(StringGrid1.Cells[4, i]);
  ShowMessage('Сумма всех чисел в 5-м столбце равна '+FloatToStr(Sum5));
end;
p.s.

Да верно. Это же классика. Так всегда считается сумма в цикле.
Получается что переменная в себе "накапливает" сумму...
пример. Вы хотите сложить числа 5 10 3 20
вначале переменная S равно нулю.
S := 0;
для первого числа S := S + 5 = 0 + 5 = 5;
для второго: S := S + 10 = 5 + 10 = 15;
для третьего: S := S + 3 = 15 + 3 = 18;
для четвёртого: S := S + 20 = 18 + 20 = 38;

ответ сумма равна 38.

Теперь понятнее?...
Да!)) спасибо огромное за помощь, все заработало!!! но есть еще вопрос))) можно ли (а я думаю можно) сделать так сказать перебор чисел по столбцу, чтобы определить те которые меньше единицы! требуется просто определить значения меньше еденицы и вывести сообщение... я просто не пойму как со столбца считать указав ему что все числа используем для определения значений меньше единицы
CallMeJammer вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сумма строк элементов skiffter Общие вопросы C/C++ 1 16.10.2010 00:01
Динамический массив, StringGrid, Сумма элементов (Delphi) GreenPunk Помощь студентам 1 26.06.2010 18:47
StringGrid сумма значений monushka Общие вопросы Delphi 21 26.10.2009 17:12
Сумма значений строк Deni55 Microsoft Office Excel 14 02.06.2009 13:56
Формула (Сумма произведений двух строк) Propan Microsoft Office Excel 2 24.04.2009 14:25