Скачать презентацию 78 6 82 67 55 44 34 Одномерные Скачать презентацию 78 6 82 67 55 44 34 Одномерные

71ac2c945726bb81ee226e6482709016.ppt

  • Количество слайдов: 47

78 6 82 67 55 44 34 Одномерные и двумерные массивы. 1 4 7 78 6 82 67 55 44 34 Одномерные и двумерные массивы. 1 4 7 2 -5 0 8 9 3 6 15 10 11 12 20

Одномерный массив объединяет под одним именем фиксированное количество элементов одного типа данных. Каждый элемент Одномерный массив объединяет под одним именем фиксированное количество элементов одного типа данных. Каждый элемент массива имеет собственный номер. Описание массива определяет имя, размер массива и тип элементов. Var X: array[1. . 7] of integer; Y: array [1. . 10] of real; 1 2 3 78 6 82 4 5 6 7 67 55 44 34 X[1]=78, X[2]=6, X[3]=82, X[4]=67, X[5]=55, X[6]=44, X[7]=34

Задание с клавиатуры For i: =1 to 10 do Begin Write ('A[', i, ']='); Задание с клавиатуры For i: =1 to 10 do Begin Write ('A[', i, ']='); Readln(A[i]); End; Задание типизированной константой Const A: array [1. . 5] of integer = (5, 6, 2, 0, -4); С помощью генератора случайных чисел For i: =1 to 20 do A[i]: = random(50); Задание с помощью формулы For i: =1 to 20 do A[i]: = i; Чтение данных из файла assign(input, 'input. txt'); assign(output, 'output. txt'); reset(input); rewrite(output); … … … … close(input); close(output);

Двумерный массив (матрица, таблица) объединяет под одним именем фиксированное количество элементов одного типа данных. Двумерный массив (матрица, таблица) объединяет под одним именем фиксированное количество элементов одного типа данных. Каждый элемент в двумерном массиве определяется номером строки и номером столбца, на пересечении которых он находится. Описание массива определяет имя, размер массива и тип элементов. Var A: array [1. . 5, 1. . 5] of integer; B: array [1. . 10, 1. . 10] of real; a 11 a 12 a 13 a 14 a 15 1 4 7 a 21 a 22 a 23 a 24 a 25 2 -5 0 a 31 a 32 a 33 a 34 a 35 8 9 3 6 15 10 11 12 20 A[1, 1]=1, A[1, 2]=4, … A[2, 2]=-5, … A[3, 2]=9, … A[3, 5]=20

Задание массива с клавиатуры For i: =1 to n do For j: =1 to Задание массива с клавиатуры For i: =1 to n do For j: =1 to m do Begin Write (‘A[‘, i, ’, ’, j, ’]=‘); Readln (A[i, j]); End; Задание типизированной константой Const A: array[1. . 2, 1. . 2] of integer=((5, 6), (2, 0)); Задание с помощью генератора случ-х чисел For i: =1 to n do For j: =1 to m do A[i, j]: = random(50); Формирование массива с помощью формулы For i: =1 to n do For j: =1 to m do A[i]: = i; Чтение данных из файла input. txt и запись в файл output. txt assign (input, 'input. txt'); assign (output, 'output. txt'); reset (input); rewrite (output); … … … … close (input); close (output); Вывод двумерного массива For i: =1 to n do begin Writeln; For j: =1 to m do Write (A[i, j]: 2, ' '); end;

Найти сумму и произведение элементов массива, состоящего из 10 элементов Program massiv; Const A: Найти сумму и произведение элементов массива, состоящего из 10 элементов Program massiv; Const A: array [1. . 10] of integer = (1, 0, -1, 0, 6, 2, 0, 4, 8, -7); Var i, s: integer; p: longint; BEGIN s: =0; p: =1; For i: =1 to 10 do begin s: =s + A[i]; p: =p*A[i]; end; Writeln (‘Сумма элементов =‘, s); Writeln (‘Произведение элементов =‘, p); END. Размерность массива n=10 Исходный массив Результат Сумма элементов = 13 1 0 -1 0 6 2 0 4 8 -7 Произведение элементов =2688

Найти сумму всех отрицательных элементов массива, состоящего из 10 элементов Program massiv; Const A: Найти сумму всех отрицательных элементов массива, состоящего из 10 элементов Program massiv; Const A: array [1. . 10] of integer = (1, 0, -1, 0, 6, 2, 0, 9, 8, -7); Var i, s: integer; BEGIN s: =0; For i: =1 to 10 do if A[i]<0 then s: =s + A[i]; If s=0 then Writeln (‘отрицательных элементов нет‘) else Writeln (‘Сумма отр-х элементов =‘, s); END. Размерность массива Исходный массив n=10 1 0 -1 0 6 2 0 9 8 -7 Результат Сумма отр-х элементов = -8

В двумерном массиве, элементами которого являются целые числа, подсчитать сумму элементов с k 1 В двумерном массиве, элементами которого являются целые числа, подсчитать сумму элементов с k 1 строки по k 2. Program d 2; Var A: array[1. . 10, 1. . 10] of integer; i, j, k 1, k 2, s, m, n : integer; Begin Writeln (‘Введите размерность массива'); Readln (n, m); {Ввод массива} S: =0; Writeln (k 1, k 2); Read. Ln (k 1, k 2); If (k 1>k 2) or (k 2>n) then Writeln ('ошибка') else Begin For i: =k 1 to k 2 do For j: =1 to m do S: =S+A[i, j]; Write ('S=', S); End. Пусть n=4, m=4 k 1=2, k 2=3 Исходный массив 5 4 3 1 8 7 8 9 0 3 3 8 Результат S=32 1 1 3 4

В матрице A размерностью 4*4 найти сумму ее положительных элементов, произведение элементов, значения которых В матрице A размерностью 4*4 найти сумму ее положительных элементов, произведение элементов, значения которых попадают в интервал [2, 5], а также отношение этих двух величин. Program massiv; Var A: array [1. . 4, 1. . 4] of integer; i, j, s: integer; BEGIN {Ввод массива} s: =0; p: =1; For i: =1 to 4 do For j: =1 to 4 do begin If A[i, j]>0 then s: =s+A[i, j]; If (A[i, j]>=2) and (A[i, j]<=5) then p: =p*A[i, j]; end; Writeln ('Сумма=', s: 6: 2); Writeln ('Произведение=', p: 6: 2); If p=0 then Writeln ('Отношение вычислить нельзя') else Writeln ('Отношение=', s/p: 6: 3) END. 4 x 4 Исходный массив 5 4 0 1 -8 -7 -8 -9 0 3 3 2 1 1 0 0 Результат Сумма=20 Произведение=360 Отношение=0. 055

Задача. Найти скалярное произведение двух массивов. Скалярным произведением двух массивов одинаковой размерности называется сумма Задача. Найти скалярное произведение двух массивов. Скалярным произведением двух массивов одинаковой размерности называется сумма произведений соответствующих элементов (a[1]*b[1] +a[2]*b[2]+. . . + a[n]*b[n]). Program mm; Var A, B: array[1. . 5] of integer; n, I, s: integer; BEGIN S: =0; For i: =1 to n do Begin Write ('A[', i, ']='); Readln (A[i]); End; For i: =1 to n do Begin Write (‘B[', i, ']='); Readln(B[i]); End; For i: =1 to n do S: = S+A[i]*B[i]; Writeln(‘вывод результата'); Write. Ln (S); END. Исходный массив A: 5 2 3 5 4 B: 1 5 5 4 0 Результат: 50

В одномерном массиве, элементами которого являются целые числа, подсчитать сумму элементов, кратных 9. Начало В одномерном массиве, элементами которого являются целые числа, подсчитать сумму элементов, кратных 9. Начало ввод n, А[1. . n ] s: =0 i: =1, n нет A[i] mod 9=0 да s: =s+A[i] Program mass 2; Var A: array[1. . 100] of integer; n, i, S: integer; Begin s: =0; Write ('число элементов массива ='); Readln (n); Randomize; For i: =1 to 20 do begin A[i]: = random(50); Write (A[i]: 4); end; For i: =1 to n do If A[i] mod 9=0 then s: =s+A[i]; Writeln ('s=', s); End. s Размерность массива Исходный массив Результат Конец n=8 0 9 18 7 -6 5 -4 9 s=36

Дан целочисленный массив из 18 элементов. Элементы могут принимать значения от 0 до 100 Дан целочисленный массив из 18 элементов. Элементы могут принимать значения от 0 до 100 – баллы, полученные на ЕГЭ. Составьте программу, которая подсчитывает и выводит средний балл учащихся, сдавших экзамен (получивших оценку более 20 баллов). Гарантируется, что хотя бы один ученик в классе успешно сдал экзамен. Исходный массив 10 50 50 68 74 26 32 2 5 50 100 12 13 20 21 29 45 55 Program Srball; Const N = 20; Var A: array[1. . N] of integer; i, x, y: integer; S: real; Begin {Ввод массива} x: =0; y: =0; For i: = 1 to N do If A[i]>20 then begin x: = x+1; y: = y+A[i]; end; S: = y/x; Writeln('Sredniy ball=', S: 4: 1); End. Размерность массива N=18 Результат Sredniy ball=50. 0

В двумерном массиве, элементами которого являются целые числа, подсчитать среднее арифметическое четных элементов массива. В двумерном массиве, элементами которого являются целые числа, подсчитать среднее арифметическое четных элементов массива. Program mass 2; Var A: array [1. . 10 , 1. . 10] of integer; i, j, s, n, m, k: integer; sr: real; BEGIN S: =0; k: =0; Writeln (‘введите размерность массива'); Readln (n, m); {Ввод массива} For i: =1 to n do For j: =1 to m do If A[i, j] mod 2=0 then Begin S: =S+A[i, j]; k: =k+1; End; Sr: =s/k; Writeln(‘Сред. ариф. чёт. эл. =', sr: 4: 1); END. Пусть размерность массива 5 x 5 Исходный массив 51 22 34 58 91 13 6 19 34 26 20 15 25 33 85 56 3 44 35 16 65 27 85 15 34 Результат Сред. ариф. чёт. эл. =31. 8

В данном одномерном массиве, элементами которого являются целые числа, подсчитать среднее арифметическое отрицательных элементов. В данном одномерном массиве, элементами которого являются целые числа, подсчитать среднее арифметическое отрицательных элементов. Исходный массив -10 57 51 68 74 -27 31 2 5 50 100 12 13 -23 21 29 45 55 10 10 Program A 1; Var A: array[1. . 100] of integer; k, n, i: integer; s: real; Begin Write ('число элементов массива ='); Readln (n); k: =0; s: =0; For i: =1 to n do Begin Write ('A[', i, ']='); Readln (A[i]); If A[i]<0 then Begin k: =k+1; s: =s+A[i]; End; If k=0 then writeln ('отрицательных элементов нет') else Begin s: =s/k; Writeln ('s=', s: 8: 1); End. Пусть размерность массива N=20 Результат -20. 0

В данном одномерном массиве, элементами которого являются целые числа, подсчитать среднее арифметическое элементов, попадающих В данном одномерном массиве, элементами которого являются целые числа, подсчитать среднее арифметическое элементов, попадающих в интервал [1, 25]. Количество элементов массива ввести с клавиатуры. Исходный массив 10 57 51 68 74 27 31 5 5 50 100 12 13 23 22 9 45 55 10 10 Program A 2; Var A: array[1. . 100] of integer; k, n, i: integer; s: real; Begin Write ('число элементов массива ='); Readln (n); k: =0; s: =0; For i: =1 to n do Begin Write ('A[', i, ']='); Readln(a[i]); If (A[i]>=1) and (A[i]<=25) then Begin k: =k+1; s: =s+A[i]; End; If k=0 then Writeln ('элементов нет') else Begin s: =s/k; Writeln ('s=', s: 6: 1); End. Пусть размерность массива N=20 Результат 10. 0

У квадратной матрицы есть замечательные свойства: 1. Индексы элементов, лежащих на главной диагонали равны, У квадратной матрицы есть замечательные свойства: 1. Индексы элементов, лежащих на главной диагонали равны, т. е. i = j. 2. 2. Первый индекс всех элементов выше главной диагонали меньше второго, 3. т. е. i < j. 4. 3. Первый индекс всех элементов ниже главной диагонали больше второго, 5. т. е. i > j. a 11 i< a 22 i> j j a 33 a 44 ann i= j

Дана квадратная матрица, элементами которой являются вещественные числа. Подсчитать сумму элементов главной диагонали. Program Дана квадратная матрица, элементами которой являются вещественные числа. Подсчитать сумму элементов главной диагонали. Program diag 1; Var A: array [1. . 10, 1. . 10] of real; i, j, n: integer; s: real; BEGIN S: =0; Writeln (‘введите размерность массива'); Readln (n); {Ввод массива} For i: =1 to n do For j: =1 to n do If i=j then S: =S+A[i, j]; Writeln('S=', S: 4: 1); END. Пусть размерность массива n=4 Исходный массив 0. 5 -5. 4 -9. 3 7. 1 8 7 8 9 0 -3 3 8 Результат S=16. 9 9. 1 -2. 1 -8. 3 6. 4

1. Для элементов побочной диагонали сумма первого и второго индексов равна «нарощенному» на единицу 1. Для элементов побочной диагонали сумма первого и второго индексов равна «нарощенному» на единицу порядку матрицы, т. е. i + j = n+1. 2. Для элементов, находящихся над побочной диагональю: i+jn+1 +1 a 24 n +j i

Дана квадратная матрица, элементами которой являются вещественные числа. Подсчитать сумму элементов, находящихся выше побочной Дана квадратная матрица, элементами которой являются вещественные числа. Подсчитать сумму элементов, находящихся выше побочной диагонали. Program diag 2; Var A: array [1. . 10, 1. . 10] of real; i, j, n: integer; s: real; BEGIN S: =0; Writeln (‘введите размерность массива'); Readln (n); {Ввод массива} For i: =1 to n do For j: =1 to n do If i+jn+1) and (i>j) then S: =S+A[i, j]; Writeln('S=', S: 4); END. Пусть размерность массива n=5 Исходный массив i+jn+1 и i>j Результат S=36

Задача. Найти в массиве максимальный элемент. Задача. Найти в массиве максимальный элемент.

Найти наибольший элемент одномерного массива Program mass 2; Var A: array [1. . 100] Найти наибольший элемент одномерного массива Program mass 2; Var A: array [1. . 100] of integer; i, max, n: integer; Begin Writeln (’введите число элементов массива ’); Readln (n); For i: =1 to n do begin Write (’A[’, i , ’]=’); Readln (A[i]); end; max: =A[1]; For i: =2 to n do if A[i]>max then max: =A[i]; Writeln (’ max =’, max); End. Пусть размерность массива n=5 Исходный массив 10 1 2 6 99 Результат max = 99

Дан двумерный массив, элементами которого являются целые числа. Найти значение максимального элемента массива. Program Дан двумерный массив, элементами которого являются целые числа. Найти значение максимального элемента массива. Program massiv; Var A: array [1. . 10, 1. . 10] of integer; i, j, max, n, m: integer; BEGIN Writeln (‘введите размерность массива'); Readln (n, m); {Ввод массива} max: =A[1, 1]; For i: =1 to 5 do For j: =1 to 5 do If A[i, j]>max then max: =A[i, j]; Writeln('max=', max); END. Пусть размерность массива 5 x 5 Исходный массив 51 22 34 58 91 13 90 19 34 24 14 15 25 34 85 56 3 45 35 16 64 27 85 18 34 Результат max=91

Найти наименьший элемент одномерного массива Program mass 2; Var A: array [1. . 100] Найти наименьший элемент одномерного массива Program mass 2; Var A: array [1. . 100] of integer; i, min, n: integer; Begin Writeln (’введите число элементов массива ’); Readln (n); For i: =1 to n do begin Write (’A[’, i , ’]=’); Readln (A[i]); end; min: =A[1]; For i: =2 to n do if A[i]

В двумерном массиве, элементами которого являются целые числа, вычислить сумму максимальных элементов из каждой В двумерном массиве, элементами которого являются целые числа, вычислить сумму максимальных элементов из каждой строки, если предполагается, что в каждой строке такой элемент единственный. Program MAX 1; Var A: array [1. . 10, 1. . 10] of integer; S, i, j, max, n, m: integer; BEGIN Writeln (‘введите размерность массива'); Readln (n, m); {Ввод массива} S: =0; For i: =1 to n do begin max: =A[i, 1]; For j: =1 to m do If A[i, j]>max then max: =A[i, j]; S: =S+max; end; Writeln('S=', S); END. Пусть размерность массива n=4, m=4 Исходный массив 0 8 0 9 -5 7 -3 -2 -9 -8 3 -8 7 9 8 6 Результат S=28

В двумерном массиве, элементами которого являются целые числа, подсчитать количество элементов равных минимальному. Program В двумерном массиве, элементами которого являются целые числа, подсчитать количество элементов равных минимальному. Program d 5; Var A: array [1. . 10, 1. . 10] of integer; n, m, i, j, k, min: integer; BEGIN Writeln ('Введите размерность массива'); Readln (n, m); {Ввод массива} k: =0; min: =A[1, 1]; For i: =1 to n do For j: =1 to m do If A[i, j]

Найдите номер первого из двух последовательных элементов в целочисленном массиве из 25 элементов, сумма Найдите номер первого из двух последовательных элементов в целочисленном массиве из 25 элементов, сумма которых максимальна (если таких пар несколько, то можно выбрать любую из них). Исходный массив 10 50 8 8 50 6 41 40 2 50 7 5 5 5 29 45 55 3 2 2 2 3 Program mas; Сonst n=25; Var A: array[1. . n] of integer; i, i 1, s: integer; BEGIN For i: =1 to n do Readln (A[i]); i 1: =1; S: =A[1]+A[2]; For i: =2 to n-1 do If A[i]+A[i+1]> S then begin i 1: =i; s: =A[i]+A[i+1]; end; Writeln(i 1); End. Размерность массива N=25 Результат 19

Дан прямоугольный массив целых полож-х чисел 4 х5. Опишите алгоритм поиска строки с наименьшей Дан прямоугольный массив целых полож-х чисел 4 х5. Опишите алгоритм поиска строки с наименьшей суммой элементов. Вывести на печать номер строки и сумму ее элементов. Предполагается, что такая строка единственна. Program minsum; Const n=4 ; m=5; Var A: array [1. . n, 1. . m] of integer; min, sum, imin, i, j: integer; BEGIN {Ввод массива} Sum: =0; For j: =1 to m do sum: =sum+A[1, j]; Min: =sum; imin: =1; For i: =2 to n do Begin Sum: =0; For j: =1 to m do sum: =sum+A[i, j]; If sum

Найти количество положительных и отрицательных элементов в массиве в числовом массиве из 20 элементов. Найти количество положительных и отрицательных элементов в массиве в числовом массиве из 20 элементов. Исходный массив 10 50 50 68 74 26 32 2 5 50 -10 12 13 20 21 29 45 55 -90 -60 Program d 4; Const n=20; Var A: array [1. . n] of integer; i, k 1, k 2: integer; Begin For i: =1 to n do Begin Write('A[', i, ']='); Readln (A[i]); End; k 1 : =0; k 2 : =0; For i : = 1 to n do if A[i] > 0 then Inc(k 1) else if A[i] < 0 then Inc(k 2); Writeln(k 1: 5, ‘ , ‘, k 2: 5); End. Размерность массива N=20 Результат 17, 3

Дан одномерный массив. состоящий из 10 элементов. Составить программу определения количества элементов массива, значение Дан одномерный массив. состоящий из 10 элементов. Составить программу определения количества элементов массива, значение которых меньше заданного действительного числа t. Program mas 3; n=10, t=5. 5 Var A: array [1. . 10] of real; i, k: integer; t: real; BEGIN Write ('Введите число t='); Исходный массив Readln (t); k: =0; For i: =1 to 10 do 1 0. 5 -1 0 6 2 0 9 8 -7 begin Write ('Введите значение элемента A(', i, ') = '); Readln (A[i]); Результат If A[i]

Дана прямоугольная матрица, элементами которой являются целые числа. Для каждого столбца подсчитать среднее арифметическое Дана прямоугольная матрица, элементами которой являются целые числа. Для каждого столбца подсчитать среднее арифметическое его нечетных элементов и записать полученные данные в новый массив Program mmm 2; Var A: array[1. . 5, 1. . 5]of integer; B: array[1. . 5] of real; k, n, m, i , j: integer; s: real; BEGIN Writeln ('Введите размерность массива А'); Readln (n, m); {Ввод двумерного массива А} For j: =1 to m do begin s: =0; k: =0; B[j]: =0; For i: =1 to n do If A[i, j] mod 2<>0 then begin s: =s+A[i, j]; k: =k+1; end; If k<>0 then B[j]: =s/k ; end; For j: =1 to m do Write (B[j]: 5: 1, ’ ‘); END. Пусть размерность массива A : 5 x 5 Исходный массив A 51 22 13 0 20 15 56 3 50 44 34 58 11 34 35 43 0 1 32 22 0 26 85 0 11 Тогда размерность массива В: 5 Результат 32. 0 9. 0 23. 0 22. 0 48. 0

Дан двумерный массив А и одномерный массив B соответствующих размерностей. Нечетные строки массива А Дан двумерный массив А и одномерный массив B соответствующих размерностей. Нечетные строки массива А заменить элементами массива B. Program mmm 2; Var A: array[1. . 5, 1. . 5]of integer; B: array [1. . 5] of integer; n, m, i, j: integer; BEGIN Writeln ('Введите размерность массива А'); Readln (n, m); Writeln ('Введите элементы массива А'); {Ввод двумерного массива А} Writeln('Введите элементы массива В'); {Ввод одномерного массива В} For i: =1 to n do For j: =1 to m do If i mod 2<>0 then A[i, j]: =B[j]; Writeln (Вывод изменённого массива'); For i: =1 to n do begin For j: =1 to m do Write(A[i, j]: 5); Writeln; end; END. Пусть размерность массива A : 4 x 5 Исходный массив A 51 13 20 56 22 34 58 0 0 19 34 26 15 25 33 85 3 0 0 0 Тогда размерность массива В: 5 Исходный массив В 55 44 33 22 11 Результат 55 13 55 56 44 0 44 3 33 19 33 0 22 34 22 0 11 26 11 0

Дана прямоугольная матрица 5 на 5, элементами которой являются целые числа. Для каждого столбца Дана прямоугольная матрица 5 на 5, элементами которой являются целые числа. Для каждого столбца подсчитать сумму элементов кратных 7 и полученные данные записать в новый массив. Program mm; Var A: array[1. . 5, 1. . 5] of integer; B: array[1. . 5] of integer; i, j, s: integer; BEGIN {Ввод двумерного массива А } For j: =1 to 5 do begin s: =0; B[j]: =0; For i: =1 to 5 do If A[i, j] mod 7=0 then s: =s+A[i, j]; B[j]: =s; end; Writeln(‘вывод результата'); For j: =1 to 5 do Write. Ln (’B[’, j , ’]=’, B[j]: 4); END. Размерность массива А 5 x 5 Исходный массив 51 22 34 58 49 13 90 19 34 21 14 15 25 34 80 56 3 35 35 16 64 25 85 14 34 Результат: массив В 70 0 35 49 70

Сортировка массива Сортировка – это расстановка элементов массива в заданном порядке (по возрастанию, убыванию, Сортировка массива Сортировка – это расстановка элементов массива в заданном порядке (по возрастанию, убыванию, последней цифре, …). метод «пузырька» метод выбора «пузырек воздуха в стакане воды поднимается со дна вверх» найти миним. элемент и поставить на первое место

Метод пузырька 1 -ый проход 5 5 5 1 2 2 1 5 1 Метод пузырька 1 -ый проход 5 5 5 1 2 2 1 5 1 1 2 2 3 3 Идея – пузырек воздуха в стакане воды поднимается со дна вверх. Для массивов – самый маленький ( «легкий» элемент перемещается вверх «всплывает» ). 2 -ой проход 1 1 1 5 5 2 2 2 5 3 3 3 • Начиная снизу, сравниваем два соседних элемента; если они стоят «неправильно» , меняем их местами; • За 1 проход по массиву один элемент (самый маленький) становится на свое место; 3 -ий проход 1 1 2 2 5 3 3 5 Для сортировки массива из N элементов нужен N-1 проход (достаточно поставить на свои места N-1 элементов).

СОРТИРОВКА МАССИВА МЕТОДОМ ПУЗЫРЬКА Program Sorti 1; Const n=10; Var A: array[1. . n] СОРТИРОВКА МАССИВА МЕТОДОМ ПУЗЫРЬКА Program Sorti 1; Const n=10; Var A: array[1. . n] of integer; i, c, j: integer; BEGIN {Ввод массива} For i: =1 to n-1 do begin For j: =n-1 downto i do If A[j]>A[j+1] then begin c: =A[j]; A[j]: =A[j+1]; A[j+1]: =c; end; For i: =1 to n do Write(A[i]: 4); END. Размерность массива n=10 Исходный массив 12 10 15 3 6 9 11 7 1 5 Результат 1 3 5 6 7 9 10 11 12 15

СОРТИРОВКА МАССИВА МЕТОДОМ ВЫБОРА Program Sorti 2; Const n=10; Var A: array[1. . n] СОРТИРОВКА МАССИВА МЕТОДОМ ВЫБОРА Program Sorti 2; Const n=10; Var A: array[1. . n] of integer; i, c, j: integer; BEGIN {Ввод массива} For i: =1 to n-1 do begin min: =i; For j: =i+1 to n do If A[j]i then begin c: =A[i]; A[i]: =A[min]; A[min]: =c; end; For i: =1 to n do Write(A[i]: 4); END. Размерность массива n=10 Исходный массив 12 10 15 3 6 9 11 7 1 5 Результат 1 3 5 6 7 9 10 11 12 15

Метод выбора Действия: • найти минимальный элемент и поставить на первое место (поменять местами Метод выбора Действия: • найти минимальный элемент и поставить на первое место (поменять местами с A[1]); • из оставшихся найти минимальный элемент и поставить на второе место (поменять местами с A[2]), и т. д. 10 1 1 1 5 5 2 2 1 10 10 5 2 2 5 10