Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2013, 19:09   #1
adaptes
Пользователь
 
Регистрация: 04.12.2013
Сообщений: 25
По умолчанию Двумерный массив, помогите пожалуйста!

я написал программу которая просто выводит матрицу. но мне надо ее доделать так, чтобы все элементы в упорядочились в столбцах по убыванию
язык: Delphi

Код:
program Project6;
{$APPTYPE CONSOLE}
uses
  sysutils,
  windows;
label sle;
const n=4;
par=(n*4);
type matriz=array[1..n,1..n] of integer;
var i,j:integer;
mas:matriz;
im:array[1..par] of integer;
procedure vvod(var vmas:matriz);
begin
setconsolecp (1251);
setconsoleoutputcp (1251);
writeln('вводим элементы массива. расмерность [',n,',',n,']');
for i:=1 to n do
for j:=1 to n do
begin
write('введите элемент [',i,',',j,']=');
readln(vmas[i,j]);
end;
end;
procedure print(vmas:matriz);
begin
writeln('ваш массив имеет вид');
for i:=1 to n do
begin
for j:=1 to n do
begin
write(' ',vmas[i,j],' ');
end;
writeln;
end;
end;
begin
vvod(mas);
print(mas);
writeln('программа закончена. нажмите enter.');
readln;
end.
adaptes вне форума Ответить с цитированием
Старый 06.12.2013, 19:20   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

По идее так:
Код:
for i:=1 to n do begin
 for j:=1 to n do begin
  for k:=1 to n do
   if mas[k,j]<mas[k,i] then begin
    l:=mas[k,j]; mas[k,j]:=mas[k,i]; mas[k,i]:=l;
   end;
 end;
end;
Ну и переменные l,k добавь в integer;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.12.2013, 19:47   #3
adaptes
Пользователь
 
Регистрация: 04.12.2013
Сообщений: 25
По умолчанию

Цитата:
По идее так:
Код:

for i:=1 to n do begin
for j:=1 to n do begin
for k:=1 to n do
if mas[k,j]<mas[k,i] then begin
l:=mas[k,j]; mas[k,j]:=mas[k,i]; mas[k,i]:=l;
end;
end;
end;

Ну и переменные l,k добавь в integer;
мне нужно сортировку столбцов, а это сортировка строк. что нужно поменять, чтобы была сортировка по столбцам?
adaptes вне форума Ответить с цитированием
Старый 06.12.2013, 22:30   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

k и j в циклах поменяй местами. Я мог и ошибиться.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив двумерный помогите) Елешечка Паскаль, Turbo Pascal, PascalABC.NET 6 03.12.2013 23:12
Двумерный массив! Помогите пожалуйста! Naaat Паскаль, Turbo Pascal, PascalABC.NET 1 04.06.2009 13:45