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

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



Advertisements
Похожие презентации
Одномерные и двумерные массивы В помощь сдающему ЕГЭ
Advertisements

1 Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений,
Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений, объединенных.
Автор: учитель информатики МКОУ Плесской средней общеобразовательной школы Юдин Андрей Борисович Часть 1.
Программирование на языке Паскаль Урок Сортировка массивов Рыжикова С. В. Учитель информатики МОУ СОШ 2 г. Волжского Волгоградской обл.
Язык программирования Pascal Массивы А. Жидков. Массивы Массив – поименованный набор однотипных элементов, каждый из которых имеет свой номер, (индекс).
Одномерные массивы Решение задач. Табличный способ организации данных Одномерные и двумерные массивы.
Массивы Массив используется для обработки упорядоченного набора величин одного типа, обозначенного одним именем. Доступ к элементам массива осуществляется.
Двумерные массивы. Задачи обработки двумерных массивов.
Тема: «Понятие массива. Назначение. Тип. Размер. Размерность. Одномерный массив» :56:36.
Массивы Вариант 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;
Массивы Материалы к урокам по программированию. МАССИВ это УПОРЯДОЧЕННАЯ последовательность данных ОДНОГО ТИПА. Массивы относятся к структурированным.
В-1 Описать двумерный массив с именем ХХ1, размерностью 7х12, все элементы целого типа XX1:array[1..7,1..12] of integer;
Одномерные массивы Понятие массива, виды массивов Описание, заполнение и вывод одномерного массива Обработка одномерного массива.
Двумерные массивы. В математике часто используют многомерные массивы, т.е. массивы массивов. Особенно широкое распространение получили двумерные массивы.
Массивы – структурированный тип данных, состоящий из фиксированного числа элементов одинакового типа, имеющих общее имя. Массив.
Задания части А Задания части С. 1. Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы. Сколько элементов.
Тема: «Понятие квадратная матрица» :17:47.
Задания части А Задания части С. 1. Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы. Сколько элементов.
Алгоритмизация и программирование. Практическая работа в Pascal Задача 1.
Транксрипт:

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

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; Одномерный массив объединяет под одним именем фиксированное количество элементов одного типа данных. Каждый элемент массива имеет собственный номер.

Задание с клавиатуры 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; Двумерный массив (матрица, таблица) объединяет под одним именем фиксированное количество элементов одного типа данных. Каждый элемент в двумерном массиве определяется номером строки и номером столбца, на пересечении которых он находится 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]

Пусть 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]

Задача. Найти скалярное произведение двух массивов. Скалярным произведением двух массивов одинаковой размерности называется сумма произведений соответствующих элементов (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]

В данном одномерном массиве, элементами которого являются целые числа, подсчитать среднее арифметическое элементов, попадающих в интервал [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]

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+jn+1 i + j = n+1 3. Для элементов, находящихся под побочной диагональю: i+j>n+1 побочной диагонали i + j = n Для элементов побочной диагонали сумма первого и второго индексов равна «нарощенному» на единицу порядку матрицы, т.е. i + j = n+1. над побочной диагональюi+j

Пусть размерность массива 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

a 1n a 24 a 33 a 42 a n1 i+jj над пересечением диагоналей i+jj; i+j>n+1 и i n+1 и i

Пусть размерность массива n=5 Дана квадратная матрица, элементами которой являются целые числа. Подсчитать сумму элементов, находящихся над и под пересечением диагоналей. S=36 S=36 Исходный массив Результат i+jj 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+jj) 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]

Пусть размерность массива 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]

Опишите алгоритм подсчета числа элементов, равных максимальному, в числовом массиве из 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

Найти количество положительных и отрицательных элементов в массиве в числовом массиве из 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]

В данном одномерном массиве, состоящем из 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]

Найти и вывести на экран номера четных элементов в числовом массиве из 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]

Как переставить элементы? Задача. Поменять местами содержимое двух чашек. Нужна 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]

Дана прямоугольная матрица, элементами которой являются целые числа. Для каждого столбца подсчитать среднее арифметическое его нечетных элементов и записать полученные данные в новый массив Исходный массив 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 20 then If A[i,j] mod 20 then begin begin s:=s+A[i,j]; k:=k+1; s:=s+A[i,j]; k:=k+1; end; end; If k0 then B[j]:=s/k ; If k0 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 20 then A[i,j]:=B[j]; If i mod 20 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[1]);найти минимальный элемент и поставить на первое место (поменять местами с A[1]); из оставшихся найти минимальный элемент и поставить на второе место (поменять местами с A[2]), и т.д.из оставшихся найти минимальный элемент и поставить на второе место (поменять местами с A[2]), и т.д