Одномерные и двумерные массивы. В помощь сдающему ЕГЭ Илюшкина Татьяна Викторовна учитель информатики.

Презентация:



Advertisements
Похожие презентации
Одномерные и двумерные массивы. В помощь сдающему ЕГЭ Лицей-интернат естественных наук, г.Саратов. Над презентацией к уроку работали: Нестеренко В.В.,
Advertisements

Одномерные и двумерные массивы В помощь сдающему ЕГЭ
Двумерные массивы. Массивы Двумерный массив (матрица) – это массивы, положение элементов в которых описывается двумя индексами или прямоугольная таблица,
М А С С И В Ы. © МОУ СОШ Массив это множество однотипных элементов, объединённых общим именем и занимающих в компьютере определённую область памяти.
Массивы в Pascal Одномерные массивы. Массивы Один из самых распространенных способов организации данных – табличный. Таблицы могут состоять из 1 строки.
Основные алгоритмы работы с одномерными массивами (поиск и сортировка) 8 класс 1.
Часть 1 В математике таблицы чисел, состоящие из строк и столбцов называются матрицами и записываются в круглых скобках. Двумерный массив. Матрицы 1.
Тематический блок «Программирование» ЕГЭ-2015 Задания 19, 20, 21, 25.
М А С С И В Ы. © МОУ СОШ Массив это множество однотипных элементов, объединённых общим именем и занимающих в компьютере определённую область памяти.
1 Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений,
Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений, объединенных.
Одномерные массивы Решение задач. Табличный способ организации данных Одномерные и двумерные массивы.
Решение задач с использованием одномерных массивов.
Язык программирования Pascal Массивы А. Жидков. Массивы Массив – поименованный набор однотипных элементов, каждый из которых имеет свой номер, (индекс).
const n=10; var a:array[1..n] of integer; i,j,c,b,k:integer; begin randomize; for i:=1 to n do begin a[i]:=random(11)-5;write(a[i]:5) end;writeln;
Подведение итогов г. Н.Новгород школа 58. набор переменных одного типа, имеющее одно общее имя. количество элементов в массиве. число индексов, которые.
Методическое пособие по массивам Одномерные массивы Одномерные массивы Двухмерные массивы Двухмерные массивы.
Массивы Вариант 1 Program upr1; Var s,a:real; I: integer; Begin S:=0; For I:=1 to 10 do Begin Writeln (введите очередное число'); Readln(a); S: =s+a; End;
Массивы – структурированный тип данных, состоящий из фиксированного числа элементов одинакового типа, имеющих общее имя. Массив.
Программирование на языке Паскаль Урок Сортировка массивов Рыжикова С. В. Учитель информатики МОУ СОШ 2 г. Волжского Волгоградской обл.
Транксрипт:

Одномерные и двумерные массивы. В помощь сдающему ЕГЭ Илюшкина Татьяна Викторовна учитель информатики

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

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

Описание массива определяет имя, размер массива и тип элементов. Var A: array [1..5,1..5] of integer; B: array [1..10,1..10] of real; Описание массива определяет имя, размер массива и тип элементов. 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 a 21 a 22 a 23 a 24 a 25 a 31 a 32 a 33 a 34 a 35 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 m do For j:=1 to m do Begin Begin Write (A[,i,,,j,]=); Readln (A[i,j]); Write (A[,i,,,j,]=); Readln (A[i,j]); End; End; Задание типизированной константой Const A:array[1..2,1..2] of integer=((5,6),(2,0)); Задание с помощью генератора случ-х чисел For i:=1 to n do For i:=1 to n do For j:=1 to m do A[i,j]:= random(50); For j:=1 to m do A[i,j]:= random(50); Формирование массива с помощью формулы For i:=1 to n do For i:=1 to n do For j:=1 to m do A[i]:= i; For j:=1 to m do A[i]:= i; assign (input,'input.txt'); assign (input,'input.txt'); assign (output,'output.txt'); assign (output,'output.txt'); reset (input); reset (input); rewrite (output); rewrite (output); … … … … … … … … close (input); close (input); close (output); close (output); Вывод двумерного массива For i:=1 to n do For i:=1 to n do begin begin Writeln; Writeln; For j:=1 to m do For j:=1 to m do Write (A[i,j]:2,' '); Write (A[i,j]:2,' '); end; end; Чтение данных из файла input.txt и запись в файл output.txt

Найти сумму и произведение элементов массива, состоящего из 10 элементов Сумма элементов = 13 Произведение элементов =2688 Исходный массив Результат n=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; s:=0; p:=1; p:=1; For i:=1 to 10 do For i:=1 to 10 do begin begin s:=s + A[i]; s:=s + A[i]; p:=p*A[i]; p:=p*A[i]; end; end; Writeln (Сумма элементов =, s); Writeln (Сумма элементов =, s); Writeln (Произведение элементов =, p); Writeln (Произведение элементов =, p);END.

Найти сумму всех отрицательных элементов массива, состоящего из 10 элементов Сумма отр-х элементов = -8 Исходный массив Результат n=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; s:=0; For i:=1 to 10 do if A[i]<0 then s:=s + A[i]; For i:=1 to 10 do if A[i]<0 then s:=s + A[i]; If s=0 then Writeln (отрицательных элементов нет) If s=0 then Writeln (отрицательных элементов нет) else Writeln (Сумма отр-х элементов =, s); else Writeln (Сумма отр-х элементов =, s);END.

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

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

Задача. Найти скалярное произведение двух массивов. Скалярным произведением двух массивов одинаковой размерности называется сумма произведений соответствующих элементов (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; S:=0; For i:=1 to n do For i:=1 to n do Begin Begin Write ('A[',i,']='); Readln (A[i]); Write ('A[',i,']='); Readln (A[i]); End; End; For i:=1 to n do For i:=1 to n do Begin Begin Write (B[',i,']='); Readln(B[i]); Write (B[',i,']='); Readln(B[i]); End; End; For i:=1 to n do S:= S+A[i]*B[i]; For i:=1 to n do S:= S+A[i]*B[i]; Writeln(вывод результата'); Writeln(вывод результата'); WriteLn (S); WriteLn (S);END. Исходный массив A : B: Результат: 50 50

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

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

В двумерном массиве, элементами которого являются целые числа, подсчитать среднее ттттарифметическое четных элементов массива. Program mass2; Var A: array [1..10, 1..10] of integer; i, j, s, n, m, k: integer; sr: real; BEGIN S:=0; k:=0; S:=0; k:=0; Writeln (введите размерность массива'); Writeln (введите размерность массива'); Readln (n,m); Readln (n,m); {Ввод массива} {Ввод массива} For i:=1 to n do For i:=1 to n do For j:=1 to m do For j:=1 to m do If A[i,j] mod 2=0 then If A[i,j] mod 2=0 then Begin Begin S:=S+A[i,j]; S:=S+A[i,j]; k:=k+1; k:=k+1; End; End; Sr:=s/k; Sr:=s/k; Writeln(Сред. ттттариф. чёт. эл. =', sr:4:1); Writeln(Сред. ттттариф. чёт. эл. =', sr:4:1); END. Исходный массив Результат Сред. ттттариф. чёт. эл.=31.8 Сред. ттттариф. чёт. эл.=31.8 Пусть размерность массива 5 x 5

В данном одномерном массиве, элементами которого являются целые числа, подсчитать среднее ттттарифметическое отрицательных элементов. Результат Пусть размерность массива N=20 Исходный массив Program A1; Var A:array[1..100] of integer; k, n, i: integer; s: real; Begin Write ('число элементов массива ='); Readln (n); Write ('число элементов массива ='); Readln (n); k:=0; s:=0; k:=0; s:=0; For i:=1 to n do For i:=1 to n do Begin Begin Write ('A[',i,']='); Readln (A[i]); Write ('A[',i,']='); Readln (A[i]); If A[i]<0 then If A[i]<0 then Begin Begin k:=k+1; s:=s+A[i]; k:=k+1; s:=s+A[i]; End; End; If k=0 then writeln ('отрицательных элементов нет') else If k=0 then writeln ('отрицательных элементов нет') else Begin Begin s:=s/k; Writeln ('s=',s:8:1); s:=s/k; Writeln ('s=',s:8:1); End; End;End.

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

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

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

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

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

a 1n a 24 a 33 a 42 a n1 i+j<n+1 и i<j i+j>n+1 и i>j над пересечением диагоналей i+j<n+1 и i<j; 1. Для элементов над пересечением диагоналей должны одновременно выполняться два неравенства: i+j<n+1 и i<j; под пересечением диагоналей i+j>n+1 и i>j; 2. Для элементов под пересечением диагоналей должны одновременно выполняться два неравенства: i+j>n+1 и i>j; i+j>n+1 и i n+1 и i<j i+j j

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

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

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

Дан двумерный массив, элементами которого являются целые числа. Найти значение максимального элемента массива. Дан двумерный массив, элементами которого являются целые числа. Найти значение максимального элемента массива. Исходный массив Результат max=91 max=91 Пусть размерность массива 5 x 5 Program massiv; Var A:array [1..10,1..10] of integer; i, j, max, n, m: integer; BEGIN Writeln (введите размерность массива'); Writeln (введите размерность массива'); Readln (n,m); Readln (n,m); {Ввод массива} {Ввод массива} max:=A[1,1]; max:=A[1,1]; For i:=1 to 5 do For i:=1 to 5 do For j:=1 to 5 do If A[i,j]>max then max:=A[i,j]; If A[i,j]>max then max:=A[i,j]; Writeln('max=', max); Writeln('max=', max);END.

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

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

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

Опишите алгоритм подсчета числа элементов, равных максимальному, в числовом массиве из 20 элементов. Результат 3 Размерность массива N=20 Program maksi2; Var A:array[1..20] of integer; k, i, max: integer; BEGIN {Ввод массива} k:=1; max:=A[1]; k:=1; max:=A[1]; For i:=2 to 20 do Begin Begin If A[i]=max then k:=k+1; If A[i]=max then k:=k+1; If A[i]>max then If A[i]>max then begin begin max:=A[i]; k:=1; max:=A[i]; k:=1; end; end; End; End; Writeln (k); Writeln (k);END. Исходный массив

5 х 5 Дан двумерный массив целых положительных чисел размером 5 на 5. Найти сумму элементов строки, в которой расположен элемент с максимальным значением. Вывести значение суммы на печать, если предполагается, что такой элемент единственный. S=30 S=30 Исходный массив Результат Program mas32; Const n:=5; Var A:array[1..n,1..n] of integer; max, s, imax, i, j: integer; BEGIN {Ввод массива} {Ввод массива} max:=A[1,1]; S:=0; imax:=1; max:=A[1,1]; S:=0; imax:=1; For i:=1 to n do For i:=1 to n do For j:=1 to n do For j:=1 to n do If A[i,j]>max then If A[i,j]>max then begin begin max:=A[i,j]; imax:=i; max:=A[i,j]; imax:=i; end; end; For j:=1 to n do S:=S+A[imax,j]; For j:=1 to n do S:=S+A[imax,j]; Writeln ('S=',S); Writeln ('S=',S);End. Размерность массива

Опишите алгоритм подсчета максимального количества подряд идущих совпадающих элементов в целочисленном массиве длины 25. Результат max кол-во совп. элем. =6 Размерность массива массиваN=25 Program sovpad; Var A: array[1..25] of integer; k, k1, i: integer; BEGIN k1:=1; k:=1; k1:=1; k:=1; For i:=1 to 25 do For i:=1 to 25 do begin begin Write ('A[',i,']='); Write ('A[',i,']='); Readln (A[i]); Readln (A[i]); end; end; For i:=2 to 25 do For i:=2 to 25 do begin begin If a[i] = a[i-1] then k:=k+1 else k:=1; If a[i] = a[i-1] then k:=k+1 else k:=1; If k > k1 then k1:=k; If k > k1 then k1:=k; end; end; Writeln (max кол-во совп. элем. =',k1); Writeln (max кол-во совп. элем. =',k1);END. Исходный массив

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

Дан прямоугольный массив целых полож-х чисел 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; Sum:=0; For j:=1 to m do sum:=sum+A[1,j]; For j:=1 to m do sum:=sum+A[1,j]; Min:=sum; imin:=1; Min:=sum; imin:=1; For i:=2 to n do For i:=2 to n do Begin Begin Sum:=0; Sum:=0; For j:=1 to m do sum:=sum+A[i,j]; For j:=1 to m do sum:=sum+A[i,j]; If sum<min then If sum<min then Begin Begin min:=sum; imin:=i; min:=sum; imin:=i; End; End; Writeln ( строки=', imin,, sum=', min); Writeln ( строки=', imin,, sum=', min);END. 4 х 5 строки=2, sum=10 строки=2, sum=10 Исходный массив Результат Размерность массива

Найти количество положительных и отрицательных элементов в массиве в числовом массиве из 20 элементов. Результат 17, 3 17, 3 Размерность массива N=20 Program d4; Const n=20; Var A:array [1..n] of integer; i, k1, k2: integer; i, k1, k2: integer;Begin For i:=1 to n do Begin Begin Write('A[',i,']='); Readln (A[i]); Write('A[',i,']='); Readln (A[i]); End; End; k1 :=0; k2 :=0; k1 :=0; k2 :=0; For i := 1 to n do For i := 1 to n do if A[i] > 0 then Inc(k1) if A[i] > 0 then Inc(k1) else else if A[i] < 0 then Inc(k2); if A[i] < 0 then Inc(k2); Writeln(k1:5,,,k2:5); Writeln(k1:5,,,k2:5);End. Исходный массив

Дан одномерный массив. состоящий из 10 элементов. Составить программу определения количества элементов массива, значение которых меньше заданного действительного числа t Исходный массив n=10, t=5.5 Program mas3; Var A: array [1..10] of real; i,k: integer; t: real; BEGIN Write ('Введите число t='); Write ('Введите число t='); Readln (t); Readln (t); k:=0; k:=0; For i:=1 to 10 do For i:=1 to 10 do begin begin Write ('Введите значение элемента A(', i, ') = '); Write ('Введите значение элемента A(', i, ') = '); Readln (A[i]); Readln (A[i]); If A[i]<t then k:=k+1 If A[i]<t then k:=k+1 end; end; Writeln ('Ответ: Количество элементов, меньших заданного числа,t:3:1); Writeln ('Ответ: Количество элементов, меньших заданного числа,t:3:1); Writeln('k=', k); Writeln('k=', k);END. Результат K=7

В данном одномерном массиве, состоящем из 8 элементов, заменить отрицательные элементы на противоположные по знаку. Элементами массива являются целые числа. Исходный массив Изменённый массив Program mass1; Var A:array [1..8] of integer; i: integer; i: integer;Begin For i:=1 to 8 do For i:=1 to 8 do Begin Begin Write ('A[',i,']='); Readln (A[i]); Write ('A[',i,']='); Readln (A[i]); End; End; For i:=1 to 8 do if A[i]<0 then A[i]:=-A[i]; For i:=1 to 8 do if A[i]<0 then A[i]:=-A[i]; For i:=1 to 8 do write (A[i]:5); For i:=1 to 8 do write (A[i]:5);End. Начало ввод А[1..8] A[i]<0 A[i]:=-A[i] Конец да i:=1, 8 нет вывод А[1..8]

Найти и вывести на экран номера четных элементов в числовом массиве из 20 элементов. Результат Размерность массива N=20 Program d3; Var A:array [1..20] of integer; i, n: integer; i, n: integer;Begin For i:=1 to 20 do For i:=1 to 20 do Begin Begin Write ('A[',i,']='); Readln (A[i]); Write ('A[',i,']='); Readln (A[i]); End; End; For i:=1 to n do if A[i] mod 2 =0 then Write(i:5); For i:=1 to n do if A[i] mod 2 =0 then Write(i:5);End. Исходный массив

В данном одномерном массиве, состоящем из 8 элементов, заменить нулями все отрицательные элементы. Элементами массива являются целые числа. Исходный массив Изменённый массив Program mass1; Var A:array [1..8] of integer; i: integer; i: integer;Begin For i:=1 to 8 do For i:=1 to 8 do Begin Begin Write ('A[',i,']='); Readln (A[i]); Write ('A[',i,']='); Readln (A[i]); End; End; For i:=1 to 8 do if A[i]<0 then A[i]:=0; For i:=1 to 8 do if A[i]<0 then A[i]:=0; For i:=1 to 8 do write (A[i]:5); For i:=1 to 8 do write (A[i]:5);End. Начало ввод А[1..8 ] A[i]< 0 A[i]:=0 Конец да i:=1, 8 нет вывод А[1..8 ]

Как переставить элементы? Задача. Поменять местами содержимое двух чашек. Нужна 3-я чашка, чтобы в нее перелить содержимое первой.

Исходный массив Размерность массива n=5 Изменённый For i:=2 to n do If A[i]>=max then For i:=2 to n do If A[i]>=max then Begin Begin max:=A[i]; nmax:=i; max:=A[i]; nmax:=i; End; End; For i:=2 to n do If A[i]<min then For i:=2 to n do If A[i]<min then Begin Begin min:=A[i]; nmin:=i; min:=A[i]; nmin:=i; End; End; A[nmin]:=max; A[nmax]:=min; A[nmin]:=max; A[nmax]:=min; Write ('Готовый массив: '); Write ('Готовый массив: '); For i:=1 to n do write (A[i],'; ' ); For i:=1 to n do write (A[i],'; ' );End. В данном одномерном массиве, элементами которого являются целые числа, поменять местами первый минимальный и последний максимальный элементы. Число элементов массива запрашивается с клавиатуры. Program d3; Var a:array[1..100] of integer; nmin,nmax,min,max,n,i:integer; nmin,nmax,min,max,n,i:integer;Begin Write ('число элементов массива ='); Write ('число элементов массива ='); Readln(n); Readln(n); For i:=1 to n do For i:=1 to n do Begin Begin Write ('A[',i,']='); Readln(A[i]); Write ('A[',i,']='); Readln(A[i]); End; End; min:=a[1]; nmin:=1; min:=a[1]; nmin:=1; max:=a[1]; nmax:=1; max:=a[1]; nmax:=1;

Дана прямоугольная матрица, элементами которой являются целые числа. Для каждого столбца подсчитать среднее ттттарифметическое его нечетных элементов и записать полученные данные в новый массив Исходный массив A Пусть размерность массива A : 5 x 5 Program mmm2; 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 ('Введите размерность массива А'); Writeln ('Введите размерность массива А'); Readln (n,m); Readln (n,m); {Ввод двумерного массива А} {Ввод двумерного массива А} For j:=1 to m do For j:=1 to m do begin begin s:=0; k:=0; B[j]:=0; s:=0; k:=0; B[j]:=0; For i:=1 to n do For i:=1 to n do If A[i,j] mod 2<>0 then If A[i,j] mod 2<>0 then begin begin s:=s+A[i,j]; k:=k+1; s:=s+A[i,j]; k:=k+1; end; end; If k<>0 then B[j]:=s/k ; If k<>0 then B[j]:=s/k ; end; end; For j:=1 to m do Write (B[j]:5:1, ); For j:=1 to m do Write (B[j]:5:1, );END Результат Тогда размерность массива В: 5

Дан двумерный массив А и одномерный массив B соответствующих размерностей. Нечетные строки массива А заменить элементами массива B. Исходный массив A Пусть размерность массива A : 4 x 5 Program mmm2; Var A:array[1..5,1..5]of integer; B:array [1..5] of integer; n, m, i, j: integer; n, m, i, j: integer;BEGIN Writeln ('Введите размерность массива А'); Writeln ('Введите размерность массива А'); Readln (n,m); Readln (n,m); Writeln ('Введите элементы массива А'); Writeln ('Введите элементы массива А'); {Ввод двумерного массива А} {Ввод двумерного массива А} Writeln('Введите элементы массива В'); Writeln('Введите элементы массива В'); {Ввод одномерного массива В} {Ввод одномерного массива В} For i:=1 to n do For i:=1 to n do For j:=1 to m do For j:=1 to m do If i mod 2<>0 then A[i,j]:=B[j]; If i mod 2<>0 then A[i,j]:=B[j]; Writeln (Вывод изменённого массива'); Writeln (Вывод изменённого массива'); For i:=1 to n do For i:=1 to n do begin begin For j:=1 to m do Write(A[i,j]:5); For j:=1 to m do Write(A[i,j]:5); Writeln; Writeln; end; end;END. Исходный массив В Результат Тогда размерность массива В: 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 For j:=1 to 5 do begin begin s:=0; B[j]:=0; s:=0; B[j]:=0; For i:=1 to 5 do For i:=1 to 5 do If A[i,j] mod 7=0 then s:=s+A[i,j]; If A[i,j] mod 7=0 then s:=s+A[i,j]; B[j]:=s; B[j]:=s; end; end; Writeln(вывод результата'); Writeln(вывод результата'); For j:=1 to 5 do WriteLn (B[, j, ]=, B[j]:4); For j:=1 to 5 do WriteLn (B[, j, ]=, B[j]:4);END. Исходный массив Результат: массив В Размерность массива А 5 x 5

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

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

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

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

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