Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.О.П / Лабораторні роботи / Лабораторна робота 5.doc
Скачиваний:
8
Добавлен:
30.05.2020
Размер:
75.26 Кб
Скачать

Налаштування компоненту StringGrid

На закладці Additional виберіть відповідну піктограму, встановите компоненти StringGrid1 і StringGrid2 і відрегулюйте їх розміри. У інспекторові об'єктів для обох компонент встановите значення ColCount рівними 2, RowCount рівними 1, тобто по два стовпці і одному рядку, а значення FixedCols і FixedRows рівними 0. Значення ширини клітини стовпця DefaultColWidth рівним 40.

За умовчанням в компоненту StringGrid введення даних дозволене тільки програмно. Для дозволу введення даних з клавіатури необхідно у властивості Options рядок goEditing для компоненти StringGrid1 встановити в положення true.

Текст функцій-обробників може мати наступний вигляд:

. . .

int n = 4;

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

void __fastcall TForm1::FormCreate(TObject *Sender)

{

randomize(); // Зміна початкової адреси для random()

Edit1 ->Text=IntToStr(n);

StringGrid1 ->ColCount=n;

for(int i=0; i<n;i++) // Заповнення масиву А випадковими числами

StringGrid1 ->Cells[i][0] = IntToStr(random(21) - 10);

Label3 ->Hide(); // Приховати компоненту

StringGrid2 ->Hide();

}

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

void __fastcall TForm1::Button1Click(TObject *Sender)

{

n=StrToInt(Edit1 ->Text);

if(n>10){

ShowMessage("Максимальна кількість 10"!);

n=10;

Edit1 ->Text = "10";

}

StringGrid1 ->ColCount=n;

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

StringGrid1 ->Cells[i][0]=IntToStr(random(21) - 10);

Label3 ->Hide();

StringGrid2 ->Hide();

}

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

void __fastcall TForm1::Button2Click(TObject *Sender)

{

int i, kol = 0, a[10]; // Декларація одновимірного масиву

//Заповнення масиву А елементами з таблиці StringGrid1

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

a[i]=StrToInt(StringGrid1 ->Cells[i][0]);

//Видалення негативних елементів з масиву А

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

if(a[i]>=0) a[kol++] = a[i];

StringGrid2 ->ColCount = kol;

StringGrid2 ->Show(); // Показати компоненту

Label3 ->Show();

//Виведення результату в таблицю StringGrid2

for(i=0; i<kol;i++) StringGrid2 ->Cells[i][0]=IntToStr(a[i]);

}

5.3.2. Приклад створення консольного застосування

Текст програми може мати наступний вигляд (зверніть увагу на те, що функція main використовується в простій формі - без параметрів і не повертає результатів) :

. . .

#include <stdio.h>

#include <conio.h>

void main()

{

int a[10],n, i, kol=0;

randomize(); // Зміна початкової адреси для random()

printf("Input N (<=10) ");

scanf("%d", &n);

puts("\n Massiv A");

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

a[i] = random(21) - 10; // Заповнення масиву А випадковими числами

printf("%4d", a[i]);

}

//Видалення негативних елементів з масиву А

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

if(a[i]>=0) a[kol++] = a[i];

puts("\n Rezult massiv A");

for(i=0; i<kol;i++) printf("%4d", a[i]);

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

getch();

}

Із заповненим випадковими числами масивом А результат програми може бути наступним: