Решенные задачи на языке Паскаль
Условие задачи прислали на e-mail.
Сформировать матрицу B путём вычёркивания строки и столбца на пересечении которых расположен минимальный элемент матрицы A. Матрица A (5*5).
VAR a:array[1..5,1..5]of integer; b:array[1..4,1..4]of integer; i,j,i1,j1,x,y:word; min_a:integer; BEGIN randomize; { 1). Создание матрицы A из случайных чисел, вывод ее на экран } writeln('Матрица A:'); for i:=1 to 5 do begin writeln; for j:=1 to 5 do begin a[i,j]:=10+random(90); write(' ',a[i,j]); end; end; { 2). Нахождение минимального элемента в матрице A } min_a:=a[1,1]; x:=1; y:=1; for i:=1 to 5 do for j:=1 to 5 do begin if min_a>a[i,j] then begin min_a:=a[i,j]; x:=i; y:=j; end; end; writeln; writeln('Минимальный элемент и его положение в матрице A:'); writeln('min=',min_a,' x=',x,' y=',y); { 3). Создание матрицы B} j1:=0; i1:=1; for i:=1 to 5 do for j:=1 to 5 do begin if (i<>x)and(j<>y)then begin j1:=j1+1;if j1>4 then begin j1:=1; i1:=i1+1;if i1>4 then i1:=1; end; b[i1,j1]:=a[i,j]; end; end; { 4). Вывод матрицы B: } writeln; writeln('Матрица B:'); for i1:=1 to 4 do begin writeln; for j1:=1 to 4 do write(' ',b[i1,j1]); end; END.* переменная a - исходная матрица, размером 5*5
* переменная b - матрица, полученная из матрицы A, размером 4*4
* переменные i, j, i1, j1 - используются для цикла
* переменные x, y - для определения положения минимального элемента матрицы A
* переменная min_a - минимальный элемент в матрице A.
Решение этой задачи я разбил на 4 части: создание матрицы A, нахождение минимального элемента в матрице A, создание матрицы B, вывод матрицы B. Я расскажу только о второй и третьей частях т.к. они являются основой решения этой задачи.
Нахождение минимального элемента в матрице AДля хождения минимального элемента проверяем условие min>a[i,j] т.е. сравниваем один элемент матрицы с другим и тот элемент, который меньше присваиваем переменной min. Так же в условии задачи сказано, что матрица B сформирована путём вычёркивания строки и столбца на пересечении которых расположен минимальный элемент матрицы A. Поэтому для формирования матрицы B нужно знать какую строку и какой столбец из матрицы A нужно вычеркнуть. Для этого используем переменные x - строка, y - столбец, которые легко узнаются при определении минимаьного элемента матрицы A.
Создание матрицы B
Самая трудная часть это создать матрицу B, когда уже известно какуюстроку и какой столбец не будет содержаться в матрице B. Так как матрица A была размером 5*5, то матрица B, будет размером 4*4 т.к. вычеркиваем одину строчку и столбец. Матрицу B создаем перебирая все элементы матрицы A и записываем их в матрицу B, только в том случае, если элемент из матрицы A не расположен по той строке и по тому столбцу, где находится минимальный элемент матрицы A т.е. если (i<>x) и (j<>y).