|
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 17
|
||||||
Вывести слова строки в порядке убывания числа букв в них25.10.2013, 18:50. Показов 2753. Ответов 5
Метки нет (Все метки)
Собственно, имеется готовая на половину программа:
Помогите пожалуйста. Добавлено через 1 час 17 минут Что ж так пусто то тут? Добавлено через 34 минуты Забыл сказать, что при запуске программы после работы с первой частью программы, верно выводится приглашение на ввод строки, после чего сразу заключительная фраза и программа завершается
0
|
||||||
| 25.10.2013, 18:50 | |
|
Ответы с готовыми решениями:
5
Строки. Вывести слова в порядке убывания количества цифр в них
Слова строки расположены в порядке возрастания в них букв |
|
27 / 27 / 6
Регистрация: 27.09.2009
Сообщений: 101
|
|
| 25.10.2013, 20:06 | |
|
Я бы читал строку с помощью gets, так как вроде scanf считает до первого разделителя(пробел тоже разделитель). И у вас в 77 строке цикл до k, но там ведь вы по логике должны пробегать по всей строке(ища координаты пробелов), а получается только по найденному количеству пробелов, что не соответствует длине строки. Так же надо учитывать, что можно ввести несколько пробелов и учитывать,что после последнего слова будет пробел ну и т.д.
1
|
|
|
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 17
|
|||||||||||||||||||||
| 25.10.2013, 21:16 [ТС] | |||||||||||||||||||||
|
[QUOTE=Vivo;5236273]Я бы читал строку с помощью gets, так как вроде scanf считает до первого разделителя(пробел тоже разделитель)
если интересно, то я раскопал, что это можно делать и с помощью scanf в таком виде:
![]() Добавлено через 31 минуту
Необработанное исключение в "0x008c1c07" в "лаб1.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcdfac6c5". Честно говоря понятия не имею, с чем это может быть связано, похоже на нехорошее разыменование указателей, только как с этим бороться, я не знаю
0
|
|||||||||||||||||||||
|
27 / 27 / 6
Регистрация: 27.09.2009
Сообщений: 101
|
||||||||||||
| 28.10.2013, 15:25 | ||||||||||||
|
Если у вам нужно выполнить это задание на c++,то можно вот так:
Ну а по поводу вашего кода: Посмотрев в отладчике ваш новый код, я не понял как вы не нашли проблемы с вашим алгоритмом, попробуйте поставить много точек останова и посмотреть значения массивов. Приведу часть проблем: Пример: Берем строку: 333 1 22. k у нас будет равна 3-м и мы выделяем память под 3-и элемента. Далее вы ищите координаты пробелов и записываете в массив, НО вы не учли тот факт, что пробелов в данной строке 2, а k равна 3-м т.к. вы инициализировали его единицей. В результате этого упущения у вас в массиве wrds адекватные значения только у нулевого и первого элементов. После этого вы создаете массив структур и заполняете первый и последний элементы значениями, НО из-за некорректности последнего элемента в массиве wrds получается, что в этом месте будут не те значения(строки 89-92):
1
|
||||||||||||
|
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 17
|
||||||
| 28.10.2013, 21:55 [ТС] | ||||||
при отладке gets_s(st) работает неадекватно, а именно не дает шанса ввести строку. Вот теперь я точно понятия не имею что же, черт возьми, происходит
0
|
||||||
|
27 / 27 / 6
Регистрация: 27.09.2009
Сообщений: 101
|
||||||
| 29.10.2013, 15:14 | ||||||
|
К сожалению мой отладчик опять показывает не понятные для меня данные.
Может код вы и изменили, но в массивах осталось всё так же: В случае с 3-мя словами. Вы заполняете массив wrds двумя элементами(координаты пробелов), допустим тут всё нормально, дальше вы заполняете arw[0] и arw[k-1]. И теперь смотрим дальше: вы сортируете массив из 3-х элементов, но данные в arw[2] снова b и l не корректные, вы отсортировали и выводите. Но при выводе опять выход за диапазон получается. Может я что-то не так делаю, но ваш вариант у меня не работает. Попробуйте пока отложить ввод строки, а отладить алгоритм. Сделайте так:
Мне кажется, что вам лучше заполнять массив arw значениями индексов слов, а не высчитывать через индексы пробелов.
1
|
||||||
| 29.10.2013, 15:14 | |
|
Помогаю со студенческими работами здесь
6
Вывести слова строки в порядке убывания длины Вывести все слова строки в порядке убывания
Дано предложение. Расположить слова в порядке возрастания числа букв в них Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|