|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#16  
			
			
			
			
		 | |||
| 
 | |||
|   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]);PS. То что она меняется хотя бы в одну сторону для меня является личным достяжеинем  сама ведь написала, а не скопировала у кого-нибудь PPS. Да я сохранила уже rar с *.exe, но он по размеру не прошел для аттача, пришлось выбрать что-то для удаления....   PPPS. У меня Delphi6 BoRoV, ты прав конечно, но я там не правила потому, что уверена была что он туда и не доходит, валиться раньше. Admin -у (если прочтешь) Я научилась пользоваться тегами для кода!!! <happy> | 
| 
			 
			#17  
			
			
			
			
		 | ||||
| 
 | ||||
|   У меня после той правки всё нормально работало, с какой размерностью ты работаешь? | 
| 
			 
			#19  
			
			
			
			
		 | |||
| 
 | |||
|   У меня сработало, когда я ввела m=n=p=q=2 Но если я задаю например m=1, n=p=2, q =3 (ожидаю получить матрицу 1х3), то вот как раз первоначальная ошибка выходит. | 
| 
			 
			#20  
			
			
			
			
		 | ||||
| 
 | ||||
|   Выложи обновлённый код, и покажи строчку, где вылетает. Любопытный глюк. | 
| 
			 
			#21  
			
			
			
			
		 | |||
| 
 | |||
|   Вот он. Ошибка вылетает на той же строке, пометила ее как The error here. | 
| 
			 
			#22  
			
			
			
			
		 | ||||
| 
 | ||||
|   Поменяй все 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  
			
			
			
			
		 | ||||
| 
 | ||||
|   гм... не нравится мне этот глюк. при чём, именно глюк, так как при размерности 3*2 цикл пытается пройти по третьей строке... которой, ессно, нет... | 
| 
			 
			#24  
			
			
			
			
		 | |||
| 
 | |||
|   BoRoV, да! работает!!! Е-хоу!!! Спасибо.  |