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


При самостоятельном желании понять тему " Настройка компонент StringGrid " вам поможет наш ресурс. Для вас наши специалисты подготовили материал, изучив который вы будете разбираться в ней уровне профессионала. А если у вас останутся вопросы, то задать их вы сможете прямо на сайте написав в чат онлайн-консультанта.

оформить заявку

Слишком сложно? Тогда запросите консультацию специалиста!

Наша компания занимается тем, что помогает студентам выполнять различные учебные работы на заказ. Вы можете ознакомиться с перечнем выполняемых работ, а так же с их стоимостью на странице с ценами.

ознакомиться с условиями

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

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

В свойстве Options строку goEditing для компонент StringGrid1 и StringGrid2 установите в положение 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();

}

4.3.2. Пример создания консольного приложения

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

. . .

void main()

{

double **a, *b, s;

int i, j, n;

printf(" Input size N : ");

scanf("%d",&n);

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

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

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

b = new double[n];

puts(" Input Massiv A:");

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

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

scanf("%lf", &a[i][j]);

puts(" Input Massiv B:");

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

scanf("%lf", &b[i]);

puts(" Massiv Y:");

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

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

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

printf(" %8.2lf ", s);

}

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

delete []a[i];

delete []a;

delete []b;

puts(" Delete !");

puts(" Press any key ... ");

getch();

}

При вводе значений элементов массивов в одной строке через пробелы должен получиться следующий результат:


Хм, так же просматривали

Заказ

ФОРМА ЗАКАЗА

Бесплатная консультация

Наша компания занимается написанием студенческих работ. Мы выполняем: дипломные, курсовые, контрольные, задачи, рефераты, диссертации, отчеты по практике, решаем тесты и задачи, и многие другие виды заданий. Чтобы узнать стоимость, а так же условия выполнения работы заполните заявку на этой странице. Как только менеджер увидит ваше сообщение, он сразу же свяжется с вами.

Этапность

СОПРОВОЖДЕНИЕ КЛИЕНТА

Получить работу можно всего за 4 шага

01
Оставляете запрос

Оформляете заказ работы, заполняя форму на сайте.

02
Узнаете стоимость

Менеджер оценивает сложность. Узнаете точную цену.

03
Работа пишется

Оплачиваете и автор приступает к выполнению задания.

04
Забираете заказ

Получаете работу в электронном виде на вашу почту.

Услуги

НАШ СЕРВИС

Что мы еще делаем?

icon
Эссе

от 480 рублей

ПОДРОБНЕЕ
icon
Аттестационные работы

от 1780 рублей

ПОДРОБНЕЕ
icon
Проектные работы

от 3300 рублей

ПОДРОБНЕЕ
icon
ВКР (выпускные квалификационные работы)

от 9800 рублей

ПОДРОБНЕЕ
icon
Научные статьи

от 2300 рублей

ПОДРОБНЕЕ
icon
Работы для духовной семинарии

от 980 рублей

ПОДРОБНЕЕ