C++. Массив. Перестановка элементов.

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Russalochka
Сообщения: 1
Зарегистрирован: 27 май 2010, 14:43

Всем привет. Помогите реализовать следующую задумку.
Имеем массив 400 на 400. Аналог - декартовая С.К.
Массив динамический 3-х мерный. 1, 2 - это коррдинаты x, y. 3 - это 3 значения, характеризующие данную точку пространства. то есть

Код: Выделить всё

double*** arr=new double**[sizex]; // динамический массив
    for (int i =0; i<sizex; i++)
    {
        arr[i]=new double*[sizey];
        for (int j=0; j<sizey; j++)
        {
            arr[i][j]=new double [3];
        }
    } 
Картинка представляет собой изображение точек. То есть, где нет точки, там значения 0, 0, 0 при какой-то координате. Задача - поменять местами точки. То есть в массиве 400 на 400 поменять куски. Пользователем задается какие точки надо переместить.
Нужно определить сколько точек и их обозначить цифрами по возрастанию. Пользователь указывает какие точки поменять местами.
Помогите=) какие идеи?
Vasilisk
Сообщения: 116
Зарегистрирован: 13 фев 2004, 18:43

Russalochka писал(а):Помогите=) какие идеи?

А какие идеи? Писать надо...
BulldozerBSG
Сообщения: 270
Зарегистрирован: 09 янв 2010, 04:14
Контактная информация:

arr[j] данная запись подразумевает двумерный массив, в памяти он все равно располагается линейно и непрерывно. Но у вас arr объявлен как массив указателей на массивы. У меня просто нет слов...
Ginny_Smith
Сообщения: 2
Зарегистрирован: 06 май 2009, 13:55

Все там правильно.
Можно было хранить и в одномерном, конечно, но суть вопроса не в этом
licenok
Сообщения: 14
Зарегистрирован: 25 авг 2010, 17:08

Пользователем задается какие точки надо переместить.
А как он это задаёт ? Ещё один массив точек, которые надо переместить ?
Нужно определить сколько точек и их обозначить цифрами по возрастанию
Ну так если пользователь задаёт, что подсчитать сложно ?
А по возрастанию-то зачем обозначать ??
Пользователь указывает какие точки поменять местами.
Ну эт уже понятно. А как он это указывает ?
Ginny_Smith
Сообщения: 2
Зарегистрирован: 06 май 2009, 13:55

насколько мне известно, задача уже решена
Аватара пользователя
TDUTY
Сообщения: 34
Зарегистрирован: 30 янв 2009, 10:20
Контактная информация:

а как поменять местами точки... берешь и меняешь...

другого пока не придумали:

Код: Выделить всё

int x  = 5, y = 6, buf; 
buf = x; x = y; y = buf;
:)
Ответить