На закладке Additional выберите пиктограмму , установите компоненты StringGrid 1 и StringGrid 2 и отрегулируйте их размеры. В инспекторе объектов для обоих компонент установите значения ColCount равными 2, RowCount равными 1, т.е. по два столбца и одной строке, а значения FixedCols и FixedRows равными 0. Значение ширины клетки столбца DefaultColWidth равным 40.
По умолчанию в компоненту StringGrid ввод данных разрешен только программно. Для разрешения ввода данных с клавиатуры необходимо в свойстве Options строку goEditing для компоненты StringGrid 1 установить в положение 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();
}
С заполненным случайными числами массивом А результат программы может быть следующим: