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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ввод данных в двунаправленый кольцевой список 
:(
    Опции темы
nathmorp
Дата 2.12.2013, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет, вот написала шаблон для кольцевого двунаправленного списка и стала его испытывать, и тут обнаружилась проблема:
 
Код

/*список*/
   myList <char> l; 
   char x='i';
   l.insert_pHead(&x);  //ввод в голову списка
   x='p';
   l.insert_pData(&x);   //ввод с сортировкой
   x='a';
   l.insert_pData(&x);       //x='q';
       
    //cout<<endl;
    /*вывод результата*/
    cout<<*(l.get_lHead())<<endl;
    while(char* z=l.get_lNext())
    cout<<*z<<endl;


в результате: "ааа", а не "aip"; 
Может это я просто туплю на ровном месте... но если просто вводить char A[] = {...}; как  l.insert_pData(&А[i]); то все работает....не пойму это ошибка в списке или как? 

Это просто отрывки из кода:
Код

// вставка с сортировкой
int insert_pData(T* pDat)
       { 
          for(T* temp=get_lHead(); temp && (*temp<*pDat); temp=get_lNext());
             pCurr= new myConnector<T> (this->pCurr->get_pPrev(), pDat);
             if(pCurr) return 1;
             else      return 0;
       };
//вставка в голову
int insert_pHead(T* pDat){
           pCurr = new myConnector<T>(this,pDat);
           if(pCurr) return 1;
           else      return 0;
       };
// конструктор 
myConnector(myConnector<T>* pBefore, T* pDat){/**/ cout<<"myconnector"<<endl;
            this->pData=pDat;             //Data kopieren
            this->pNext=pBefore->pNext;
            this->pPrev=pBefore;
            pBefore->pNext->pPrev=this;
            pBefore->pNext=this;                   
       }



Буду признательна за любой совет или подсказку...Спасобо заранее за помощь!! smile 
PM MAIL   Вверх
feodorv
Дата 5.12.2013, 03:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

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



Крайне запутанный и неочевидный код...


Цитата(nathmorp @  2.12.2013,  13:40 Найти цитируемый пост)
в результате: "ааа", а не "aip"

Ну конечно, Вы складываете в список не какое-то значение, а адрес этого значения, то есть в Вашем случае адрес переменной x. А когда распечатываете список, то разыменовываете сохранённый адрес. А все сохранённые адреса указывают на переменную x. А последним значением переменной x было как раз 'a'. Поэтому в результате печати *x *x *x Вы и получаете "ааа" smile 

Это сообщение отредактировал(а) feodorv - 5.12.2013, 03:18


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
interv
Дата 6.12.2013, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Точняк! Вы же указатели хреначите на чар.
а потом еще и чар это меняете
а потом еще и область жизни чара заканчиваеися

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

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

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

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

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


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

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


 




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


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

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