Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
Результаты опроса: Автор - идиот?
Однозначно. Это же элементарно! 1 50.00%
Отсортировать просто, над выводом надо подумать. 1 50.00%
Вставками - бред. Пузырек рулит 0 0%
Сам не знаю, как сделать 0 0%
Голосовавшие: 2. Вы ещё не голосовали в этом опросе

 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Hose
0 / 0 / 0
Регистрация: 25.04.2009
Сообщений: 3
#1

Отсортировать массив змейкой - C++

25.04.2009, 18:55. Просмотров 1570. Ответов 6
Метки нет (Все метки)

Есть массив, который заполняется случайными числами (допустим, 0-9).
Отсортировать его по невозрастанию (каждый следующий элемент не более предыдущего) и вывести его змейкой, как показано на рисунке.

Примечания:
1. Отсортировать вставками
2. Запрещается вводить дополнительные массивы, сортировать в исходном двумерном.
3. Должен работать как с четным, так и нечетным размером

Помогите, плиз
Миниатюры
Отсортировать массив змейкой  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2009, 18:55     Отсортировать массив змейкой
Посмотрите здесь:

Заполнение змейкой, массив не 2D! - C++
Добрый день всем. вот получил задание по С++ заполнение змейкой, но не такое простое как кажется на первый взгляд( искал на форуме не...

Заполнить массив змейкой справа налево - C++
#include <stdlib.h> #include <stdio.h> #include <ctype.h> #include <conio.h> #include <math.h> #include <time.h> void...

Вывести массив змейкой(три вида) - C++
Привет всем.Помогите решить задачки по змейкам.В приложении лежит 3 варианта как надо сделать. Вариант а и в удалось найти у вас на...

Двухмерный массив (заполнить змейкой квадратную матрицу) - C++
Требуется заполнить змейкой квадратную матрицу так, как показано на рисунке справа: заполнение происходит с единицы из левого верхнего угла...

Массив: отсортировать массив в порядке возрастания и найти количество соседних пар элементов отличающихся между собой - C++
Дано массив целых чисел 20, отсортировать его в порядке возрастания и найти количество соседних пар элементов отличающихся между собой ...

Вывести массив "змейкой" - C++
Помогите расположить массив вот так: 10 ... 1 11 ... 20 30 ... 21 31 ... 40 ... ... ... 111...120 Не знаю, как называется...

Заполнить массив "змейкой" - C++
Нужно заполнить массив "змейкой" что-то вроде: 1 6 7 12 2 5 8 11 3 4 9 10 Но так не получается,в чём дело? #include <iostream> ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Анонимус
0 / 0 / 0
Регистрация: 24.04.2009
Сообщений: 16
25.04.2009, 19:03     Отсортировать массив змейкой #2
сортировку лучше квиксортом
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
25.04.2009, 19:09     Отсортировать массив змейкой #3
Цитата Сообщение от Анонимус Посмотреть сообщение
сортировку лучше квиксортом
По уловию задачи :
Цитата Сообщение от Hose Посмотреть сообщение
1. Отсортировать вставками
Hose
0 / 0 / 0
Регистрация: 25.04.2009
Сообщений: 3
25.04.2009, 19:27  [ТС]     Отсортировать массив змейкой #4
Сортировка вставками на малых массивах дает наилучший результат, к тому же ISergey правильно заметил - таково условие.

Предпочтительно на C (тогда я пойму ), но и на C++ не обижусь
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
25.04.2009, 19:48     Отсортировать массив змейкой #5
да любым методом... написать формулу, приводящую координаты исходного массива к схеме змейки - и сортируй хоть пузырьками, хоть монте-карло...
Hose
0 / 0 / 0
Регистрация: 25.04.2009
Сообщений: 3
25.04.2009, 20:05  [ТС]     Отсортировать массив змейкой #6
Это понятно, только вот ну не доходит до меня, как реализовать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2009, 21:18     Отсортировать массив змейкой
Еще ссылки по теме:

отсортировать массив - C++
Здравствуйте форумчане! Суть задачи такова, допустим дан массив от 1 до n, нам надо отсортировать все числа и записать их в новые массивы ...

Отсортировать массив - C++
Задан символьный массив размера N. Отсортировать массив так, что бы сначала в нем в алфавитном порядке шли согласные буквы латинского ...

Отсортировать массив - C++
Написать программу с помощью оператора IF, нельзя использовать FOR. Можно так же использовать цикл WHILE. Задача: Отсортировать массив...

Отсортировать массив c++ - C++
Подскажите как переделать чтобы до введенного числа числа шли по возрастанию а после по убыванию у меня все наоборот #include...

Отсортировать массив - C++
Отсортировать массив указанным способом, использовать процедуры ввода и вывода массивов, выделить в задаче вспомогательные алгоритмы и...


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

Или воспользуйтесь поиском по форуму:
EnzoMatrix
120 / 120 / 5
Регистрация: 14.03.2009
Сообщений: 462
25.04.2009, 21:18     Отсортировать массив змейкой #7
что то в этом духе наверно
C++
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
i=0;
j=0;
k=0;
m=0;//i,j координаты в змейке, k,m-в исходном
perestanovka(k,m,i,j);//процедура перестановки элемента[k,m] и [i,j])
for(;(i<n)||(j<n);)//через кучу циклов задаем путь змейки
   {
   j++;
   k++; if (k==n) {k=0;m++}
   perestanovka(k,m,i,j);
   for(;(i<n)&&(j>0);)
      {
      j--;
      i++;
      k++; if (k==n) {k=0;m++}
      perestanovka(k,m,i,j);
      }
   i++;
   perestanovka(k,m,i,j);
   for(;(i>0)&&(j<n);)
      {
      i--;
      j++;
      k++; if (k==n) {k=0;m++}
      perestanovka(k,m,i,j);
      }
   }
//не тестил прогу, как пашет не знаю
Добавлено через 25 минут 44 секунды
можно при желании сразу выводить, тогда k,m будут координатами вывода, но если числа не одинаковой длины то тяжко придется
Yandex
Объявления
25.04.2009, 21:18     Отсортировать массив змейкой
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru