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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2012, 17:57   #1
domino_harvey
 
Регистрация: 26.12.2012
Сообщений: 4
По умолчанию Вывод матрицы в stringgrid(C++).

Помогите, пожалуйста, найти ошибку. Задача: в StringGrid1 с клавиатуры вводится матрица, затем транспонируется и выводится в StringGrid2. При нажатии Button3 выдает сообщение Access violation at address.

Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  k=StrToInt(Edit1->Text);
  m=StrToInt(Edit2->Text);


   StringGrid1->ColCount=m;
   StringGrid1->RowCount=k;

   rowCount2=StrToInt(Edit2->Text);
   colCount2=StrToInt(Edit1->Text);

   StringGrid2->ColCount=k;
   StringGrid2->RowCount=m;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
Matrix1=new int *[StringGrid1->RowCount];
	for (int i = 0; i < k ; i++)
	{
        Matrix1 [i]= new int [StringGrid1->ColCount];
	  for (int j = 0; j < m; j++)
	  {
	   Matrix1[i][j]=StrToInt(StringGrid1->Cells[j][i]);
	  }
	}
        Matrix2=new int *[StringGrid2->RowCount];

     for (int k = 0; k < StringGrid2->RowCount; k++)
     	{
        Matrix2[k]= new int [StringGrid2->ColCount];
	  for (int m = 0; m < StringGrid2->ColCount; m++)
	  {
          StringGrid2->Rows[m]->Clear();
          StringGrid2->Cols[k]->Clear();
          }
          }
}

//---------------------------------------------------------------------------


void __fastcall TForm1::Button3Click(TObject *Sender)
{
               for (int i=0; i<= k; i++)
	       {
                   for (int j = 0; j <= m; j++)
	            {
                    temp=Matrix1[j][i];
                 
                     }
               }
              for (int k = 0; k <= StringGrid2->RowCount; k++)
              {
	          for (int m = 0; m <=StringGrid2->ColCount; m++)
                      Matrix2[k][m]=temp;
               }

    Matrix2[k][m]=StrToInt(StringGrid2->Cells[m][k]);

  }

Последний раз редактировалось domino_harvey; 26.12.2012 в 18:01.
domino_harvey вне форума Ответить с цитированием
Старый 26.12.2012, 18:34   #2
studen
Пользователь
 
Регистрация: 21.05.2012
Сообщений: 88
По умолчанию

В button3_click в циклах стоит знак меньше или равно. Нужно использовать знак строго меньше.
studen вне форума Ответить с цитированием
Старый 26.12.2012, 18:39   #3
domino_harvey
 
Регистрация: 26.12.2012
Сообщений: 4
По умолчанию

Исправила. Теперь выдает сообщение is not integer value
domino_harvey вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
StringGrid ввод матрицы mTRIX C++ Builder 1 11.11.2012 16:06
Вывод матрицы из файла в StringGrid Heng Помощь студентам 1 29.09.2012 13:30
Вывод StringGrid в Excel. Asblue Помощь студентам 0 01.11.2010 19:11
Вывод из StringGrid program123 Общие вопросы Delphi 1 16.06.2009 22:43
Вывод числа в stringGrid Rusl92 Общие вопросы Delphi 1 19.10.2008 17:48