Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 12.12.2010, 23:37
juggle juggle вне форума
Прохожий
 
Регистрация: 12.12.2010
Сообщения: 24
Репутация: -20
По умолчанию

DJ PhoeniX,
Вот это место вообще сбивает меня с последнего толку:
Код:
 m:=StringGrid1.ColCount; // ??
  n:=StringGrid1.RowCount; // ??
  for i:=0 to m-1 do
    for j:=0 to n-1 do
      a[i,j] := StrToInt(StringGrid1.Cells[i,j]);
Если m это кол-во столбцов, то почему она идет в цикле по i, а не по j ?

PS. То что она меняется хотя бы в одну сторону для меня является личным достяжеинем сама ведь написала, а не скопировала у кого-нибудь
PPS. Да я сохранила уже rar с *.exe, но он по размеру не прошел для аттача, пришлось выбрать что-то для удаления....
PPPS. У меня Delphi6

BoRoV,
ты прав конечно, но я там не правила потому, что уверена была что он туда и не доходит, валиться раньше.

Admin -у (если прочтешь)
Я научилась пользоваться тегами для кода!!! <happy>
Ответить с цитированием
  #17  
Старый 12.12.2010, 23:41
Аватар для BoRoV
BoRoV BoRoV вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 193
Репутация: 12694
По умолчанию

У меня после той правки всё нормально работало, с какой размерностью ты работаешь?
__________________
Меня греют ваши плюсы к моей репутации...
Ответить с цитированием
  #18  
Старый 12.12.2010, 23:57
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

juggle, я же сказал, что писал прямо тут, и могу ошибиться. Если не правильно - поменяй местами. Остальной-то код рабочий?
PPPS. Значит, промахнулся
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #19  
Старый 13.12.2010, 00:26
juggle juggle вне форума
Прохожий
 
Регистрация: 12.12.2010
Сообщения: 24
Репутация: -20
По умолчанию

У меня сработало, когда я ввела m=n=p=q=2
Но если я задаю например m=1, n=p=2, q =3 (ожидаю получить матрицу 1х3), то вот как раз первоначальная ошибка выходит.
Ответить с цитированием
  #20  
Старый 13.12.2010, 00:31
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Выложи обновлённый код, и покажи строчку, где вылетает. Любопытный глюк.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #21  
Старый 13.12.2010, 00:48
juggle juggle вне форума
Прохожий
 
Регистрация: 12.12.2010
Сообщения: 24
Репутация: -20
По умолчанию

Вот он. Ошибка вылетает на той же строке, пометила ее как The error here.
Вложения
Тип файла: rar LR_7_2.rar (8.4 Кбайт, 15 просмотров)
Ответить с цитированием
  #22  
Старый 13.12.2010, 00:52
Аватар для BoRoV
BoRoV BoRoV вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 193
Репутация: 12694
По умолчанию

Поменяй все StringGrid.Сells[i, j] на StringGrid.Сells[j, i] и цикл для l тоже с нуля.
и еще это
Код:
x[i,j]:=x[i,j]+a[i, l]*b[l, j];
Ну в общем вот:
Код:
  // задаем колчиство строк и стобцов
  m := StrToInt(Edit1.Text);
  n := StrToInt(Edit2.Text);
  {
  StringGrid1.RowCount := n;
  StringGrid1.ColCount := m;
  // StringGrid1
  // Считываем значения с матриц }
  for i:=0 to m-1 do {цикл по строкам}
    for j:=0 to n-1 do {цикл по столбцам}
      a[i,j] := StrToInt(StringGrid1.Cells[j,i]);

  p:=StrToInt(Edit2.Text);
  q:=StrToInt(Edit4.Text);
  for i:=0 to p-1 do {цикл по строкам}
    for j:=0 to q-1 do {цикл по столбцам}
       b[i,j] := StrToInt(StringGrid2.Cells[j,i]);

  // перемножаем матрицы
  For i:= 0 to m-1 do
    For j:= 0 to q-1 do
    Begin
      x[i,j]:=0;
      For l:= 0 to n-1 do
      begin
        x[i,j]:=x[i,j]+a[i, l]*b[l, j];
      end;
    end;
  // выводим значение в результирующую матрицу
  for i:=0 to m-1 do
  begin
    for j:=0 to q-1 do
    begin
      StringGrid3.cells[j, i]:=IntToStr(x[i,j]);
    end;
  end;
__________________
Меня греют ваши плюсы к моей репутации...

Последний раз редактировалось BoRoV, 13.12.2010 в 01:09.
Ответить с цитированием
  #23  
Старый 13.12.2010, 01:00
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

гм... не нравится мне этот глюк. при чём, именно глюк, так как при размерности 3*2 цикл пытается пройти по третьей строке... которой, ессно, нет...
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #24  
Старый 13.12.2010, 22:44
juggle juggle вне форума
Прохожий
 
Регистрация: 12.12.2010
Сообщения: 24
Репутация: -20
Хорошо

BoRoV,
да! работает!!! Е-хоу!!! Спасибо.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:49.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025