Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.61/41: Рейтинг темы: голосов - 41, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 36

сортировка двумерного массива

07.11.2009, 19:55. Показов 7843. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
отсортировать четные элементы по возростанию для всей матрицы по строкам.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.11.2009, 19:55
Ответы с готовыми решениями:

Сортировка двумерного массива
Помогите пожалуйста... Есть матрица, 9х9 которая заполняется случайными числами. Нужно заменить нулями все элементы в обведенных областях...

сортировка двумерного массива
нужно отсортировать двумерный массив методом вставок по убыванию элементов к-столбца. Помогите пожалуйста. Благодарю. for i:=1 to...

Сортировка двумерного массива
Дан двумерный массив. Отсортировать всю матрицу по убыванию

35
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 20:01
jordj-93, вот тут таких четыре задачи "один в один":
Pascal
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
uses
  crt;
const
  str=6;{количество строк}
  sto=6;{количество столбцов}
var
  a:array [1..str,1..sto] of integer;
  i,j,k,temp:integer;
begin
  clrscr;
  {заполняем и выыводим массив}
  writeln('Исходная матрица:');
  for i:=1 to str do
  begin
    for j:=1 to sto do
    begin
      a[i,j]:=random(8)-4;
      write(a[i,j]:2,' ')
    end;
    writeln
  end;
  {сортируем матрицу построчно}
    for i:=1 to str do
      for j:=1 to sto do
        if odd(j)=false then
          for k:=j to sto do
            if (a[i,k]<a[i,j]) and (odd(k)=false) then
            begin
              temp:=a[i,k];
              a[i,k]:=a[i,j];
              a[i,j]:=temp
            end;
  {выводим матрицу}
  writeln('Полученная матрица:');
  for i:=1 to str do
  begin
    for j:=1 to sto do
      write(a[i,j]:2,' ');
    writeln
  end;
end.
1
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 36
07.11.2009, 20:17  [ТС]
но нельзя использовать константы и рандомы
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 20:21
jordj-93, а кто вам мешает переделать это??? или вам надо что все с ленточкой красной было??? это не так сложно... ладно если бы вы самого метода не понимали, а то таких элементарных вещей...
1
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 36
07.11.2009, 20:23  [ТС]
справишься?

Добавлено через 1 минуту
а можешь сделать?
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 20:26
Pascal
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
42
43
44
45
uses
  crt;
var
  a:array [1..100,1..100] of integer;
  str,sto,i,j,k,temp:integer;
begin
  clrscr;
  writeln('Çàäàéòå êîëè÷åñòâî ñòðîê:');
  readln(str);
  writeln('Çàäàéòå êîëè÷åñòâî ñòîëáöîâ:');
  readln(sto);
  for i:=1 to str do
    for j:=1 to sto do
    begin
      writeln('Ýëåìåíò a[',i,',',j,']:');
      readln(a[i,j])
    end;
  {âûûâîäèì ìàññèâ}
  writeln('Èñõîäíàÿ ìàòðèöà:');
  for i:=1 to str do
  begin
    for j:=1 to sto do
      write(a[i,j]:2,' ');
    writeln
  end;
  {ñîðòèðóåì ìàòðèöó ïîñòðî÷íî}
    for i:=1 to str do
      for j:=1 to sto do
        if odd(j)=false then
          for k:=j to sto do
            if (a[i,k]<a[i,j]) and (odd(k)=false) then
            begin
              temp:=a[i,k];
              a[i,k]:=a[i,j];
              a[i,j]:=temp
            end;
  {âûâîäèì ìàòðèöó}
  writeln('Ïîëó÷åííàÿ ìàòðèöà:');
  for i:=1 to str do
  begin
    for j:=1 to sto do
      write(a[i,j]:2,' ');
    writeln
  end;
end.
0
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 36
07.11.2009, 20:47  [ТС]
она работает но не так как надо
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 20:54
jordj-93, что значит не так? вам нужно четных отсортировать по возрастанию... вот мои результаты проверки:
Code
1
2
3
4
8 [B]5[/B] 4 [B]1[/B]
8 [B]6[/B] 9 [B]4[/B]
3 [B]5[/B] 3 [B]7[/B]
5 [B]6[/B] 3 [B]4[/B]
результат:
Code
1
2
3
4
8 [B]1[/B] 4 [B]5[/B]
8 [B]4[/B] 9 [B]6[/B]
3 [B]5[/B] 3 [B]7[/B]
5 [B]4[/B] 3 [B]6[/B]
0
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 36
07.11.2009, 21:20  [ТС]
мне нужно отсортировать четные по взростанию для всей матрицы по строкам.
тоесть должнобыть вот так:

это исходная матрица
3 4 5 4 2
8 6 4 5 6
6 8 7 9 1
результат сортировки
3 2 5 4 4
4 6 6 5 6
8 8 7 9 1
меняться местами должны только нечетные
а четные должны оставаться на своих местах.
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 21:28
jordj-93, вы сами то поняли что написали???
Цитата Сообщение от jordj-93 Посмотреть сообщение
мне нужно отсортировать четные по взростанию для всей матрицы по строкам
и вы же пишете
Цитата Сообщение от jordj-93 Посмотреть сообщение
меняться местами должны только нечетные
а четные должны оставаться на своих местах.
полный бред...
0
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 36
07.11.2009, 21:35  [ТС]
извените должно быть так :
только четные должны менятся местами
а нечетные должны оставаться на своих местах
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 21:48
Цитата Сообщение от jordj-93 Посмотреть сообщение
извените должно быть так :
только четные должны менятся местами
а нечетные должны оставаться на своих местах
ну я знаю что так должно быть... а теперь посмотрите на результаты проверки которую я присылал, у меня все работает, а почему у вас так я не знаю...
0
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 36
07.11.2009, 21:48  [ТС]
можете сделать?
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 21:58
Цитата Сообщение от jordj-93 Посмотреть сообщение
можете сделать?
что сделать?

Добавлено через 1 минуту
я действительно не понимаю почему у вас не работает...

Добавлено через 1 минуту
конечно можно забить на своё время и написать все с нуля... но чуть позже...
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
07.11.2009, 22:04
Inadequate, Не четные строки отсортировать, а по строкам, во всей матрице отсортировать четные элементы. Если все подряд, то 2 раза выкладывали такие решения, а это сложней, здесь нет четкого перехода со строки на строку, я например сходу не напишу это.
0
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 36
07.11.2009, 22:08  [ТС]
МОЖЕШЬ ТО НАПИШИ ТОЛЬКО ПОЖАЛУЙСТА ТО ЗАВТРА

Добавлено через 1 минуту
ЕСЛИ МОЖЕШЬ ТО НАПИШИ ДО ЗАВТРА.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
07.11.2009, 22:14
jordj-93, Извини, у меня первый час ночи, и совсем нет желания чего-то писать, я же говорю, с ходу не получилось.
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 22:15
Puporev, так а что не так то? у меня все правильно работает...
то есть в матрице 4х4 надо заменить элемент 1,2 с 1,4 потом 2,2 с 2,4 потом 3,2 с 3,4 потом 4,2 с 4,4... так и работает...

Добавлено через 35 секунд
или надо четные по значению?
0
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 36
07.11.2009, 22:17  [ТС]
И ЕЩЕ РАЗ УСЛОВИЕ:
ОТСОРТИРОВАТЬ ЧЕТНЫЕ ЭЛЕМЕНТЫ ПО ВОЗРОСТАНИЮ ДЛЯ ВСЕЙ МАТРИЦЫ ПО СТРОКАМ.
ТО ЕСТЬ ДОЛЖНО БЫТЬ ВОТ ТАК:

ИСОДНАЯ МАТРИЦА:

1 3 5 4 6
9 4 8 5 2
3 7 4 1 3

ПОЛУЧЕННАЯ МАТРИЦА:

1 3 5 2 4
9 4 4 5 6
3 7 8 1 3

ДА ТАК ЖЕ
МЕНЯТЬ МЕСТАМИ ПРИ СОРТИРОВКЕ МОЖНО ТОЛЬКО ЧЕТНЫЕ
А НЕЧЕТНЫЕ ДОЛЖНЫ ОСТАВАТЬСЯ НА СВОИХ МЕСТАХ.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
07.11.2009, 22:19
Inadequate, Нужно четные не по номерам, а по значениям. Он же привел пример. Нужно чтоб четные числа строго убывали по строкам начиная с первой и кончая последней, как если бы мы вытянули матрицу в массив, отсортировали только четные, потом обратно собрали в матрицу. Я на первых порах так и решал, но потом мне сказали что нужно без дополнительного массива, я придумал как, но только для всех подряд. Видел чей-то код на эту тему лучше моего, но тоже всех подряд.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.11.2009, 22:19
Помогаю со студенческими работами здесь

Сортировка двумерного массива
Имеется двумерный масссив кол-во столбцов 3, кол-во строк n. Нужно упорядочить массив по возрастанию значений в 3 столбце. Например...

Сортировка двумерного массива.
Для матрицы отсортировать строки в порядке убывания их минимальных элементов(метод вставок). Помогите пожалуйста, нигде не могу найти как...

Сортировка двумерного массива
program p1; type t=array of char; tt=array of t; var a:tt; i,j,n:byte; begin assign(input,'dan1.inp'); ...

Сортировка двумерного массива
Как можно отсортировать двумерный массив например методом выбора не используя перевод в одномерный массив......?

Сортировка двумерного массива
Задан двумерный массив 5*5, отсортировать строки в нем по убыванию количества простых чисел в каждой строке. (если в строке наибольшее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru