1 Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений, объединенных общим типом и именем Например, массив M из 30 элементов (целые числа) M … Элементы массива Const N=30; Var … M:array[1..N] of integer; Определение элементов массива
Массивы Program massiv_Opr_elem; Const N=5; Var k:integer; M:array[1..N] of integer; Begin Writeln(Введите элементы массива, N,чисел); For k:=1 to N do {Вводим элементы массива} Read(M[k]); {целые числа через пробел} Writeln; {Переводим курсор в следующую строку} For k:=1 to N do {Печатаем элементы массива} Write( M[k]:5); {в одной строке} Writeln; {Переводим курсор в следующую строку} End. Определяется массив из 5 элементов (целые числа). Значения элементов массива вводятся с клавиатуры. Вывод элементов массива на экран. Определение и печать элементов массива.
3 Program massiv_Opr_elem; Const N=20; Var k,s:integer; sr:real; M:array[1..N] of integer; begin Randomize; {активизируем датчик случайных чисел} For k:=1 to N do {Определяем элементы массива} M[k]:=random(101) – 50; {случ. числа от -50 до 50} For k:=1 to N do {Печатаем элементы массива} Write( M[k]:4); {в одной строке} Writeln; {Переводим курсор в следующую строку} … Определение и печать элементов массива. Значения элементов массива задаются датчиком случайных чисел.
4 … S:=0; For k:=1 to N do {Находим сумму} s:=s + M[k]; {элементов массива} Sr:=s/n; {и среднее значение} Writeln( Сумма=,s:5, Среднее значение =,sr:6:2); Readln; … Далее определим сумму элементов массива, найдем их среднее арифметическое, …
5 … Max:=M[1]; Inmax:=1; For k:=1 to N do {Находим максимальное и его индекс} If M[k] > Max then begin Max:= M[k]; Inmax:=k; end; Writeln( Максимальное = M[, inmax, ]=,Max); Readln; … … находим максимальное значение и его индекс …
6 Решение задач 1.В массиве из 20 элементов найти количество элементов, имеющих отрицательное значение. 2.… имеющих положительное значение. 3.Каких элементов больше (отрицательных или положительных)? 4.Есть ли в массиве элементы, значение которых равно нулю? 5.Найти минимальный элемент массива и его индекс. 6.Поменять местами минимальное значение и последний элемент массива. 7.Удалить элемент массива с максимальным значением. 8.После максимального элемента массива вставить число Рассортировать элементы массива по возрастанию.
7 ДВУМЕРНЫЕ МАССИВЫ Положение элементов описывается двумя индексами. Их можно представить в виде прямоугольной таблицы или матрицы. а 11 а 12 а 13 а 21 а 22 а 23 А = Матрица А размерностью 2*3 (две строки, три столбца) Номер элемента определяется пересечением строки и столбца. а 12 – элемент, стоящий в первой строке и во втором столбце. а 12
8 Объявление двумерного массива ОДИН ИЗ НЕСКОЛЬКИХ СПОСОБОВ Const n = 2; m = 3; Var a: array[1..n,1..m] of ; Программы большинства матричных задач строятся на основе вложенных циклов. Внешний цикл работает со строками матрицы, внутренний цикл – со столбцами матрицы Формирование двумерного массива осуществляется всеми возможными способами: ввод с клавиатуры, через генератор случайных чисел, с помощью файла или др.
9 Program dv_mas; {Ввод и вывод двумерного массива А } Const n = 10; m = 15; {размерностью 10*15} Var i,k: integer; a: array[1..n,1..m] of integer; Begin Randomize; {активизируем датчик случайных чисел} For i:=1 to n do {Определяем элементы массива} For k:=1 to m do A[i,k]:=random(51) – 25; {случ. числа от -25 до 25} Writeln(Исходный массив); For i:=1 to n do {Печатаем элементы массива} Begin For k:=1 to m do Write( A[i,k]:5); Writeln; End; …
10 Сформировать одномерный массив, каждый элемент которого равен сумме отрицательных элементов соответствующей строки заданной целочисленной матрицы. (Var ) B: array[1..n] of integer; … For i:=1 to n do Begin B[ i ]:=0; {задание начальных значений элементов массива суммы} For k:=1 to m do if A[ i,k ] < 0 then B[ i ]:= B[ i ] + A[ i,k ]; End; Writeln (Массив из суммы отр-ных элементов); For i:=1 to n do {Печатаем элементы массива В} Write( В[ i ]:5); Writeln; …
11 Решение задач 1.Найти максимальный элемент двумерного массива и его индексы. 2.Найти количество отрицательных элементов в каждой строке. 3.Определить, есть ли в данном массиве элемент, равный нулю.