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

Поиск наибольшего на нижнем уровне мультисписка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Получить все числа Армстронга http://www.cyberforum.ru/cpp-beginners/thread1112930.html
Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому числу (например, 153=13+53+33). Получить все числа Армстронга, состоящие из двух, трех и четырех цифр. gj;fkeqcnf
C++ Написать функцию SUM (int M, int N) / С++ для начинающих Написать функцию SUM (int M, int N), которая вычисляет и возвращает сумму всех чисел кратных 3 и 9 в пределах от M и N включительно . Использовать оператор цикла с параметром. http://www.cyberforum.ru/cpp-beginners/thread1112924.html
Найти разность суммы положительных и произведения отрицательных чисел массива C++
Найти разность суммы положительных и произведения отрицательных чисел массиванапишите программу,пожалуйста)))
C++ Вроде простой код, но съедает 1,5 гб оперативы, как это исправить?
вроде простой код, но съедает 1,5 гб оперативы, как это исправить? #include <iostream> int M = 20000; float **A; int main(void){ A = new float*; for ( int i = 0; i < M; ++i ) A = new float;
C++ Найти произведение положительных кратных 3 элементов http://www.cyberforum.ru/cpp-beginners/thread1112903.html
Найти произведение положительных кратных 3 элементов
C++ Найти количество отрицательных элементов, находящихся на побочной диагонали Найти количество отрицательных элементов, находящихся на побочной диагонали))))помогите,пожалуйста:cry: подробнее

Показать сообщение отдельно
yur@
5 / 5 / 2
Регистрация: 06.03.2014
Сообщений: 106
06.03.2014, 22:46     Поиск наибольшего на нижнем уровне мультисписка
Здравствуйте! Интересует вопрос: есть мультисписок, на верхнем уровне которого находится Страна, а на нижнем Блюдо и Количество калорий! функция должна вернуть на экран информацию о стране, где есть блюда с наибольшим количеством калорий! Подскажите как реализовать!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    typedef
        struct Bludo{
            string name;
            int kalory;
            Bludo *next;
    }TBludo;
    
    typedef
        struct Strana{
        string country;
        Strana *next;
        Bludo *sublevel;
    }TStrana;
и вот то, что пробовал делать

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    void maxKalory(TStrana *&Start){
        TStrana *wp=Start, *np;
        int max=0;
        if(wp==NULL){
            cout<<"\nСписок пуст!!!\n";
            return;
        }
        TBludo *pp=wp->sublevel;
        while(wp!=NULL){
            while(pp->kalory > max){
                max=pp->kalory;
                np=wp;}
            pp=wp->sublevel;
            wp=wp->next;
        }
        cout<<np->country;
    }
Добавлено через 42 минуты
помогите пожалуйста!

Добавлено через 2 часа 16 минут
я так понимаю, там неправильно переставляются указатели

Добавлено через 33 минуты
немного поменял код
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
void maxKalory(TStrana *&Start){
    TStrana *wp=Start, *np;
    int max=0;
    if(wp==NULL){
        cout<<"\nСписок пуст!!!\n";
        return;
    }
    TBludo *pp;
    while(wp!=NULL){
        pp=wp->sublevel;
        while(pp->kalory > max && pp!=NULL){
            max=pp->kalory;
            np=wp;
            pp=pp->next;
        }
        wp=wp->next;
    }
    cout<<np->country<<endl;
    pp=np->sublevel;
    while(pp!=NULL){
        cout<<pp->name<<"  "<<pp->kalory<<" калорий\n";
        pp=pp->next;
    }
}
Вроде должно работать, но если в
C++
1
2
3
4
5
while(pp->kalory > max && pp!=NULL){
            max=pp->kalory;
            np=wp;
            pp=pp->next;
        }
стоит строчка
C++
1
pp=pp->next;
то программа вылетает! а если без этой строчки, то цикл проверяет только один элемент
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru