Решенные задачи на языке Паскаль
Страницы –» 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15 * 16 * 17 * 18 * 19 * 20 * 21 * 22 * 23 * 24 * 25 * 26 * 27 * 28 * 29 * 30 * 31 * 32 * 33 * 34 * 35 * 36 * 37 * 38 * 39 * 40 * 41 * Разделы решенных задач
Условие задачи прислали на 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).
Copyright © 2001
<A href="http://ad.strict.tbn.ru/bb.cgi?cmd=go&pubid=2846384&pg=1&vbn=353&num=1&w=468&h=60&nocache=920752&loc=http%3A//pascalstudy.narod.ru/exemple/3.html&ref=http%3A//pascalstudy.narod.ru/exemple/39.html" target="_top"><IMG src="http://ad.strict.tbn.ru/bb.cgi?cmd=ad&pubid=2846384&pg=1&vbn=353&num=1&w=468&h=60&nocache=920752&ref=http%3A//pascalstudy.narod.ru/exemple/39.html&loc=http%3A//pascalstudy.narod.ru/exemple/3.html" width=468 height=60 Alt="TBN -- The Banner Network" border=0></A>
Изучение языка программирования Турбо Паскаль
На этом сайте можно: скачать среду программирвания Турбо Пакаль, изучить язык программирования Турбо Паскаль, а так же скачать программы на языке Турбо Паскаль!
|