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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2011, 21:38   #1
RomanHouse
 
Аватар для RomanHouse
 
Регистрация: 29.05.2011
Сообщений: 6
По умолчанию Списки. С++

Здравствуйте. Задача программы создавать статические списки с известным количеством элементов.

Код:
#include <iostream>
using namespace std;

struct lista
{
    int x;
    lista* next;
};

lista* stw(lista* pom, int k)          //создает список К элементов и заполняет Х-ы
{
    pom->x=1;
    pom->next=0;
    if (k>1)
    {
        for(int i=2; i<=k; i++)
            {
                pom->next=new lista;
                pom->next->x=i;
                pom=pom->next;
            }
    }
    return pom;
}

lista* wstaw(lista* pom, int p)      //вставляет на конец списка еще один элемент
{
    while(pom->next!=0) pom=pom->next;
    pom->next=new lista;
    pom->next->x=p;
    pom->next->next=0;
    return pom;
}

lista druk(lista* ppom)       //выводит список на экран
{
    while(ppom!=0)
    {
        cout<<ppom->x<<endl;
        ppom=ppom->next;
    }
}

lista* newstw(lista* ppom, lista* newpom, int k)   //создает новый список из парных элементов
{
    for(int i=1; i<=k+1; i++)
    {
        if(ppom->x%2==0)
        {
            newpom->x=ppom->x;
            newpom->next=new lista;
            newpom=newpom->next;
        }
    newpom->next=0;
    ppom=ppom->next;
    }
    return newpom;
}

int main()
{
    lista* pom,*ppom;
    lista* newppom,*newpom;
    ppom=pom; newppom=newpom;
    int k,p;
    cin>>k;
    cin>>p;
    pom=stw(pom, k);
    wstaw(pom,p);
    druk(ppom);
    cout<<"---------------"<<endl<<endl;
    newpom=newstw(ppom, newppom, k);
    druk(newppom);
    return 0;
}
Проблема уже на конечном этапе, когда мне уже из существующего списка надо создать список из парных элементов старого списка. Выкидывает ошибку. Буду очень благодарен за помощь. Так же хочу услышать как можно оптимизировать код (потому что знаю 100%, что можно ). ОС Ubuntu 11.04, компилятор CodeBlocs. Заранее благодарен за помощь.

Последний раз редактировалось RomanHouse; 29.05.2011 в 21:45.
RomanHouse вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Списки Alex_91 Помощь студентам 2 12.11.2010 17:43
Списки triasoft Фриланс 3 02.06.2010 06:35