АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Настройка компонент StringGrid

Читайте также:
  1. Абиотические компоненты экосистемы.
  2. Автонастройка режима
  3. Белорусская экономическая модель, как компонент идеологии белорусского государства
  4. Биотические компоненты экосистемы
  5. Біогеоценоз та екосистема як компоненти природи
  6. Вплив компонентів рецептури на процес тістоутворення
  7. Выбор и распределение компонент
  8. Головні компоненти
  9. Двухкомпонентные системы.
  10. Диаграммы компонентов
  11. ЖИЗНЕННЫЙ ЦИКЛ ОБЪЕКТА НЕДВИЖИМОСТИ. КОМПОНЕНТЫ И ЖИЗНЕННЫЙ ЦИКЛ ОБЪЕКТА НЕДВИЖИМОСТИ. ЭКОНОМИКА НЕДВИЖИМОСТИ: УЧЕБНОЕ ПОСОБИЕ
  12. Здоровье. Определение, показатели и компоненты здоровья. Здоровый образ жизни, его составляющие, основные принципы.

Для компоненты StringGrid 1 значения ColCount и RowCount установите равными, например, 3 – три столбца и три строки, а FixedCols и FixedRows – 1.

Так как компоненты StringGrid 2 и StringGrid 3 имеют только один столбец, то у них ColCount = 1, RowCount = 3, а FixedCols = 0 и FixedRows = 1.

В свойстве Options строку goEditing для компонент StringGrid 1 и StringGrid 2 установите в положение true.

Для изменения размера n используется функция-обработчик EditChange, полученная двойным щелчком по компоненте Edit.

 

Рис. 6.1

 

 

Текст программы может иметь следующий вид:

...

int n = 3; // Глобальная переменная n

 

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

void __fastcall TForm1:: FormCreate (TObject *Sender)

{

Edit1->Text=IntToStr(n);

StringGrid1->ColCount = n+1; StringGrid1->RowCount = n+1;

StringGrid2->RowCount = n+1; StringGrid3->RowCount = n+1;

//---------- Ввод в левую верхнюю ячейку таблицы названия массивов -----------

StringGrid1->Cells[0][0] = "Матрица A";

StringGrid2->Cells[0][0] = "Массив B";

StringGrid3->Cells[0][0] = "Массив Y";

for(int i=1; i<=n;i++){

StringGrid1->Cells[0][i]="i="+IntToStr(i);

StringGrid1->Cells[i][0]="j="+IntToStr(i);

}

}

 

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

void __fastcall TForm1:: Edit1Change (TObject *Sender)

{

int i;

n=StrToInt(Edit1->Text);

StringGrid1->ColCount = n+1;

StringGrid1->RowCount = n+1;

StringGrid2->RowCount = n+1;

StringGrid3->RowCount = n+1;

for(i=1; i<=n;i++){

StringGrid1->Cells[0][i]="i="+IntToStr(i);

StringGrid1->Cells[i][0]="j="+IntToStr(i);

}

}

 

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

void __fastcall TForm1:: Button1Click (TObject *Sender)

{

double **a, *b, s; // Декларация указателей

int i, j;

a = new double*[n]; // Захват памяти под указатели

for(i=0; i<n;i++)

a[i] = new double[n]; // Захват памяти под элементы

b = new double[n];

// Заполнение массивов А и В элементами из таблиц StringGrid1 и StringGrid2

for(i=0; i<n;i++) {

for(j=0; j<n;j++)

a[i][j]=StrToFloat(StringGrid1->Cells[j+1][i+1]);

b[i]=StrToFloat(StringGrid2->Cells[0][i+1]);

}

// Умножение строки матрицы А на вектор В и вывод результата s в StringGrid3

for(i=0; i<n;i++){

for(s=0, j=0; j<n;j++)

s += a[i][j]*b[j];

StringGrid3->Cells[0][i+1] = FloatToStrF(s, ffFixed,8,2);

}

for(i=0; i<n;i++) delete []a[i];

delete []a;

delete []b;

}

 

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

void __fastcall TForm1:: Button2Click (TObject *Sender)

{

Close();

}

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)