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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2009, 18:58   #1
Сергей Человек
Пользователь
 
Регистрация: 06.07.2009
Сообщений: 13
По умолчанию Помогите з Сортировкой масива в С++

Дан массив 5х5 построить его в последовательности
<-----------M[0;0]
------------->
<------------
------------->
M[5;5] <------------

спасибо...
Сергей Человек вне форума Ответить с цитированием
Старый 06.07.2009, 19:20   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Что вам, собственно, не понятно? Что не получается? Где ваши наработки?

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

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 06.07.2009, 19:25   #3
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Товарисч имел ввиду такую сортировку:
Цитата:
1 2 3
4 5 6
7 8 9
//Протупил
Код:
int matrix[5][5]=
{ {1,2,3,4,5},
   {1,2,3,4,5},
   {1,2,3,4,5},
   {1,2,3,4,5},
   {1,2,3,4,5}
}
int buf;
for(int i=0;i<5;i++)
{
    buf=matrix[0][i];
    matrix[0][i]=matrix[4][i];
    matrix[4][i]=buf;

    buf=matrix[1][i];
    matrix[1][i]=matrix[3][i];
    matrix[3][i]=buf;
}
Так?
//Опять протупил... сегодня не мой день

Последний раз редактировалось Levsha100; 06.07.2009 в 19:39.
Levsha100 вне форума Ответить с цитированием
Старый 06.07.2009, 19:27   #4
Сергей Человек
Пользователь
 
Регистрация: 06.07.2009
Сообщений: 13
По умолчанию

Дана матрица 5х5 нужно ввести матрицу, а выходная матрица должни быть в такой последовательности как показано на рисунку, то есть елемент М[0;0]ДОЛЖЕН БЫТЬ ЕЛЕМЕНТОМ М[0;4] ИТАК ДАЛЕ.
Сергей Человек вне форума Ответить с цитированием
Старый 06.07.2009, 19:28   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Levsha100, честно говоря, стрелки в разных направлениях наводят на мысли, что это что-то другое ) Не зря же указаны местоположения первого и последнего элемента.

Сергей Человек, еще раз: приведите пример.

Пусть есть матрица:
Код:
1 5 9 3
5 7 8 3
3 4 2 0
4 6 8 6
Что должно получится?
Вот это?
Код:
1 3 5 9
8 7 5 3
0 2 3 4
8 6 6 4
И еще раз: что вам конкретно не понятно?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 06.07.2009 в 19:30.
Sazary вне форума Ответить с цитированием
Старый 06.07.2009, 19:29   #6
Сергей Человек
Пользователь
 
Регистрация: 06.07.2009
Сообщений: 13
По умолчанию

НЕТ
3 2 1
4 5 6
9 8 7
ВОТ ТАКУЮ
Сергей Человек вне форума Ответить с цитированием
Старый 06.07.2009, 19:34   #7
stiv73
Пользователь
 
Регистрация: 17.06.2009
Сообщений: 26
По умолчанию

Могу помочь пиши в асю 402114052 с 19 -20 часов по Москве
stiv73 вне форума Ответить с цитированием
Старый 06.07.2009, 19:35   #8
Сергей Человек
Пользователь
 
Регистрация: 06.07.2009
Сообщений: 13
По умолчанию

ИЗ ЭТОЙ МАТРИЦИ
1 5 9 3
5 7 8 3
3 4 2 0
4 6 8 6
ДОДЖНО ПОЛУЧИТСЯ
3 9 5 1
5 7 8 3
0 2 4 3
4 6 8 6
ТОЕСТЬ НЕЧЕТНЫЕ СТРОКИ ДОЛЖНЫ ЗАПИСЫВАТЬСЯ НАОБОРОТ, КАК ЭТО РЕАЛИЗОВАТЬ Я НЕ ДОГОНЮ,ПОМОГИ
Сергей Человек вне форума Ответить с цитированием
Старый 06.07.2009, 19:42   #9
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
Цикл по i от 0 до M   // цикл по строкам
 {
 если i % 2 == 0 // если номер строки четный
  {
   цикл по j от 0 до (N/2)   // N - количество столбцов
    {
     temp = Массив[i][j]
     Массив[i][j] = Массив[i][N-j-1]
     Массив[i][N-j-1] = temp
    }
  }
 }
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 06.07.2009, 19:43   #10
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Ааа...
Короче самый простой способ:
Создаем еще один массив
Код:
int A[5*5];
Потом заполняем его числами из первого массива
Код:
for(int j=0;j<5;j++)
{
  for(int i=0;i<5;i++)
  {
    A[(i+1)*(j+1)-1]=A[i][j]
  }
}
Потом сортируем второй массив и записываем все это в первый!
//Хорошо, что задание не на Brainfuck)))

Последний раз редактировалось Levsha100; 06.07.2009 в 19:45.
Levsha100 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с сортировкой... DIzza Паскаль, Turbo Pascal, PascalABC.NET 3 16.06.2009 00:46
Помогите с сортировкой maxic Microsoft Office Excel 5 21.02.2009 17:47
Помогите с сортировкой в C++. Vollmond36 Помощь студентам 1 02.12.2008 23:06
Помогите с сортировкой. Dissonance БД в Delphi 14 05.06.2008 15:35
Помогите с сортировкой radist Паскаль, Turbo Pascal, PascalABC.NET 5 23.04.2007 12:50