Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2014, 15:33   #1
drerek
Новичок
Джуниор
 
Регистрация: 27.11.2011
Сообщений: 1
По умолчанию

Здравствуйте, нужно создать функцию которая заполняет список из массива, но строить список с конца, не могу вернутся к предыдущему елементу только вперед но не назад
В общем пытался составить список с конца все равно не получается, где ошибка?

Код:
//Module.h
#include <iostream>
#include <string>
#include <fstream>
 
using namespace std;
 
struct elementmas
{
    string str;
    elementmas* next;
    elementmas* prev;
};
 
elementmas* EnterList1();
 
//module.cpp
#include "module.h"
elementmas* EnterList1()
{
    elementmas *last, *current;
    string x, answer,top;
 
 
    cout << "enter last string : ";
    last = current = new elementmas;
    current->next = NULL;
    cin >> current->str;
    cout << "do you want prev string? (n for exit)";
    cin >> answer;
    while (answer != "n")
    {
        
        current->prev = new elementmas;
        current->next = current;
        current = current->prev;
        cout << "enter string :  ";
        cin >> current->str;
        cout << "do you want to enter prev?    (n for exit)";
        cin >> answer;
    }
    return current;
}
 
//main.cpp
#include "module.h"
 
int main()
{
    int x;
    cout << "vvedi x" << endl;
    cin >> x;
 
    if (x == 2)
    {
        elementmas *current, *top;
        top = EnterList1();
        current = top;
        while (current != NULL)
        {
            cout << current->str << endl;
            current = current->next;
            
        }
    }
    system("pause");
    return 0;
}
Необработанное исключение по адресу 0x000E6A36 в laba8.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCDCDCDE1.
на 61ю строчку

Последний раз редактировалось Stilet; 05.12.2014 в 08:12.
drerek вне форума Ответить с цитированием
Старый 05.12.2014, 08:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но строить список с конца
Рекомендую: http://www.programmersforum.ru/showp...8&postcount=25
И делать проход с конца массива, а не с начала
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать функцию, которая создает список L2, являющийся копией списка L1, начинающегося с данного узла Joinack Паскаль, Turbo Pascal, PascalABC.NET 1 14.11.2023 20:28
Написать программу, которая заполняет матрицу А(6х7) компонентами типизированного файла и выводит её на экран в виде таблицы Nightway Паскаль, Turbo Pascal, PascalABC.NET 1 14.06.2014 14:45
написать функцию, которая по элементу массива будет определять его номер. vereney Паскаль, Turbo Pascal, PascalABC.NET 11 07.03.2011 14:22
Составить программу, которая заполняет квадратную матрицу... Катюшка_92 Общие вопросы C/C++ 1 18.09.2010 20:43
Описать функцию или процедуру,которая: Определяет,яляется ли список L пустым Ksardas Помощь студентам 2 14.12.2009 16:41