Форум программистов, компьютерный форум CyberForum.ru

Односвязные списки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ нахождения наименьшего нечетного делителя http://www.cyberforum.ru/cpp-beginners/thread111951.html
Здравтвуйте уважаемые форумчане! Подскажите пожалуйста какие у меня ошибки и недочёты... задача звучит так "Составить функцию для нахождения наименьшего нечетного натурального делителя к(к не равно 1) любого натурального числа n? (использовать подпрограммы!)". Буду очень признателен. #include <iostream.h> #include <string.h> #include <conio.h> #include <stdio.h>
C++ Шарики Помогите решить вот такую задачку: Несколько (N) шариков небольшого (радиуса r и массой m каждый) движутся внутри квадратной области размерами H*H , абсолютно упруго отскакивая от её стенок и друг от друга (все соударения считать центральными, то есть не приводящими к возникновению вращательного движения). Начальные скорости по модулю равны v и направлены случайным образом, в начальных... http://www.cyberforum.ru/cpp-beginners/thread111949.html
C++ Аппроксимация 4(Pi)
Один из быстрых методов подсчета числа Пи основывается на непрерывной дроби Пи = 3+1/(7+1/(15+1/(1+1/(292+1/(1+1/(1+1/(1+1/(2+1/(1+1/(3+1/(1+1/14+…))))))))))). Эта дробь называется правильной (знаменатели ==1) и подходящей, т.к. доказано, что любая дробь с меньшим знаменателем дает худшую аппроксимацию. В 1954 г. Лемер в этом разложении вычислил 100 членов. Общая формула в 1985 г. была...
вычислить произведение второй цифры C++
Постановка задачи:разработать программу реализующую операции целочисленной арифметики( Вычислить про изведение разности первых двух цифр цетырехзнацного числа и младшей цифры этого числа)
C++ Дано натуральное число.... Вычислить http://www.cyberforum.ru/cpp-beginners/thread111901.html
Дано натуральное число n. Вычислить n_ \ (-1)^k *(k+1) /_ ------------- k=0 k! Как то так... помогите плз!
C++ Файлы С++ как вывести на экран m последних строк из файла(с++) зарание спасибо)) подробнее

Показать сообщение отдельно
art_stalker
0 / 0 / 0
Регистрация: 02.04.2010
Сообщений: 8
02.04.2010, 13:40     Односвязные списки
Задача: добавить в список 1 узлы, содержащие слова в списке 2, не совпадающие со словами списка 1(линейный список 1 из слов хранится в файле А и список 2 в файле Б).
Помогите дописать код, у меня не получается добавить узел из одного списка в другой. И буду признателен если укажите на уже существующие ошибки в коде.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
struct node
{
string word;
node *next;
};
 
struct node2
{
string word2;
node2 *next2;
};
 
 
int main()
{
setlocale(LC_CTYPE, "");
ifstream ifp("g:\\12345.txt" , ios::app | ios::out);//чтение из файла
 
 
node *first = NULL, *last, *k, *tmp;
 
// считываем из файла слова и записываем их в список
while(ifp.good())
{
node *tmp = new node;
 
if(!first)
first = tmp;
else
last->next = tmp;
 
string word;
ifp >> word;
 
tmp->word = word;
tmp->next = NULL;
 
last = tmp;
}
 
// выводим на экран список
cout << "Слова в файле:\n";
node *curr = first;
while(curr)
{
cout << curr->word << "\n";
curr = curr->next;
}
cout << endl;
 
//_______________________________________________чтение 2-го файла
node2 *first2 = NULL, *last2, *k2, tmp2;
ifstream ifp2("g:\\123456.txt");//чтение из файла
 
// считываем из файла слова и записываем их в список
while(ifp2.good())
{
node2 *tmp2 = new node2;
 
if(!first2)
first2 = tmp2;
else
last2->next2 = tmp2;
 
string word2;
ifp2 >> word2;
 
tmp2->word2 = word2;
tmp2->next2 = NULL;
 
last2 = tmp2;
}
 
// выводим на экран список
cout << "Слова в файле:\n";
node2 *curr2 = first2;
while(curr2)
{
cout << curr2->word2 << "\n";
curr2 = curr2->next2;
}
cout << endl;
 
//_______добавляем в первый список слова из второго которых нет в первом
 
//_____цикл
    
    k=first;
    k2=first2;
    node *newnode;
    while(k!=NULL)
    {
    int fl=0;
 
    
    while(k2!=NULL)
    {
        if(k2->word2 == k->word)
        {
            fl++;
        }
        k2=k2->next2;
    }
 
    if(fl==0)
    {
        // !!!Добавление элемента из 2-го списка в первый!!!
        node *newnode = new node;
        newnode->next=last;
        last->next=newnode;
        //newnode=k2->word2;
        
    }
    last=last->next;
    }
    cout<< "получим: ";
    first = tmp;
    while(first!=NULL)
    {
        cout<< first->word << "/n";
        curr = curr->next;
    }
    cout<< endl;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru