Студопедия

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

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Одномерные и двумерные массивы






 

Массив – это упорядоченная последовательность из фиксированного числа однотипных элементов, которая обозначается одним именем.

Упорядоченность элементов заключается в том, что все эти элементы располагаются в последовательных ячейках оперативной памяти.

В программировании различают следующие типы массивов:

1) Одномерные массивы (линейные таблицы);

2) Двумерные массивы (прямоугольные таблицы);

3) Многомерные массивы (трехмерные и т.д. таблицы).

Для того, чтобы обратиться к нужному элементу массива необходимо указать имя массива и его индекс. Индекс – это порядковый номер элемента в массиве.

Т.е. обращение происходит по правилу:

идентификатор_массива[индекс]

Общее количество элементов в массиве называется размерностью массива.

Прежде чем в программе использовать массив или его элементы этот массив нужно, как и любую переменную, описать. Для описания массива в Паскале использую два метода:

1. с описанием пользовательского типа:

Type

идентификатор_типа=array[размерность] of базовый_тип_элементов;

Var

идентификатор_массива: идентификатор_типа;

2. без описания пользовательского типа:

Var

идентификатор_массива: array[размерность] of базовый_тип_элементов;

Здесь размерность указывается следующим образом:

[1..10]

[10..100]

[5..10] одномерные массивы

[1..5]

[1..10, 1..10] – двумерные массивы

 

6.1. Стандартные алгоритмы обработки массивов:

1. Ввод-вывод элементов:

Program _1;

Uses Crt;

Const n=10;

Type

massiv= array [1..n] of integer;

Var

a: massiv; i: byte;

Begin

ClrScr;

Writeln (‘Введите элементы массива: ’);

For i: =1 to n do

Begin

write (‘a[‘, i, ’]=’);

Readln (a[i]);

end;

For i: =1 to n do

Write (a[i], ’ ‘);

Readkey;

End.

2. Нахождение суммы, произведения, среднего арифметического элементов массива:

Program Summa;

Uses Crt;

Type

massiv= array [1..10] of integer;

Var

a: massiv; i: byte; S: integer;

Begin

ClrScr;

Writeln (‘Введите элементы массива: ’);

For i: =1 to 10 do

Begin

write (‘a[‘, i, ’]=’);

Readln (a[i]);

end;

For i: =1 to 10 do

S: =s+a[i];

Writeln (‘S=’, S);

Readkey;

End.

Program Proizvedenie;

Uses Crt;

Var

a: array [1..10] of integer;

i: byte; P: integer;

Begin

ClrScr;

Writeln (‘Введите элементы массива: ’);

For i: =1 to 10 do

Begin

write (‘a[‘, i, ’]=’);

Readln (a[i]);

end;

P: =1;

For i: =1 to 10 do

P: =P*a[i];

Writeln (‘P=’, P);

Readkey;

End.

 

Program SrArifmet;

Uses Crt;

Var

a: array [1..1000] of integer;

S, n, i: integer; Sr: real;

Begin

ClrScr;

Writeln (‘Введите размерность массива: ’); Readln (n);

Writeln (‘Введите элементы массива: ’);

For i: =1 to n do

Begin

write (‘a[‘, i, ’]=’);

Readln (a[i]);

end;

For i: =1 to n do

s: =s+a[i];

Sr: =s/n;

Writeln (‘Sr=’, Sr);

Readkey;

End.

 

3. Нахождение максимального и минимального элемента массива.

Program Maximum;

Uses Crt;

Var

a: array [1..1000] of integer;

max, n, i: integer;

Begin

ClrScr;

Writeln (‘Введите размерность массива: ’); Readln (n);

Writeln (‘Введите элементы массива: ’);

For i: =1 to n do

Begin

write (‘a[‘, i, ’]=’);

Readln (a[i]);

end;

max: =a[1];

For i: =1 to n do

if a[i]> max

then

max: =a[i];

Writeln (‘max=’, max);

Readkey;

End.

Минимальный находится аналогично.

4. Нахождение суммы элементов двумерного массива:

Program Summa;

Uses Crt;

Type

massiv= array [1..10, 1..10] of integer;

Var

a: massiv; i, j: byte; S: integer;

Begin

ClrScr;

Writeln (‘Введите элементы массива: ’);

For i: =1 to 10 do

For j: =1 to 10 do

Begin

write (‘a[‘, i, ’, ’, j, ’]=’);

Readln (a[i, j]);

end;

For i: =1 to 10 do

For j: =1 to 10 do

S: =s+a[i, j];

Writeln (‘S=’, S);

Readkey;

End.

 

Рассмотрим еще пример: дан массив. Найти сколько в нем пар соседних одинаковых чисел.

Program massiv;

Const m=100;

Begin

Var mas: array [1..m] of integer;

Write (‘Ввести длину массива N=’);

Readln (N);

K: =0;

For i: =1 to n do

Begin

Write (‘Ввести элементы массива ‘);

Readln (mas[i]);

End;

For i: =1 to n-1 do

if mas[i]=mas[i+1]

then k: =k+1;

Writeln (‘ Количество пар=’, k);

End.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.