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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2016, 00:25   #11
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

а в первом столбце вашего StringGrid какие данные??
покажи как он у вас заполняется(итог заполнения) код как вы заполняете матрицу. ??
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 30.05.2016, 00:34   #12
nila
Пользователь
 
Регистрация: 28.05.2016
Сообщений: 10
По умолчанию

Вот как выглядит матрица, которую нужно заполнить.
Изображения
Тип файла: jpg Безымянный.jpg (55.2 Кб, 143 просмотров)
nila вне форума Ответить с цитированием
Старый 30.05.2016, 01:18   #13
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

чет я вообще не хрена не понял.
но точно могу сказать как исправить момент с выскакиванием ошибки для первой строки. вместо нолика напишите единичку а то у вас текст пытается перевести в число.
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 30.05.2016, 09:38   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от nila Посмотреть сообщение
Вот как выглядит матрица, которую нужно заполнить.
Во-первых, "нужно" заполнить и "заполненная" матрица - это совсем разные вещи. Вы же, как раз жаловались, что программа выдаёт ошибку при попытке преобразовать пустую ячейку в число?!

во-вторых, если нужно игнорировать пустые ячейки, то можете взять код из моего примера. Хотя, боюсь, что банально игнорировать ячейки - это некорректно, нужно изменять алгоритм вычисления или просто ругаться и выдавать сообщение о том, что матрица не заполнена!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.05.2016, 14:18   #15
nila
Пользователь
 
Регистрация: 28.05.2016
Сообщений: 10
По умолчанию

считайте, что она заполнена.
а ошибку выдает, наверное, потому что матрица может быть размерностью от (3х3) до (11х11). и когда в коде я прописываю формулу для 11 строк, а потом выбираю матрицу 3х3, оно не понимает для чего в коде прописаны остальные формулы, если этих строк там нету.
nila вне форума Ответить с цитированием
Старый 30.05.2016, 14:26   #16
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

nila, Вы меня извините, но у меня такое чувство, что Вы не полностью читаете ответы!

Раз программа выдаёт ошибку, значит, ошибка есть.
В чём она заключается - не знаю.
выложите архив с исходниками проекта.
выложите скриншот, где матрица заполнена (и выдаётся ошибка).

Ну, либо продолжайте в том же духе - читайте ответы по диагонали, выбирайте текст, который Вам понравился, отвечайте на него и продолжайте исправлять баги. Если не бросите, то всё у Вас получится. в конце концов.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.05.2016, 15:12   #17
nila
Пользователь
 
Регистрация: 28.05.2016
Сообщений: 10
По умолчанию

вот заполненный SG и ошибка которую выдает.
Изображения
Тип файла: jpg Безымянный1.jpg (80.7 Кб, 145 просмотров)
nila вне форума Ответить с цитированием
Старый 30.05.2016, 15:20   #18
nila
Пользователь
 
Регистрация: 28.05.2016
Сообщений: 10
По умолчанию

Вот код:
procedure TForm3.Button1Click(Sender: TObject);
var i:integer;
pr:real;
begin
pr:=1;
For i:=0 to StringGrid1.ColCount-1 do
pr:=pr*StrToFloat(StringGrid1.Cells[i,1]);
pr:=exp(1/7*ln(pr));
Edit1.Text:=FloatToStr(pr);
pr:=1;
For i:=0 to StringGrid1.ColCount-1 do
pr:=pr*StrToFloat(StringGrid1.Cells[i,2]);
pr:=exp(1/7*ln(pr));
Edit2.Text:=FloatToStr(pr);
pr:=1;
For i:=0 to StringGrid1.ColCount-1 do
pr:=pr*StrToFloat(StringGrid1.Cells[i,3]);
pr:=exp(1/7*ln(pr));
Edit5.Text:=FloatToStr(pr);
pr:=1;
For i:=0 to StringGrid1.ColCount-1 do
pr:=pr*StrToFloat(StringGrid1.Cells[i,4]);
pr:=exp(1/7*ln(pr));
Edit4.Text:=FloatToStr(pr);
end;
nila вне форума Ответить с цитированием
Старый 30.05.2016, 16:13   #19
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

либо используйте десятичную точку в качестве разделителя целой и дробной части, либо в коде пишите замену.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В матрице найти сумму и произведение элементов строк - С++ SenkShow C++ Builder 4 21.09.2015 21:25
11. Найти произведение элементов нечетных строк массива. Вывести сам массив и произведение. p-6 Паскаль, Turbo Pascal, PascalABC.NET 1 29.11.2012 23:37
Матрица. Найти произведение элементов, чьи номера строк и столбцов содержатся в S1 и S2 (Паскаль) Aimet Помощь студентам 0 16.06.2011 20:27
Копирование строк в StringGrid nulyjarden Помощь студентам 4 30.04.2011 13:09