Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
laboratornye_Delphi.doc
Скачиваний:
16
Добавлен:
17.05.2015
Размер:
2.78 Mб
Скачать

Implementation

{формирование динамической матрицы размера Row Х Col}

procedure inputArray(var Arr:TArray;Row,Col:integer);

var i,j:integer;

begin

randomize;

SetLength(Arr,Row,Col); //выделяем память под матрицу

for i:=low(Arr) to high(arr) do

for j:=low(Arr[i]) to high(Arr[i]) do

Arr[i,j]:=random(10); //заполняем элементы матрицы

// случайными числами от 0 до 10

end;

{Обработчик события нажатия кнопки «Заполнение матрицы»}

procedure TFrmMain.BtnRandClick(Sender: TObject);

var i,j,r,c:integer;

begin

r:=strtoint(EdtRow.Text);

c:=strtoint(EdtCol.Text);

inputArray(A,r,c); //заполнение матрицы

strGrdA.ColCount:=c+1;

StrGrdA.RowCount:=r+1;

StrGrdA.ColWidths[0]:=90;//увеличиваем ширину 0-го столбца

StrGrdA.Cells[0,0]:='строки/столбцы';

for j:=1 to c+1 do

StrGrdA.Cells[j,0]:=inttostr(j); //строка заголовка

for i:=1 to r+1 do

StrGrdA.Cells[0,i]:=inttostr(i); //столбец заголовка

for i:=low(A) to high(A) do //вывод матрицы в компонент

for j:=low(A[i]) to high(A[i]) do

StrGrdA.Cells[j+1,i+1]:=inttostr(A[i,j]);

end;

Рис. 16.1. Экранная форма примера 16.1

Порядок выполнения работы

  1. Создать приложение для решения задачи формирования и обработки двумерного динамического массива согласно варианту. Приложение должно содержать главную форму, в которой находится:

  • главное меню;

  • компоненты TStringGrid для ввода и вывода результатов;

  • контекстное меню.

  1. Разработать отдельные подпрограммы с параметрами:

  • формирования динамической квадратной матрицы целочисленных данных;

  • вывода на экран динамической матрицы в компонент StringGrid,

  • удаления элементов (с изменением размера) динамической матрицы, заданных в варианте.

Размер исходной матрицы N вводится с клавиатуры и фактически не ограничен (ограничен оперативной памятью).

  1. Обработать все возможные исключительные ситуации.

Возможный вид формы изображен на рис. 16.2.

Рис. 16.2. Экранная форма лабораторной работы №16

Варианты

  1. Удалить все элементы, кратные 3:

  1. Удалить все элементы, равные 0:

  1. Удалить все четные элементы:

  1. Удалить все нечетные элементы:

  1. Удалить все нулевые элементы в четных строках:

  1. Удалить все элементы, равные 0:

  1. Удалить все элементы, равные 0, выше главной диагонали:

  1. Удалить все элементы, равные 0, в нечетных столбцах:

  1. Удалить все элементы, равные 1, расположенные ниже дополнительной диагонали:

  1. Удалить все элементы слева от нечетных значений:

  1. Удалить все элементы, равные 0:

  1. Удалить все элементы, которые больше N / 2:

  1. Удалить все элементы, равные 1, выше главной диагонали:

  1. Удалить все элементы, которые меньше N / 2:

  1. Удалить все элементы, равные 0, в четных строках и 1 в нечетных:

  1. Удалить все четные элементы:

  1. Удалить все элементы, кратные 2:

  1. Удалить все элементы, кратные 3:

  1. Удалить все ненулевые элементы, стоящие справа от четных значений:

  1. Удалить все элементы, равные 0, с нечетной суммой индексов:

  1. Удалить все элементы, равные 1, с четной суммой индексов

  1. Удалить k нулевых элементов в k строке:

  1. Удалить все нулевые элементы, расположенные выше главной диагонали и все единичные ниже ее:

  1. Удалить все элементы, стоящие ниже нечетного значения на главной диагонали:

  1. Удалить все четные элементы, расположенные выше дополнительной диагонали:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]