Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать неотразимый комплимент Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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

ifA[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.

forj:=1 ton do begin

r:=A[k1, j];

A[k1, j] := A[k2, j];

A[k2, j] := r;

End;



Пример 4.8.Отсортировать одномерный массив А в порядке возрастания элементов. Использовать метод пузырька.

fori := 2 ton do

forj := n downtoi do

ifA[j-1] > A[j] then begin

r := A[j];

A[j] := A[j-1];

A[j-1] := r;

end;

Для данного примера возможен и другой алгоритм (тот же метод пузырька):

fori := 1 ton-1 do

forj := i+1 ton do

ifA[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 задают количество столбцов и строк фиксированной зоны. Фиксированная зона выделена другим цветом, и в нее запрещен ввод информации с клавиатуры.






Date: 2015-06-08; view: 280; Нарушение авторских прав

mydocx.ru - 2015-2019 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию