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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
weightless
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 103
#1

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

11.09.2013, 17:42. Просмотров 296. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2013, 17:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание односвязного списка, инвертирование его. Без СТЛ (C++):

Создание односвязного списка - C++
Доброго времени суток. И так. Имеется задача. Создание односвязного списка и инициализация его с клавиатуры. Совсем запутался. ...

Создание односвязного циклического списка - C++
Структура есть: struct Node { int item; Node*next; }; Как создать вершину и как потом в цикле создавать...

Создание односвязного списка из строки, полученной в файле - C++
Здравствуйте, имеется файл, который содержит некий текст. Необходимо подсчитать количество вхождений каждого слова в этот текст и результат...

Реализация кольцевого списка на СТЛ - C++
Добрый день! Появилось несколько вопросов в ходе выполнения задания. Само задание звучит так: Реализовать шаблон контейнерного класса...

Создание и вывод односвязного списка (выводится только первый элемент) - C++
Надо создать список и вывести его, выводит только 1 и последний элемент, не понимаю почему, добавление вроде же правильное. #include...

Удаление элементов из односвязного списка списка - C++
Привет всем знатокам, суровым программистам и профессионалам своего дела. Засел за реализацией списка и что то пока не могу понять. Задача...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.09.2013, 17:42
Привет! Вот еще темы с ответами:

Подключение файла с текстом и его инвертирование - C++
в общем задание такое: Нужно создать документ .txt и в каждом его ряде изменить порядок строк на противоположный.. помогите это...

Печать односвязного списка - C++
Доброго времени суток. Выполняя задание возникла трудность. Использую метод для этого, но почему-то вместо адекватного текста появляется...

Сортировка односвязного списка - C++
Здравствуйте уважаемые киберфорумщики! Нужна срочная помощь!!! В общем у меня есть задача которую нужно сделать но нет ни знаний ни...

Вывод односвязного списка на C - C++
помогите исправить ошибку!не выводит последний элемент списка. пишет: В экземпляре объекта не задана ссылка на объект. вот листинг...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.