1. Что такое элемент массива? 2. Что обозначает индекс массива? 3. Привести пример массива из жизни. 4. Как обозначается массив в паскале? 5. Составить массив на языке программирования паскаль.
1) Начало 2) Ввод матрицы A(5, 10) 3) Цикл по i от 1 до 5 // по строкам 3.1) max = A(i, 1); min = A(i, 1); nmax = 1; nmin = 1; 3.2) Цикл по k от 1 до 10 // по столбцам 3.2.1) Если A(i, k) > max, то // находим максимум в строке и его номер 3.2.1.1) max = A(i, k); nmax = k; 3.2.1.2) Конец Если 3.2.2) Если A(i, k) < min, то // находим минимум в строке и его номер 3.2.2.1) min = A(i, k); nmin = k; 3.2.2.2) Конец Если 3.2.3) Конец цикла по k // по столбцам 3.2.4) A(i, nmin) = max; A(i, nmax) = min // меняем их местами 3.3) Конец цикла по i // по строкам 4) Вывод массива A(5, 10) 5) Конец. Сложность такой программы - 1 (очень простая). Всего лишь два цикла в цикле и два сравнения чисел.
7. Произведение двух матриц - это матрица, каждый член которой есть c(i, j) = Summa(1, k) a(i, k)*b(k, j) То есть надо три цикла друг в друге, а внутри эта формула. for i:=1 to 3 do begin for j:=1 to 3 do begin C[i,j]:=0; for k:=1 to 3 do C[i,j] := C[i,j] + A[i,k]*B[k,j]; end; end; 9. Номера максимальных элементов в каждой строке А(3, 4) сами образуют массив B(3). Цикл такой: for i:=1 to 3 do begin Max = A[i, 1]; for j:= 1 to 4 do if A[i,j] > Max then Max := A[i,j]; B[i]:= j; end;
10. Тоже самое, как в 9 for i:=1 to 3 do begin B[i] = 0; for j:= 1 to 4 do if (A[i,j] mod 3 = 0) then B[i] := B[i] + A[i,j]; end;
11. Сначала заполним массив B[i] средними ариф. по строкам for i:=1 to 3 do begin B[i] = 0; for j:= 1 to 4 do B[i] := B[i] + A[i,j]; B[i] := B[i] / 4; end; А потом найдем в каждой строке A[i,j], сколько элементов больше B[i]. Посчитаем их в счетчике с и запишем обратно в массив B[i]. for i:=1 to 3 do begin c:=0; for j:= 1 to 4 do if A[i,j] > B[i] then c:=c+1; B[i] := c; end;
2) Ввод матрицы A(5, 10)
3) Цикл по i от 1 до 5 // по строкам
3.1) max = A(i, 1); min = A(i, 1); nmax = 1; nmin = 1;
3.2) Цикл по k от 1 до 10 // по столбцам
3.2.1) Если A(i, k) > max, то // находим максимум в строке и его номер
3.2.1.1) max = A(i, k); nmax = k;
3.2.1.2) Конец Если
3.2.2) Если A(i, k) < min, то // находим минимум в строке и его номер
3.2.2.1) min = A(i, k); nmin = k;
3.2.2.2) Конец Если
3.2.3) Конец цикла по k // по столбцам
3.2.4) A(i, nmin) = max; A(i, nmax) = min // меняем их местами
3.3) Конец цикла по i // по строкам
4) Вывод массива A(5, 10)
5) Конец.
Сложность такой программы - 1 (очень простая).
Всего лишь два цикла в цикле и два сравнения чисел.
c(i, j) = Summa(1, k) a(i, k)*b(k, j)
То есть надо три цикла друг в друге, а внутри эта формула.
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin
C[i,j]:=0;
for k:=1 to 3 do C[i,j] := C[i,j] + A[i,k]*B[k,j];
end;
end;
9. Номера максимальных элементов в каждой строке А(3, 4) сами образуют
массив B(3). Цикл такой:
for i:=1 to 3 do
begin
Max = A[i, 1];
for j:= 1 to 4 do
if A[i,j] > Max then Max := A[i,j]; B[i]:= j;
end;
10. Тоже самое, как в 9
for i:=1 to 3 do
begin
B[i] = 0;
for j:= 1 to 4 do if (A[i,j] mod 3 = 0) then B[i] := B[i] + A[i,j];
end;
11. Сначала заполним массив B[i] средними ариф. по строкам
for i:=1 to 3 do
begin
B[i] = 0;
for j:= 1 to 4 do B[i] := B[i] + A[i,j];
B[i] := B[i] / 4;
end;
А потом найдем в каждой строке A[i,j], сколько элементов больше B[i].
Посчитаем их в счетчике с и запишем обратно в массив B[i].
for i:=1 to 3 do
begin
c:=0;
for j:= 1 to 4 do if A[i,j] > B[i] then c:=c+1;
B[i] := c;
end;