Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
1
Добавлен:
30.05.2020
Размер:
145.92 Кб
Скачать

Лабораторна робота №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]);

}

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

Скриншот

Контрольні питання

  1. Дайте визначення масиву.

Маси́в — впорядкований набір фіксованої кількості однотипних елементів, що зберігаються в послідовно розташованих комірках оперативної пам'яті, мають порядковий номер і спільне ім'я, що надає користувач.

  1. Які типи даних можна використовувати для оголошення масивів?

За типом поділяється на числовий та символьний

  1. Який індекс має перший елемент масиву, що містить десять елементів?

Нуль

  1. Що трапиться, якщо в програмі виникне звертання до елементу масиву з індексом, який виходить за оголошені межі?

В масив допишуться нулі кількості індексів елементів за який виходить межа.

  1. Як оголошується багатовимірний масив?

a[i][j]

  1. Як визначити загальну кількість елементів в масиві xyz, якщо його елементи мають тип long?

Так, як і в звичайному масиві.

Соседние файлы в папке Андрею 5