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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2020, 16:03   #1
Ol R
Новичок
Джуниор
 
Регистрация: 18.03.2020
Сообщений: 2
По умолчанию Delphi: Матрица в Stringgrid

Дана вещественная прямоугольная матрица A размерностью n×m. Необходимо каждый элемент соответствующей строки разделить на сумму элементов этой строки.

Код:
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
StringGrid1.RowCount := SpinEdit1.Value;
end;

procedure TForm1.SpinEdit2Change(Sender: TObject);
begin
StringGrid1.ColCount := SpinEdit2.Value;
end;

//Вот здесь ошибка
procedure TForm1.Button1Click(Sender: TObject);
var
 A : array[1..10,1..10] of real;
 i,j,n,m: byte;
 s:double;
begin
 n := StringGrid1.RowCount;
 m := StringGrid1.ColCount;
 For i:=1 to n do
Begin
 s:=0;
 For j:=1 to m do
 s:=s+A[i,j];
 For j:=1 to n do
Begin
 A[i,j]:=A[i,j]/s;
 A[i,j] := StrToFloat(StringGrid1.Cells[j,i]);
 end;
 end;
 end;
Выдаёт ошибку: is not a valid floating point value
Изображения
Тип файла: jpg хелп.jpg (96.3 Кб, 0 просмотров)
Ol R вне форума Ответить с цитированием
Старый 18.03.2020, 17:03   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
s not a valid floating point value
ну так матрицу надо сначала заполнить числами а уж потом можно будет вычислять.
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 18.03.2020, 17:05   #3
Ol R
Новичок
Джуниор
 
Регистрация: 18.03.2020
Сообщений: 2
По умолчанию

Я итак заполняла, когда она запустилась. Использовала запятую, и точку, и всяко разно
Ol R вне форума Ответить с цитированием
Старый 19.03.2020, 17:03   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Код:
 n := StringGrid1.RowCount;
в таблице нумерация строк(и столбцов) начинается с нуля (0) заканчивается(рабочая заполненная часть) n-1.
Цитата:
Код:
 For i:=1 to n do
либо исправьте здесь 0..n-1
и тогда надо будет еще править
Цитата:
Код:
 A : array[1..10,1..10] of real;
также на 0...
либо
Код:
A[i,j] := StrToFloat(StringGrid1.Cells[j-1,i-1]);
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
delphi. матрица в StringGrid. чего не работет прога tec46 Помощь студентам 7 29.12.2011 23:34
Delphi. Графы. Матрица смежности. StringGrid. Mr_freeman Помощь студентам 10 05.10.2011 19:19
Delphi. Матрица (StringGrid) StudentMarat Помощь студентам 1 17.02.2011 03:21
Матрица в StringGrid aurora_87 Общие вопросы C/C++ 1 22.12.2010 14:55
матрица в Delphi (StringGrid) kukushonka Помощь студентам 7 01.06.2010 20:08