Форум программистов, компьютерный форум 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; cout<<"Vvedit kilkist chisel"; cin>>size; int a;
Наименьшее число в цикле 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
Пишу прогу и что-то т не пойму в чем ошибка ( Что-то модуль разности сумм как-то некоректно считается. Не подскажете ли в чем проблема? Заранее спасибо! Да почему не работает(((( #include<iostream> #include<math.h> #include<conio.h> long double IG(double); using namespace std; void main()
C++ Меню в программе - бесконечный loop Доброго всем дня. Разными способами пытаюсь сделать меню в программе. Если делать через switch, то всё нормально ровно до тех пор, пока не вводишь левое значение. Do while запускают бесконечный цикл вывода текста на экран шо аж программу прикрывать приходится. for( ;; ) тот же результат, даже хуже - введя правильное значение всё равно в меню остаёшься, а не идёшь реализовывать функции. goto тоже... подробнее

Показать сообщение отдельно
Takeshi80
 Аватар для Takeshi80
17 / 15 / 2
Регистрация: 08.03.2012
Сообщений: 124
22.11.2014, 16:54     Не связные списки
Доброго времени суток уважаемые форумчане, возникла небольшая проблема со списками, очень надеюсь на вашу помощь.

Есть структура данных:
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
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru