Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Указатели засунуть действии в цикл 
:(
    Опции темы
Electo
Дата 29.9.2009, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 29.9.2009

Репутация: нет
Всего: 1



Добрый день.
У меня есть такой код:
Код

    head->left = new myClass;
    head->left->data = head->data;
    head->left->H = head->H;
    head->left->A = head->A;
    head->left->B = head->B;
    head->left->C = head->C;
    head->left->Q = head->Q;
    head->left->computeF();
    head->left->H += head->left->maxF[0];
    head->right = new myClass;
    head->right->data = head->left->data;
    head->right->H = head->H;
    head->right->second( head->left );

    head->left->left = new myClass;
    head->left->left->data = head->right->data;
    head->left->left->H = head->right->H;
    head->left->left->A = head->right->A;
    head->left->left->B = head->right->B;
    head->left->left->C = head->right->C;
    head->left->left->Q = head->right->Q;
    head->left->left->computeF();
    head->left->left->H += head->left->left->maxF[0];
    head->right->right = new myClass;
    head->right->right->data = head->left->left->data;
    head->right->right->H = head->right->H;
    head->right->right->second( head->left->left );

    head->left->left->left = new myClass;
    head->left->left->left->data = head->right->right->data;
    head->left->left->left->H = head->right->right->H;
    head->left->left->left->A = head->right->right->A;
    head->left->left->left->B = head->right->right->B;
    head->left->left->left->C = head->right->right->C;
    head->left->left->left->Q = head->right->right->Q;
    head->left->left->left->computeF();
    head->left->left->left->H += head->left->left->left->maxF[0];
    head->right->right->right = new myClass;
    head->right->right->right->data = head->left->left->left->data;
    head->right->right->right->H = head->right->right->H;
    head->right->right->right->second( head->left->left->left );

Не могу понять как можно организовать цикл что бы не писать каждый раз одно и тоже, т.е. с каждым шагом я ухожу на следующие элементы left и right, можно ли как то это делать через цикл?
PM MAIL   Вверх
shuttle
Дата 29.9.2009, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 9.4.2008

Репутация: нет
Всего: нет



эта структура вроде как "дерево". Есть мнение что нужно покурить соответствующую документацию.
--------------------
PM MAIL   Вверх
Electo
Дата 29.9.2009, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 29.9.2009

Репутация: нет
Всего: 1



Да дерево, в гугле нашел много информации, например: http://www.codenet.ru/progr/alg/btree.php но я не могу понять как это можно приминить к моему случаю
PM MAIL   Вверх
zim22
Дата 29.9.2009, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(Electo @  29.9.2009,  09:36 Найти цитируемый пост)
, можно ли как то это делать через цикл?

Код

myClass *head = new myClass;
myClass **left = &head->left;
myClass **right = &head->right;

myClass **hright = &head;

for (int i = 0; i != 10; ++i) {
  
  *left = new myClass;
  (*left)->data = (*hright)->data;
  (*left)->H = (*hright)->H;
  (*left)->A = (*hright)->A;
  (*left)->B = (*hright)->B;
  (*left)->C = (*hright)->C;
  (*left)->Q = (*hright)->Q;
  (*left)->computeF();
  (*left)->H += (*left)->maxF[0];            

  *right = new myClass;
  (*right)->data = (*left)->data;
  (*right)->H = (*hright)->H;
  (*right)->second( *left );

  left = &(*left)->left;
  right = &(*right)->right;
  hright = &(*hright)->right;
}


Это сообщение отредактировал(а) zim22 - 29.9.2009, 10:38


--------------------
PM MAIL   Вверх
Electo
Дата 29.9.2009, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 29.9.2009

Репутация: нет
Всего: 1



Спасибо большое, то что нужно, только один вопрос зачем используем скобки вот в таких местах (*hright)->H; ?
PM MAIL   Вверх
zim22
Дата 29.9.2009, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(Electo @  29.9.2009,  10:55 Найти цитируемый пост)
с зачем используем скобки вот в таких местах (*hright)->H; ?

попробуй без скобок


--------------------
PM MAIL   Вверх
bsa
Дата 29.9.2009, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(Electo @ 29.9.2009,  10:55)
Спасибо большое, то что нужно, только один вопрос зачем используем скобки вот в таких местах (*hright)->H; ?

Вдумчиво читай литературу про приоритеты операторов в С++.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0789 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.