IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Сортировка матрицы, построчно
Tay
сообщение 5.04.2005 12:20
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


Ребят помогите решить задачу
Упорядочить по возрастанию элементы каждой строки матрицы размером n на m.

Разделено из темы: Задачи -> Диагонали матрицы


--------------------
Никакие рассуждения не в состоянии указать человеку путь, которого он не хочет видеть.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 5.04.2005 13:10
Сообщение #2


Гость






Посмотрите вот это: FAQ: Как поменять местами строки в матрице. Я понимаю, что в этой задаче нужно немного другое, но если матрица будет задана так, как описано по линку, то с каждой ее строкой можно будет просто работать как с массивом безо всяких преобразований (кстати, и сортировать лобым из этих методов - тоже :yes: )
 К началу страницы 
+ Ответить 
Tay
сообщение 5.04.2005 19:19
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 5.04.05 14:10)
Посмотрите вот это: FAQ: Как поменять местами строки в матрице. Я понимаю, что в этой задаче нужно немного другое, но если матрица будет задана так, как описано по линку, то с каждой ее строкой можно будет просто работать как с массивом безо всяких преобразований (кстати, и сортировать лобым из этих методов - тоже :yes: )

Я пробовал но у меня не получилось.
На данный момент мои познания в Паскале довольно малы чтобы решить её.
Если не трудно реши её, буду очень благодарен.


--------------------
Никакие рассуждения не в состоянии указать человеку путь, которого он не хочет видеть.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 5.04.2005 19:39
Сообщение #4


Гость






Ну ведь все готово, только соединить в одну программу...
Код
const
 size_row = 5; { число строк }
 size_col = 6; { число столбцов }

type
 tvector = array[1 .. size_col] of integer;
 tmatrix = array[1 .. size_row] of tvector;

procedure bubble(var vec: tvector;
         n: integer);
var i, j, T: Integer;
begin
 for i := 1 to n do
   for j := n downto i+1 do
     if vec[Pred(j)] > vec[j] then { < } begin
       T := vec[Pred(j)]; vec[Pred(j)] := vec[j]; vec[j] := T
     end
end;

procedure print(var mx: tmatrix);
var i, j: integer;
begin
 for i := 1 to size_row do begin
   for j := 1 to size_col do
     write(mx[i][j]:4);
   writeln
 end;
end;

var
 mx: tmatrix;
 i, j: integer;
begin

 for i := 1 to size_row do
   for j := 1 to size_col do
     mx[i][j] := random(100);
 writeln('до сортировки'); print(mx);

 for i := 1 to size_row do
   bubble(mx[i], size_col);

 writeln('после сортировки'); print(mx);

end.
 К началу страницы 
+ Ответить 
klem4
сообщение 5.04.2005 19:40
Сообщение #5


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Код

{...}
procedure bubble;
var flag:boolean;
   t:integer;
begin
  repeat
     flag:=true;
     for j:=1 to m-1 do
      if not(x[i,j]<=x[i,j+1]) then
       begin
          t:=x[i,j];
          x[i,j]:=x[i,j+1];
          x[i,j+1]:=t;
          flag:=false;
       end;
  until flag;
end;
{...}
for i:=1 to n do
    bubble;
{...}


вот_и_все


одновременно ;)

Сообщение отредактировано: klem4 - 5.04.2005 19:41


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 2:25
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"