|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.09.2010, 14:58 | #11 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Далее при mas[i]=new int[stb]; в ячейки этого массива пишется указатель на новый блок памяти (он не обязательно рядом с тем лежит, если тебя это интересует), количеством stb*4 ибо int - 4 байта. И так каждой ячейке главного массива присваиваются указатели, на вновь выделенные блоки памяти, а в самой памяти (куче) они могут располагаться хаотически.
I'm learning to live...
|
|
05.09.2010, 23:31 | #12 |
Пользователь
Регистрация: 16.08.2010
Сообщений: 13
|
ага а теперь ещё хуже...
как отсортить масив такой? у меня сортирует токо куски=( код: Код:
Последний раз редактировалось Stilet; 06.09.2010 в 09:23. |
06.09.2010, 09:24 | #13 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Написал одну функцию сортировки одномерного массива, и вызывай ее рекурсивно для n-мерного.
I'm learning to live...
|
|
07.09.2010, 12:03 | #14 |
Пользователь
Регистрация: 16.08.2010
Сообщений: 13
|
ДА! Детка Бендер лучший!
Посидев пару тройку часиков в пошаговом режиме и используя сортировку для 2d массива всётаки раскусил потавленную задачу без функций и рекурсии. код: #include <iostream> #include <stdlib.h> void main(){ int str=3,stb=4,stg=5; int ***qub=new int**[str]; for(int i=0;i<str;i++){ qub[i]=new int*[stb]; for(int j=0;j<stb;j++){ qub[i][j]=new int[stg]; for(int z=0;z<stg;z++){ qub[i][j][z]=rand()%75; cout<<qub[i][j][z]<<"\t"; } cout<<"\n"; } cout<<"\n"; } for(int k=0;k<str*stb*stg-1;k++){ int imin=qub[k/stb/stg][(k%(stb*stg))/stg][k%stg]; for (int i=k/stb/stg;i<str;i++) for (int j=0;j<stb;j++) if((i>k/stb/stg)||(j>=(k%(stb*stg))/stg)) for(int z=0;z<stg;z++) if((i>k/stb/stg)||(j>(k%(stb*stg))/stg)||(z>=k%stg)) if (qub[i][j][z]<imin){ imin=qub[i][j][z]; qub[i][j][z]=qub[k/stb/stg][(k%(stb*stg))/stg][k%stg]; qub[k/stb/stg][(k%(stb*stg))/stg][k%stg]=imin; } } cout<<"\nSort QUB:\n"; for(int i=0;i<str;i++){ for(int j=0;j<stb;j++){ for(int z=0;z<stg;z++){ cout<<qub[i][j][z]<<'\t'; } cout<<"\n"; } cout<<"\n"; } cin.get(); } |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
проверка динамического масива | Лубышев | Помощь студентам | 3 | 31.08.2009 00:00 |
Создание н-мерного динамического массива | Парсифаль | Общие вопросы C/C++ | 33 | 02.05.2009 18:29 |
Удаление записи из динамического масива... | Altera | Общие вопросы Delphi | 4 | 09.06.2008 09:15 |
Сортировка строк 2-мерного массива | Mayday_007 | Помощь студентам | 1 | 04.04.2008 09:26 |
СОХРАНИЯ В ФАЙЛ ДВУМЕРНОГО ДИНАМИЧЕСКОГО МАСИВА!!!! | _FL@ER_ | Помощь студентам | 2 | 23.06.2007 16:31 |