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

Преобразовать двумерный в одномерный - C++

Восстановить пароль Регистрация
 
khafiz shamurov
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 5
31.10.2013, 15:39     Преобразовать двумерный в одномерный #1
Ребят,подскажите,как преобразовать двумерный массив в одномерный, при этом не увеличивая число форов

using namespace std;
template <class T>
T Sort(const int N,T* Arr)//Шаблон функции сортировки выбором
{
T buff;
int b;
for (int i=0;i<(N-1);i++)//Внешний цикл (счетчик проходов)
{
for(int j=(i+1);j<N;j++)//Внутренний цикл (поиск минимального элемента в проходе и перенос его на стартовую позицию прохода)
{
if(Arr[i]>Arr[j])
{
buff = Arr[i];
Arr[i] = Arr[j];
Arr[j]= buff;
}
}




}
return *Arr;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
31.10.2013, 16:05     Преобразовать двумерный в одномерный #2
Цитата Сообщение от khafiz shamurov Посмотреть сообщение
как преобразовать двумерный массив в одномерный, при этом не увеличивая число форов
А как этот вопрос связан с приведенным кодом?
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
31.10.2013, 20:26     Преобразовать двумерный в одномерный #3
Как то так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
  int *temp=new int[N*M]; //Один из самых простых вариантов рассматривать двумерный массив как одномерный
   int count=0; //индексы одномерного массива
 
   //Копируем данные двумерного массива в одномерный
   for (int i=0;i<N;i++)
   {
       for (int j=0;j<M;j++)
       {
          temp[count]=mas[i][j];
          count++;
       }
   }
Только не понятно как ваш код связан с преобразованием двумерного массива в одномерный.
khafiz shamurov
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 5
03.11.2013, 09:42  [ТС]     Преобразовать двумерный в одномерный #4
Только не понятно как ваш код связан с преобразованием двумерного массива в одномерный.[/QUOTE]

В коде(шаблоне) используется двумерный массив, а надо не изменяя кол-во фОРОВ изменить двумерный в одномерный
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,404
03.11.2013, 09:48     Преобразовать двумерный в одномерный #5
Цитата Сообщение от khafiz shamurov Посмотреть сообщение
В коде(шаблоне) используется двумерный массив
ошибаетесь, там одномерный массив.
Что тогда в вашем понимании двумерный?
khafiz shamurov
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 5
03.11.2013, 09:57  [ТС]     Преобразовать двумерный в одномерный #6
Цитата Сообщение от MrGluck Посмотреть сообщение
ошибаетесь, там одномерный массив.
Что тогда в вашем понимании двумерный?

В двумерном обычно используется i j, да и по реализации он задается,как двумерный
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,404
03.11.2013, 10:03     Преобразовать двумерный в одномерный #7
Двумерный массив - массив, который задается как двумерный. Не оспоришь.

int *a - одномерный;
int **a - двумерный.
Риторический вопрос: сколько звездочек в параметре T у вашей шаблонной функции?
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
03.11.2013, 10:04     Преобразовать двумерный в одномерный #8
T Sort(const int N,T* Arr)//Шаблон функции сортировки выбором по моему понятно написано.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2013, 10:29     Преобразовать двумерный в одномерный
Еще ссылки по теме:

C++ Преобразовать одномерный массив в двумерный
Преобразовать одномерный массив C++
C++ Преобразовать двумерный массив

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

Или воспользуйтесь поиском по форуму:
Tulosba
03.11.2013, 10:29     Преобразовать двумерный в одномерный
  #9

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
int **a - двумерный.
Одномерный. Но элементы int* Или вообще скаляр int**. Наверное показательнее использовать квадратные скобки.

Yandex
Объявления
03.11.2013, 10:29     Преобразовать двумерный в одномерный
Ответ Создать тему
Опции темы

Текущее время: 14:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru