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

Создание односвязного списка, инвертирование его. Без СТЛ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В тексте удалить каждое слово с четным числом символов, продублировать каждое слово с нечетным числом символов http://www.cyberforum.ru/cpp-beginners/thread952517.html
Помогите пожалуйста!!!!!!!Задан текст, состоящий из слов, записанных через запятые и,или пробел, и заканчивающийся точкой. Длина текста не больше 150 символов, могут быть использованы любые символы....
C++ Перевод секунд в минуты Помогите составить программу, которая будет переводить секунды в минуты. Заранее спасибо! http://www.cyberforum.ru/cpp-beginners/thread952515.html
C++ Ошибка компоновщика LNK2019
Здравствуйте, я постигаю DirectX, и вот с самого начала какие-то проблемы у меня с ним. Текст программы инициализации: #include <Windows.h> #include <d3d9.h> LPDIRECT3D9 pDirect3D = NULL;...
Нахождение корней квадратного и линейного уравнений C++
Написать перегруженные шаблоны функций для нахождения корней линейного (а*х + b =0) и квадратного (a*x^2 + b*x +c=0) уравнений. Замечание в функции передаются коэффициенты уравнений.
C++ Указатели на классы http://www.cyberforum.ru/cpp-beginners/thread952480.html
class A {}; class B : public A {}; int main() { A *ob1=new B; B *ob2=new B;
C++ c++ делегирование ( c++ delegate pattern) развеем туман над таким паттерном как делегирование итак сначала отправимся на WIKI и просмотрим что нам предлается в качестве примера #include <iostream> class I { public: ... подробнее

Показать сообщение отдельно
weightless
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 103

Создание односвязного списка, инвертирование его. Без СТЛ - C++

11.09.2013, 17:42. Просмотров 290. Ответов 0
Метки (Все метки)

Здравствуйте! Требуется создать односвязный список из текстового файла
Кликните здесь для просмотра всего текста
12.12.2034 Иван Палыч 12344
3.05.2013 Федор Степаныч 435236
10.07.2013 Александр Андреевич 463543
05.06.2013 Татьяна Петровна 123134

Строки считать как узлы, необходимо провести поиск по узлам( в случае указания номера узла, вывести строчку на экран), инвертировать список. В программе использовать pop() и push().

Заранее большое спасибо!

Здесь создал класс:
Кликните здесь для просмотра всего текста
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
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
 
class TNode {
public:
    char * Caption;
    TNode * next;
TNode(char* a = "") {
                    if (a) {
                            Caption = new char[strlen(a) + 1];
                            strcpy(Caption, a);
                           }
                    else {
                            Caption = new char[20];
                            strcpy(Caption, "Node Unnamed");
                         }
                        }
 
~TNode() {delete[]Caption;}
};
 
class myList {
public:
    TNode *Head;
    TNode * Add(char *);
    myList();
    ~myList();
};
 
myList::~myList() {
    while (Head) {
        TNode * node = Head;
        Head = Head->next;
        delete node;
        }
}
 
TNode * myList::Add(char * a)
{
    TNode * newNode = new TNode(a);
    newNode->next = Head;
    Head = newNode;
    return newNode;
}
 
myList::myList() {
    Head = NULL;
}
 
class TStack : public myList {
private:
    TNode * Add(char *);
public:
    TStack() : myList() {}
 
    void push(char *s)
       {
        myList::Add(s);
       }
 
    TNode *pop() {
        TNode * res = Head;
if (res)
        {
        Head = Head->next;
        res->next = NULL;
        }
return res;
                 }
};


Дальше самое сложное... в функции main надо как считать по словам строчки. и потом заполнить лист:

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
int main(int argc, char* argv[]) {
system("chcp 1251");
 
char buf[80];
char *dr;
char * name;
char * numb;
FILE *fp = fopen("C:\\spisok.txt","rt");
fseek(fp,0,SEEK_SET);
while()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru