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

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

Войти
Регистрация
Восстановить пароль
 
ElvenDragon
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
#1

Перестроить список так, чтобы значения увеличивались от головы списка к его концу - C++

24.04.2010, 11:25. Просмотров 437. Ответов 1
Метки нет (Все метки)

1.В файле хранятся данные в виде записей формата R.

R
УЗЕЛ УСТ-ВА
Устройство
Номер узла
Кол-во узлов
Вес - М
Цена

2.Содержимое файла переписать в память в однонаправленный список.
3.Перестроить список так, чтобы значения поля М записей R увеличивались от головы списка к его концу.
4.Выдать значение трех элементов списка с наименьшим значением поля М.
5.Результирующий список (списки) переписать в результирующий типизированный файл.

Я так рассуждаю читаем список из файла в символьный массив указателей.(так удобней к списку обращатся)
Ага а вот теперь 3 вопрос меня тянет в недоумение получается у каждой строки должно бить число?
Как мне связать строку с числом чтоб я мог двигать список?
Может кто показать как ето реализовать с 3 вопросом чёт мне там не понятно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2010, 11:25     Перестроить список так, чтобы значения увеличивались от головы списка к его концу
Посмотрите здесь:

Значения переменных а, Ь и с поменять местами так, чтобы оказалось а >= Ь >= с. C++
C++ Составить программу которая переворачивает список L, изменяет ссылки в этом списке так, чтобы его элементы оказались расположенными в обратном порядке
Дан массив а1,а2,,…,аn. Переставить его элементы так, чтобы в начале массива расположились все его неотрицательные элементы, а в конце – отрицательные C++
Дан массив а1+ a2+…+an Переставить его элементы так чтобы в начале массива расположились все его неотрицательные элементы, а в конце - отрицательные C++
условный оператор (Поменять значения переменных так, чтобы...) C++
Введенные значения переменных a, b, c поменять местами так, чтобы оказалось a>=b>=c C++
Добавить элемент в упорядоченный список так, чтобы его упорядоченность не нарушалась C++
C++ Вставить в упорядоченный по неубыванию список элемент с заданным значением так, чтобы не нарушить упорядоченность
C++ Как сделать так, чтобы значения экземпляров класса не повторялись
Вставить элементы списка L2 в список L1, не нарушая его упорядоченности C++
C++ Изменить последовательность указателей так, чтобы отрицательные числа находились в начале списка
Построить линейный список из входной последовательности чисел и перестроить его C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
1695 / 874 / 44
Регистрация: 04.06.2008
Сообщений: 5,338
24.04.2010, 18:07     Перестроить список так, чтобы значения увеличивались от головы списка к его концу #2
Тут надо так будет сделать.
Значит, учитывай, что после того, как ты создашь связный список, его элементы будут иметь такой вид:

R
УЗЕЛ УСТ-ВА
Устройство
Номер узла
Кол-во узлов
Вес - М
Цена
Адрес следующего элемента

То есть жирную херь ты будешь вынужден добавить

Теперьо дальше смотри, вот у тебя есть допустим, 5 элементов

1) ты перебираешь все R.M ища среди них МИНИМАЛЬНОЕ.

2) Нашёл. Теперь тебе нужно заполнить поле R.Адрес следующего элемента
(Вернее, это поле заполнено- ты ведь создал связный список! НО теперь это поле изменяем.)
Какое значение туда прописывать? Для этого опять перебираешь все элементы R.M, ища среди них уже следующий по величине элемент R.M

Вот когда найдёшь, адрес элемента R, которому как бы "принадлежит" R.M ты и прописываешь в R.Адрес следующего элемента

Вот так и перебираешь все элементы R, в каждом заполняя по новой R.Адрес следующего элемента
Yandex
Объявления
24.04.2010, 18:07     Перестроить список так, чтобы значения увеличивались от головы списка к его концу
Ответ Создать тему
Опции темы

Текущее время: 16:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru