О.О.П / ООП Лабораторные работы / Лабораторная работа №5 / Андрею 5 / Лабораторка 5 (оформление)л
.docЛабораторна робота №5
Тема: Обробка одновимірних масивів.
Мета: вивчити складений тип даних - масив, основні властивості компоненти StringGrid. Написати і відлагодити програму з використанням одновимірних масивів
|
Свойство |
Описание |
Name |
Имя компонента. Используется в программе для доступа к компоненту и его свойствам |
|
ColCount |
Количество колонок таблицы |
|
RowCount |
Количество строк таблицы |
|
DefaultColWidth |
Ширина колонок таблицы |
|
DefaultRowHeight |
Высота строк таблицы |
|
FixedCols |
Количество зафиксированных слева колонок таблицы. Зафиксированные колонки выделяются цветом и при горизонтальной прокрутке таблицы остаются на месте |
|
FixedRows |
Количество зафиксированных сверху строк таблицы. Зафиксированные строки выделяются цветом и при вертикальной прокрутке таблицы остаются на месте |
|
Cells |
Соответствующий таблице двумерный массив. Ячейке таблицы, находящейся на пересечении столбца с номером col и строки с номером row, соответствует элемент cells [col] [row] |
|
GridLineWidth |
Ширина линий, ограничивающих ячейки таблицы |
|
Left |
Расстояние от левой границы поля таблицы до левой границы формы |
|
Top |
Расстояние от верхней границы поля таблицы до верхней границы формы |
Властивості Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont, ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width і деякі інші є загальними для багатьох компонентов.тся загальними для багатьох компонентів .
Программный код проекта
//---------------------------------------------------------------------------
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
#include "Unit1.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int n=4;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{ setlocale(LC_ALL, "");
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(); // Приховати компоненту
}
//---------------------------------------------------------------------------
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();
Memo1 ->Hide();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Memo1 -> Clear ();
int i, kol = 0, a[10], poz,k=0, t=0;
int s=0;
float x,j; //Описание массива
double min,Sum=0;
int minI=0;
for(i=0; i<n;i++)
a[i]=StrToInt(StringGrid1 ->Cells[i][0]);
for(i=0; i<n; i++)
{
if(a[i]==0)
{
j=a[i];
x=i;
}
}
for (i=x;i<n;i++)
{
k+=fabs(a[i]);}
Memo1 -> Show();
Label3 ->Show();
Memo1 ->Lines->Add("Результат: "+IntToStr(k));
}
//---------------------------------------------------------------------------
Скриншот
Код Додатку
#include <vcl.h>
#pragma hdrstop
#include<math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Randomize (); // Зміна початкової адреси для random()
Edit1->Text="1";int n=4;
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)
{int n;
n=StrToInt(Edit1 ->Text);
if(n>10){
ShowMessage("Максимальна кількість 10! ");
n=4;
Edit1 ->Text = "10"; }
if(n<0){
ShowMessage("Максимальна кількість 10! ");
n=0;
Edit1 ->Text = "0";
}
StringGrid1 ->ColCount=n;
for(int i=0; i<n;i++)
StringGrid1 ->Cells[i][0]=IntToStr(random(21) - 10);
n=4;
Label3 ->Hide();
StringGrid2 ->Hide();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int i,t,n=5, a[10];StringGrid1->Show();
n=StrToInt(Edit1->Text);
for(i=0; i<n;i++)
a[i]=StrToInt(StringGrid1 ->Cells[i][0]);
for(i=0; i<n;i++)
{
if(a[i]>a[i+1] || a[i]>a[i-1])
a[i]=pow(a[i],2);
}
StringGrid2 ->Show();
Label3 ->Show();
StringGrid2 ->ColCount=n;
for(i=0;i<n;i++)
StringGrid2 ->Cells[i][0]=IntToStr(a[i]);
}
//---------------------------------------------------------------------------
Скриншот
Контрольні питання
-
Дайте визначення масиву.
Маси́в — впорядкований набір фіксованої кількості однотипних елементів, що зберігаються в послідовно розташованих комірках оперативної пам'яті, мають порядковий номер і спільне ім'я, що надає користувач.
-
Які типи даних можна використовувати для оголошення масивів?
За типом поділяється на числовий та символьний
-
Який індекс має перший елемент масиву, що містить десять елементів?
Нуль
-
Що трапиться, якщо в програмі виникне звертання до елементу масиву з індексом, який виходить за оголошені межі?
В масив допишуться нулі кількості індексів елементів за який виходить межа.
-
Як оголошується багатовимірний масив?
a[i][j]
-
Як визначити загальну кількість елементів в масиві xyz, якщо його елементи мають тип long?
Так, як і в звичайному масиві.