0 / 0 / 0
Регистрация: 03.05.2017
Сообщений: 10
|
||||||
1 | ||||||
Слияние двух упорядоченных списков с сохранением алфавитного порядка11.11.2017, 02:18. Показов 1727. Ответов 6
Метки нет Все метки)
(
Задача (TASM): Провести слияние двух упорядоченных списков вида "Фамилия И.О." с сохранением алфавитного порядка. Исходные и конечный списки вывести на экран.
Помогите найти ошибки: кое-как все работает только с такими списками фамилий, если начать менять содержимое массивов, все перестает работать вообще(( А нужно, чтобы программа могла работать с любыми списками. + 1-я фамилия второго массива (SBOROV A.V) выводится с двойной буквой "B"
Скриншот во вложении.
0
|
11.11.2017, 02:18 | |
11.11.2017, 02:18 | |
Ответы с готовыми решениями:
6
Слияние двух упорядоченных списков Слияние двух упорядоченных списков в один упорядоченный Слияние двух односвязных упорядоченных по неубыванию линейных списков |
0 / 0 / 0
Регистрация: 03.05.2017
Сообщений: 10
|
||||||
11.11.2017, 14:47 [ТС] | 3 | |||||
Проблема в следующем: при изменении списков фамилий, например, так:
Т.е. программа работает неправильно, где-то ошибка
0
|
0 / 0 / 0
Регистрация: 03.05.2017
Сообщений: 10
|
|
11.11.2017, 14:48 [ТС] | 4 |
Скриншот
0
|
Эксперт Hardware
![]() ![]() |
|
11.11.2017, 15:00 | 5 |
поскольку СХ=15, то вам нужно выравнивать все поля на 15 символов - 13 для фамилии и плюс 2 на перевод строки 13,10. Вы вводите меньше, поэтому всё идёт наперекосяк. Дополните пробелами фамилие до 13-символов, чтобы выравнить строй
1
|
0 / 0 / 0
Регистрация: 03.05.2017
Сообщений: 10
|
|
11.11.2017, 15:36 [ТС] | 6 |
Проверила пробелы, с фамилией BORISOV теперь все хорошо, но у 1-й фамилии второго массива (AKINSHIN I.V.) все равно удваивается вторая буква (получается AKKINSHIN I.V.). Последние 2 фамилии второго массива не встают в итоговый список в алфавитном порядке, а выводятся в самом начале итогового списка (скриншот во вложении).
0
|
Модератор
![]() ![]() |
||||||
11.11.2017, 23:46 | 7 | |||||
Angelica, реальным выходом здесь будет разделение слияния на две подчасти:
1) цикл выбора следующего элемента из двух списков. 2) процедура сравнения элементов Т.е. разделение собственно алгоритма слияния от алгоритма сравнения. Это резко упростит анализ. Я привык подобные алгоритмы записывать на каком нибудь Pascal или C. А потом строки этого алгоритма становятся комментариями к асм-исходнику. И ещё, не могу понять, где формируется итоговый список. Еще предложил бы другой формат хранения списка. Есть два варианта: Каждый элемент завершается 0, в конце списка расположен ещё один 0.
Добавлено через 4 минуты Т.е. мне кажется, что ошибка в вашей программе из-за невнятного разделения элементов в списках (формата списков). И из-за неполного критерия сравнения. В общем предлагаю сначала реализовать на С, а потом транслировать в ассемблер. Пример подобного подхода при реализации какого-то алгоритма сортировки Программа для сортировки любого массива Сначала найдена реализация на С, а потом она аккуратно транслирована на асм. И вам рекомендую пойти по этому пути.
0
|
11.11.2017, 23:46 | |
11.11.2017, 23:46 | |
Помогаю со студенческими работами здесь
7
Слияние упорядоченных списков в третий (найдите ошибку) Слияние двух упорядоченных массивов. Слияние двух упорядоченных массивов Слияние двух упорядоченных файлов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Микросервис с нуля на Go с Kafka
stackoverflow 12.02.2025
Когда я впервые столкнулся с необходимостью разделить монолитное приложение на микросервисы, передо мной встал вопрос выбора правильных технологий и подходов. После долгих экспериментов с различными. . .
|
Микросервис с нуля на C# с RabbitMQ
stackoverflow 12.02.2025
Переход от монолитной архитектуры к микросервисной - это не просто модное веяние, а закономерный этап эволюции программных систем. В отличие от монолита, где все компоненты тесно связаны между собой. . .
|
Docker для начинающих
stackoverflow 12.02.2025
В современном мире разработки программного обеспечения все чаще возникает необходимость быстро и надежно разворачивать приложения в различных средах. Разработчики постоянно сталкиваются с проблемой. . .
|
Создание бота для Телеграм на C#
stackoverflow 12.02.2025
В современном мире корпоративных коммуникаций Telegram-боты становятся незаменимым средством автоматизации бизнес-процессов и взаимодействия с сотрудниками. Как создать такого бота, который сможет. . .
|
Операторы сравнения (== и ===) в JavaScript
hw_wired 12.02.2025
JavaScript предоставляет два основных оператора сравнения - оператор нестрогого равенства (==) и оператор строгого равенства (===). На первый взгляд они могут показаться очень похожими, но их. . .
|
Определение адреса, откуда репозиторий Git был клонирован
hw_wired 12.02.2025
Система контроля версий Git хранит всю информацию о репозитории в специальной директории . git, включая данные об удаленных источниках. Эта информация необходима для синхронизации изменений между. . .
|
Объединение нескольких коммитов Git в один
hw_wired 12.02.2025
Представьте, что вы работаете над новой функциональностью и создали десяток небольших коммитов: исправление опечатки, форматирование кода, добавление комментариев, реализация основной логики. Каждый. . .
|
Как добавить локальную ветку в удалённый репозиторий Git
hw_wired 12.02.2025
Локальная ветка в Git - это изолированная линия разработки, существующая только на вашем компьютере. Представьте себе дерево с множеством веток - каждая ветка может расти в своем направлении, не. . .
|
Статическое отражение в C++
stackoverflow 12.02.2025
Статическое отражение представляет собой мощный механизм, позволяющий программам анализировать и манипулировать своей собственной структурой во время компиляции. Эта возможность открывает. . .
|
C++ в 21 веке - Бьярне Страуструп
stackoverflow 12.02.2025
В современном мире разработки программного обеспечения C++ продолжает оставаться одним из ключевых языков программирования, несмотря на свой солидный возраст - более 45 лет с момента создания. За это. . .
|