В конечном итоге с классами не разобрался. Массив заполнил использовав совет
spike'а. Только немного изменил код, подогнав под свои нужды.
Сейчас возникла другая трудность. В программе участвуют 10 массивов одинакового размера, со всеми ними будут производиться одни и те же действия, поэтому пришёл к выводу, что нужно написать функцию, как в старом добром "Borland C++" (не Builder), и вызывать её для каждого массива. Для примера:
Код:
void vvodmass (int mass[5][5]) //объявляем функцию
{int i,j;
for (i=0; i<5; i++)
for (j-0; j<5; j++)
cin>>mass[i][j];}
void main()
{int a[5][5], b[5][5];
vvodmass (a); //вызываем функцию для массива "a"
vvodmass (b); //вызываем функцию для массива "b"
}
Так вот решил написать нечто подобное, но не пойму как правильно объявлять функцию. Написал примерно, как в примере:
Код:
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void diagramma(int mass[37][5])
{int i,j,otstup;
otstup=10;
for (i=0; i<35; i++)
{
Image1->(!Здесь выскакивает ошибка!)Canvas->Brush->Color=(TColor)RGB(0,255,0);
Image1->Canvas->Rectangle . . .
//дальше идёт процесс рисования на элементе Image1 столбиков диаграммы.
//Чтобы не грузить вас формулами, стёр всё ненужное.
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{int mass1[37][5],mass2[37][5],mass3[37][5],mass4[37][5],mass5[37][5];
int mass6[37][5],mass7[37][5],mass8[37][5],mass9[37][5],mass10[37][5];
diagramma (mass1);
}
Не знаю правильно ли я описал функцию и будет ли она работать, но при таком написании функции выскакивает лишь одна ошибка:
Цитата:
[C++ Error] Unit1.cpp(29): E2451 Undefined symbol 'Image1'
|
Подскажите, пожалуйста, где я, что не так написал. Почему программа перестала понимать что такое "Image1"?
P.S. Если забыть про остальные массивы, и прописать процесс рисования не как функцию, то диаграмма рисуется просто замечательно.