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

Не связные списки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Все возможные комбинации http://www.cyberforum.ru/cpp-beginners/thread1307740.html
Есть массив из 10 элементов надо составить все возможные комбинации по 3 элемента
C++ Падающая буква "О" на c++ Помогите пожалуйста! Не могу реализовать программу на c++ :( Суть в том, что буква "О" падает как мячик, отпрыгивает, ровно на 2 раза поднимается, потом опять падает и т.д. Помогите пожалуйста :cry: http://www.cyberforum.ru/cpp-beginners/thread1307703.html
Ошибка в бинарному поиску C++
Много было тем про бинарный поиск.Я их посмотрел.Где ошибка в моем коде #include<iostream> #include<stdio.h> using namespace std; main(){ int i,seach,first,last,third,binary,size;...
Наименьшее число в цикле C++
Есть цикл: int min = 0, a; for (int i = 1; i <= 5; i++ ) { cout << "Введите " << i << " число: "; cin >> a; // подскажите, как мне найти наименьшее число, которое вводится в цикле?
C++ Интеграл методом средних прямоугольников http://www.cyberforum.ru/cpp-beginners/thread1307684.html
Пишу прогу и что-то т не пойму в чем ошибка ( Что-то модуль разности сумм как-то некоректно считается. Не подскажете ли в чем проблема? Заранее спасибо! Да почему не работает(((( ...
C++ Меню в программе - бесконечный loop Доброго всем дня. Разными способами пытаюсь сделать меню в программе. Если делать через switch, то всё нормально ровно до тех пор, пока не вводишь левое значение. Do while запускают бесконечный цикл... подробнее

Показать сообщение отдельно
Takeshi80
17 / 15 / 2
Регистрация: 08.03.2012
Сообщений: 126

Не связные списки - C++

22.11.2014, 16:54. Просмотров 155. Ответов 0
Метки (Все метки)

Доброго времени суток уважаемые форумчане, возникла небольшая проблема со списками, очень надеюсь на вашу помощь.

Есть структура данных:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct PidKat
{
    char country[100];
    char FIO[100];
    float rezult=0;
    PidKat *next;
};
 
struct Katalog
{
    int dist;
    PidKat *Pk;
    Katalog *next;
};
И есть функция Input, которая считывает с файла нужную мне инфу, и она должна закидать это все в список, но, почему-то не работает, помогите найти ошибку:

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
void Input(Katalog *list)
{
    FILE *f = fopen("input.txt", "rt");
    char c[100], *ptr,*ptr2;
    if (list == NULL)
        list = new Katalog;
    else
    {
        list->next = new Katalog;
        list = list->next;
    }
    if (list->Pk == NULL)
        list->Pk = new PidKat;
    else
    {
        list->Pk->next = new PidKat;
        list->Pk = list->Pk->next;
    }
 
    fgets(c, 100, f);
    ptr2 = strtok(c, ":");
    ptr2 = strtok(NULL, " ");
    list->dist = atoi(ptr2);
    while (!feof(f))
    {
        fgets(c, 100, f);
        if (c[0] == 'd' && c[1] == 'i')
        {
            list->next = new Katalog;
            list = list->next;
            ptr = strtok(c, ":");
            ptr = strtok(NULL, " ");
            list->dist = atoi(ptr);
            list->Pk = new PidKat;
            list->next = NULL;
        }
        else
        {       
            ptr = strtok(c, " ");
            
            strcpy(list->Pk->country, ptr);
            while (ptr != NULL)
            {
                ptr = strtok(NULL, " ");
                memset(list->Pk->FIO, 0, strlen(list->Pk->FIO));
                strcpy(list->Pk->FIO, ptr);
                list->Pk->FIO[strlen(list->Pk->FIO)] = ' ';
                ptr = strtok(NULL, " ");
                strcat(list->Pk->FIO, ptr);
                list->Pk->FIO[strlen(list->Pk->FIO)] = ' ';
                ptr = strtok(NULL, " ");
                strcat(list->Pk->FIO, ptr);
                ptr = strtok(NULL, " ");
                list->Pk->rezult = atof(ptr);
                ptr = strtok(NULL, " ");
            }
            list->Pk->next = NULL;
        }
        
    }
    list->next = NULL;
}
я думаю проблема с

C++
1
list->Pk
поскольку при записе в main следующей конструкции
C++
1
list->Pk = NULL;
выдает ошибку:
Не связные списки

содержание файла input.txt:
distance: 100
Україна Козубко Олександр Ростиславович 12.3
Польща Фрост Анджей Рюрькович 11.1
Росія Пушкін Олександр Сергійович 13.4
distance: 200
Чехія Кондур Марія Василівна 11.2
Білорусь Вовкодав Максим Олегович 10.4
США Петренко Іван Петрович 9.76
distance: 110
Англія Баюрський Андрій Ростиславович 8.4
Франція Бабійчук Анастасія Віталіївна 8.21
Китай Островський Анатолій Афанасійович 10.2
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru