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

Сбой данных. Списки списков. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Описать структуру с именем TRAIN http://www.cyberforum.ru/cpp-beginners/thread548095.html
Вот условие: Описать структуру с именем TRAIN, содержащую следующие поля: -название пункта назначения; -номер поезда; -время отправления. Написать программу, выполняющую следующие действия: -ввод с клавиатуры данных в массив, состоящий из 6 элементов типа TRAIN; -записи должны быть упорядочены по времени отправления поездов; -вывод на экран информации о поездах, направляющихся в пункт,...
C++ Switch двойное условие Как сделать двойное условие для оператора switch? Аналогия в if: "if (a>b & b>c)" . http://www.cyberforum.ru/cpp-beginners/thread548081.html
Составление алгоритмов и написание программ обработки строк C++
Молю о помощи. С этими строками у меня просто беда... Функция int isLatin (TCHAR s) получает символ и определяет, является ли он символом латиницы (строчной или прописной буквы латинского алфавита) Функция TCHAR* isStrLatinBukv (TCHAR* str, int& n) получает исходную строку str и ищет в ней первую подстроку, содержащую только символы латиницы (строчные или прописные буквы латинского ...
C++ В строку через пробел вводятся слова. Отсортировать введенные слова по алфавиту. Результат вывести в виде столбца.
В строку через пробел вводятся слова. Отсортировать введенные слова по алфавиту. Результат вывести в виде столбца.
C++ Вычислить дробную часть среднего геометрического трех заданных положительных чисел. http://www.cyberforum.ru/cpp-beginners/thread548071.html
Вычислить дробную часть среднего геометрического трех заданных положительных чисел. Предусмотреть проверку вводимых данных на отрицательность.
C++ В каждой строке заданной матрицы A(N, M) вычислить сумму, количество... В каждой строке заданной матрицы A(N, M) вычислить сумму, количество и средне арифметическое положительных элементов. подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
22.04.2012, 20:50     Сбой данных. Списки списков.
Цитата Сообщение от Dan299 Посмотреть сообщение
first - указатель на начало многочлена. На начало системы указывает nach
А чё ж не написал в комментах-то? Сутки потеряли.
Короче, я делаю всегда так, чтобы указатель next последнего элемента списка указывал на ноль. Я смотрел в стандарте, но вроде там такого нет, но если он указывает не на NULL, это нехорошо. Это, считай, мы если пробегаемя по списку, то ОБЯЗАТЕЛЬНО заранее должны знать его размер. А если не знаем? Как тогда остановимся? Никак залезем непонятно в какую область памяти и кранты всему.

По-моему. У тебя последний элемент списка nach указывает НЕ НА NULL, вот я проверяю (ввожу один или два многочлена):
C++
1
2
3
4
    while (nach!=NULL) {
     printf ("эту строку я вижу вечно\n");
     nach= nach->next;
    }
Сделай, чтобы последний элемент списка nach указывал на NULL и чтобы последний элемент каждого списка-многочлена также указывал на NULL (последнее я не проверял, но по коду вижу, что ты нигде к NULL не приравниваешь ничё.)

...Не уверен, что это поможет, но со стандартизированным кодом работать легче. Да и вдруг и правда поможет?

Добавлено через 15 минут
А я понял, ты по коэффициентам проверяешь что ли концы списков?
То есть если в структуре
C++
1
2
3
4
5
6
struct Mnolen
{
    char s[5];
    int k;
    Mnolen *next;
};
s[0]== '0', то это конец многочлена,так? И этот элемент мы как коэффициент+переменую не рассматриваем, а она у на только служит для обозначения гшраницы многочлена?
А вот как определяется конец списка многочленов я не понимаю.

+++++++++++++++++++++++++++++++++++++++++++++++++++++

Всё ж таки, последовал бы ты моему совету, использовал бы NULL для указания конца списков
 
Текущее время: 04:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru