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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2010, 12:07   #1
Nike0
 
Регистрация: 26.10.2009
Сообщений: 6
Вопрос Односвязные списки

Доброго времени суток. Появился вопрос: создаю 2 линейных односвязных списка списка, нужно найти максимальную последовательность элементов первого списка во втором. Например: если первый список у нас -12 -3 2 6 9 14, а второй -4 0 2 6 10, то максимальной последовательностью будет являться 2 6. Также в условии сказано, чтобы список был неубывающим, но это пока не реализовал. И еще: если ввести список 1 2 3 4 5, то выводит с конца, т.е. 5 4 3 2 1. Если есть чем помочь или подсказать, буду благодарен.
Код:
#include <iostream.h>
#include <conio.h>
 
struct point
{
           int key;
           point *next;
};
 
point *make_point()
{
          point *p = new (point);
          cin >> p -> key;
          p -> next = 0;
          return p;
}
 
point *make_list1(int n)
          {
          point *beg = make_point();
          point *r;
          for ( int i=1; i<n; i++)
          {
                  r = make_point();
                  r -> next = beg;
                  beg = r;
          }
          return beg;
}
 
void print_list (point *beg)
{
         point *p=beg;
         if (!p)
         {
                cout << " Spisok pust";
                return;
         }
         while (p != 0)
         {
                cout << p -> key<< " ";
                p = p -> next;
     }
}
 
int main ()
{
        clrscr();
                int n, m, kol;
                point *l1,*l2, *l;
                cout << "Vvedite kol-vo elementov spiska #1 :";
                cin >> n;
                cout << "\nZapolnite spisok #1\n" << endl;
                l1 = make_list1(n);
                cout << "\nSpisok #1\n" << endl;
                print_list(l1);
                cout << "\n\nKol-vo elementov spiska #2 :";
                cin >> m;
                cout << "\nZapolnite spisok #2\n";
                l2 = make_list1(m);
                cout << "\nSpisok #2\n" << endl;
                print_list(l2);
                getch();
        return 0;
}
Nike0 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Односвязные списки Anna T Паскаль, Turbo Pascal, PascalABC.NET 2 19.12.2010 18:58
ЯЗЫК СИ.ОДНОСВЯЗНЫЕ СПИСКИ. Даша Киска Общие вопросы C/C++ 2 09.12.2010 22:23
ЯЗЫК СИ.ОДНОСВЯЗНЫЕ СПИСКИ. Даша Киска Помощь студентам 0 09.12.2010 20:18
Односвязные списки art_stalker Общие вопросы C/C++ 5 21.04.2010 22:49
Односвязные линейные списки !!! salia Помощь студентам 1 12.10.2009 16:01