Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Примеры часто встречающихся алгоритмов работы с массивамиПример 4.1. Вычислить сумму n элементов одномерного массива А . S:=0; for i:=1 to n do S:=S+A[i];
Пример 4.2. Вычислить сумму модулей всех элементов матрицы В . S:=0; for i:=1 to n do for j:=1 to m do S:=S+abs(B[i, j]);
Пример 4.3. Вычислить сумму диагональных элементов квадратной матрицы В S:=0; for i:=1 to n do S:=S+B[i, i];
Пример 4.4. Вычислить значение и номер максимального элемента одномерного массива А. max:=A[1]; // за максимум принимается первый элемент массива nmax:=1; // номер максимального элемента массива равен 1 for i:=1 to n do if A[i]>max then begin // если A[i] больше максимального, то... max:=A[i]; // за максимум принимается A[i] nmax:=i; // номер максимального элемента равен i end;
Пример 4.5. Переставить местами элементы одномерного массива А: первый элемент меняется с n-м, второй - с (n-1)-м, третий - с (n-2)-м и т.д. i:= 1; j:= n; Repeat r:= A[i]; A[i]:= A[j]; A[j]:= r; i:= i+1; j:= j-1; until i >= j; Для обмена данными между ячейками используется вспомогательная переменная r.
Пример 4.6. Переставить местами элементы квадратной матрицы А (размером n×m) относительно главной диагонали: все элементы, стоящие ниже главой диагонали поменять с элементами, которые стоят выше главной диагонали. В квадратной матрице А размером n×m элементы главной диагонали имеют одинакорые индексы (ai,i, i=1, n). Каждому элементу, стоящему выше главой диагонали (ai,j, 1≤ i ≤ n-1, i+1≤ j ≤ n) соответствует симметричный ему элемент, стоящий ниже главной диагонали (aj,i, 1≤ i ≤ n-1, i+1≤ j ≤ n). for i:= 1 to n-1 do for j:= i+1 to n do begin r:=A[i, j]; A[i, j]:= A[j, i]; A[j, i]:= r; end;
Пример 4.7. В матрице А размера n×m переставить местами строки с номерами k1 и k2. for j:=1 to n do begin r:=A[k1, j]; A[k1, j]:= A[k2, j]; A[k2, j]:= r; End; Пример 4.8. Отсортировать одномерный массив А в порядке возрастания элементов. Использовать метод пузырька. for i:= 2 to n do for j:= n downto i do if A[j-1] > A[j] then begin r:= A[j]; A[j]:= A[j-1]; A[j-1]:= r; end; Для данного примера возможен и другой алгоритм (тот же метод пузырька): for i:= 1 to n-1 do for j:= i+1 to n do if A[j] < A[i] then begin r:= A[i]; A[i]:= A[j]; A[j]:= r; end;
4.4. Компонент TStringGrid для ввода/вывода массивов В Delphi имеется возможность организовать ввод/вывод двухмерных и одномерных массивов с отображением их на форме. Для этого используют специальный компонент TStringGrid (находится на странице Additional), который предназначен для отображения информации в виде двухмерной (одномерной) таблицы каждая ячейка которой представляет собой окно однострочного редактора (аналогично окну TEdit). Доступ к информации осуществляется с помощью свойства Cells[ACol: Integer; ARow: Integer]: String, где ACol, ARow – индексы элемента двумерного массива. Свойства ColCount и RowCount устанавливают количество столбцов и строк в таблице, а свойства FixedCols и FixedRows задают количество столбцов и строк фиксированной зоны. Фиксированная зона выделена другим цветом, и в нее запрещен ввод информации с клавиатуры.
|