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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2013, 08:15   #1
Abay19941308
Пользователь
 
Регистрация: 29.10.2012
Сообщений: 64
По умолчанию перемножение ячеек в stringgrid

У меня есть 2 stringgrid. Необходимо их перемножить . Ячейка StringGrid1.Cells[5,1] должна умножаться на StringGrid2.Cells[2,1]
Затем результат заносится в ячейку StringGrid1.Cells[5,2]. Полученный резульат в ячейке StringGrid1.Cells[5,2] мы должны умножить на ячейку
StringGrid2.Cells[2,2] результат заносится в ячейку StringGrid1.Cells[5,3] и так до тех пор пока не закончится цикл for.
У меня выводит результат сразу в последнюю ячейку и перемножает только первое значение. Помогите пожалуйста!!!

Код:
P:=1/(1+zn);
StringGrid1.Cells[5,1]:=floatToStr(p);

for j:=2 to n do begin
  SP:=P*StrToFloat(StringGrid2.Cells[2,j]);
  StringGrid1.Cells[5,i]:=floatToStr(sp);
Изображения
Тип файла: jpg Снимок.JPG (83.6 Кб, 143 просмотров)

Последний раз редактировалось Serge_Bliznykov; 26.09.2013 в 08:35.
Abay19941308 вне форума Ответить с цитированием
Старый 26.09.2013, 08:35   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

во-первых, на рисунках не видно, где какой грид (где грид1, а где грид2), поэтому лучше выкладывать исходный код проекта (в виде архива, конечно).

во-вторых, Вы, надеюсь, не забыли, что в этом криворукосделанном (имхо) TStringGrid в методе Cells идёт сначала указание индекса СТОЛБЦА, потом - индекса СТРОКИ.

в-третьих, крайне рекомендую во всех операция с циклом использовать не абстрактную переменную N, а конкретно число строк (и/или столбцов, в зависимости от цикла) того грида, который обрабатывается. Иначе это привёдет к трудноуловимым глюкам и багам!


так, что ли?
Код:
P:=1/(1+zn);
StringGrid1.Cells[5,1]:=floatToStr(p);

for j:=2 to n do begin
  P:=P*StrToFloat(StringGrid2.Cells[2,j]);
  StringGrid1.Cells[5,i] := floatToStr(P);
end;

Последний раз редактировалось Serge_Bliznykov; 26.09.2013 в 08:54.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемножение столбцов в StringGrid artemavd Общие вопросы Delphi 6 28.12.2010 12:18
Перемножение ячеек MrDeimos Microsoft Office Excel 2 24.10.2010 18:09
Перемножение 2х ячеек из разных таблиц MichaelL Microsoft Office Access 1 29.09.2010 12:11
Объединение ячеек StringGrid Македонский Общие вопросы Delphi 1 15.11.2007 12:07