Тема. Реалізація алгоритмів з одновимірними і двовимірними масивами у вигляді
програм
Мета. Навчитися складати та записувати мовою програмування алгоритми роботи з одновимірними та двовимірними масивами.
Мета. Навчитися складати та записувати мовою програмування алгоритми роботи з одновимірними та двовимірними масивами.
Приклад 1.
Створити програму, яка за допомогою текстового поля та кнопки додаватиме дані до одновимірного масиву, щоразу після введення елемента виводитиме весь масив у інше текстове поле. У текстові мітки (надписи) виводитиме інформацію про кількість уведених елементів, найбільший та найменший елементи масиву.
Розв’язання
Створити програму, яка за допомогою текстового поля та кнопки додаватиме дані до одновимірного масиву, щоразу після введення елемента виводитиме весь масив у інше текстове поле. У текстові мітки (надписи) виводитиме інформацію про кількість уведених елементів, найбільший та найменший елементи масиву.
Розв’язання
var
m:array[1..10 ]of real;
count:Integer = 0;
min,max,temp:real;
i:integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
//збільшуємо лічильник
count :=count + 1;
//додаємо елемент до
масиву
m[count ]:=
StrToFloat(Edit1.Text);
//виводимо масив,
визначаємо макс. та мін. елементи
Memo1.Text := '';
min := m[1];
max := m[1];
For i := 1 To
count do
begin
temp := m[i];
Memo1.Lines.Add(FloatToStr(temp));
If temp < min Then
min := temp;
If temp > max Then
max := temp;
end;
//виводимо дані про
кількість, максимальний та мінімальний елементи
Label5.Caption :=
FloatToStr(count);
Label7.Caption :=
FloatToStr(min);
Label6.Caption :=
FloatToStr(max);
//обнуляємо Edit1 та
ставимо на нього фокус вводу
Edit1.Text := '0';
Edit1.SetFocus;
//якщо масив заповнено,
то робимо кнопку неактивною
If count = 10 Then
Button1.Enabled := False;
end;
Приклад 2
Написати програму, за допомогою якої можна:
Написати програму, за допомогою якої можна:
1. Увести числові дані до
двохвимірного масиву розмірністю 4х4;
2. Помножити всі елементи
другого стовпчика на 3;
3. Знайти суму всіх
елементів новоствореної матриці та вивести її на форму;
4. Вивести отриманий в
результаті множення масив для перегляду.
Деякі корисні властивості компонента StringGrid
Кількість рядків
|
|
RowCount
|
Кількість стовпців
|
|
ColCount
|
Кількість фіксованих стовпців
|
|
FixedCols
|
Кількість фіксованих рядків
|
|
FixedRows
|
Дозвіл на редагування комірок
|
|
Options → goEditing
|
Масив комірок таблиці (c-стовпець,
r-рядок)
|
|
Cells[c,r]
|
|
|
|
Розв’язання
var
m:array[0..3,0..3] of real;
c,r:integer;
sum:real = 0;
procedure TForm1.Button1Click(Sender: TObject);
begin
//Зчитуємо дані з першої таблиці до масиву
for r := 0 to 3 do
begin
for c := 0 to 3 do
begin
if StringGrid1.Cells[c,r]='' then
StringGrid1.Cells[c,r]:='0';
m[r,c]:=StrToFloat(StringGrid1.Cells[c,r]);
end;
end;
//множимо елементи другого стовпцика на 3
For r := 0 To 3 do
begin
m[r, 1] := m[r, 1]*3;
end;
//рахуємо суму елементів масиву
for r := 0 to 3 do
begin
for c := 0 to 3 do
begin
sum:=sum+m[r,c];
end;
end;
Label4.caption :=
FloatToStr(sum);
//виводимо змінену матрицю
for r := 0 to 3 do
begin
for c := 0 to 3 do
begin
StringGrid2.Cells[c,r]:=FloatToStr(m[r,c]);
end;
end;
end;
Немає коментарів:
Дописати коментар