Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

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

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

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.





Дата публикования: 2015-10-09; Прочитано: 389 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.016 с)...