Консультация № 175131
11.12.2009, 11:01
0.00 руб.
0 1 1
Уавжаемые экперты, помогите решть задачу!

Дана квадратная матрица А.
Упорядочить элементы 1 столбца по возрастанию и удалить каждую вторую строку.

Благодарю!!

Обсуждение

давно
Специалист
246813
155
13.12.2009, 11:12
общий
это ответ
Здравствуйте, Дмитрий Ковальчук.
Программа проверена на FREE PASCAL. Комментарии в самой программе.
Рад был помочь!
Код:
program q175131;
const l=100;
var a:array[1..l,1..l] of byte;{Каждый элемент матрицы не больше 255}
i,j,n,k:integer;
begin
Write('Введите размерность квадратной матрицы: ');
ReadLn(n);

for i:=1 to n do {Заполняем матрицу}
for j:=1 to n do
begin
write('a[',i,',',j,']=');
readln(a[i,j]);
end;

WriteLn('Исходная матрица: ');
for i:=1 to n do {Выводим на экран}
for j:=1 to n do
begin
Write(a[i,j],' ');
if j=n then writeln;
end;

for j:=1 to n-1 do {сортируем по возрастанию первый столбец}
for i:=1 to n-j do
begin
if a[i,1]<a[i+1,1] then
begin
k:=a[i+1,1];
a[i+1,1]:=a[i,1];
a[i,1]:=k;
end;
end;

WriteLn('Матрица, в которой первый столбец упорядочен по возрастанию: ');
for i:=1 to n do {Выводим на экран}
for j:=1 to n do
begin
Write(a[i,j],' ');
if j=n then writeln;
end;

i:=1;
Writeln('Матрица, в которой отсутствует каждая вторая строка:');
while i<=n do {Выводим на экран нечетные строки}
begin
for j:=1 to n do
begin
Write(a[i,j],' ');
if j=n then writeln;
end;
i:=i+2;
end;

WriteLn('Для продолжения нажмите ENTER...');
ReadLn;
end.
Форма ответа