Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2010, 22:16   #1
H1ghlander
Пользователь
 
Регистрация: 13.09.2010
Сообщений: 19
По умолчанию отсортировать слова в строке по алфавиту

Строка вводится с клавиатуры, слова разделяются пробелами и табуляцией, нужно отсортировать каждую букву в каждом слове по алфавиту.
Все - это нужно сделать не используя строковые функции.

Как все это реализовать я примерно представляю, но есть одна загвоздка.
Алгоритм у меня такой: ввожу символы с клавиатуры, записываю каждый символ в массив, далее цикл по этому массиву, в котором определяю слова, когда определил слово заношу его во временный массив, сортирую его в алфавитном порядке, потом определяю другие слова.

Никак не могу сообразить, как задать такой цикл который бы пробегал по массиву и находил слова и записывал их во временный массив. На ум приходит только goto, но хотелось бы обойтись без него.
Прошу вашей помощи. Писать код не обязательно, подскажите хотя бы на словах.
H1ghlander вне форума Ответить с цитированием
Старый 05.11.2010, 00:50   #2
xDyPx
Форумчанин
 
Аватар для xDyPx
 
Регистрация: 21.01.2009
Сообщений: 148
По умолчанию

С первого элемента массива записываем каждый символ во временный массив до тех пор, пока не встретиться символ пробела или табуляции. Далее выполняется сортировка. После сортировки очищаем временный массив. Далее продолжаем читать исходный массив и записываем переменные во временный до пробела или табуляции... и так далее пока не конец исходного массива.
МОЙ САЙТ
Компьютер позволяет решать все те проблемы, которые до появления компьютера не существовали.
xDyPx вне форума Ответить с цитированием
Старый 05.11.2010, 10:00   #3
H1ghlander
Пользователь
 
Регистрация: 13.09.2010
Сообщений: 19
По умолчанию

Цитата:
Сообщение от xDyPx Посмотреть сообщение
С первого элемента массива записываем каждый символ во временный массив до тех пор, пока не встретиться символ пробела или табуляции. Далее выполняется сортировка. После сортировки очищаем временный массив. Далее продолжаем читать исходный массив и записываем переменные во временный до пробела или табуляции... и так далее пока не конец исходного массива.
В том, то и дело я не могу я никак придумать как задать такой цикл, который бы приостанавливался при нахождении пробела, а потом возобновлял свою работу. И еще пробелы и табуляция могут находится в начале строки.
И еще как можно очищать массив?
H1ghlander вне форума Ответить с цитированием
Старый 05.11.2010, 11:49   #4
xDyPx
Форумчанин
 
Аватар для xDyPx
 
Регистрация: 21.01.2009
Сообщений: 148
По умолчанию

вот тут вроде похожая задача разобрана
МОЙ САЙТ
Компьютер позволяет решать все те проблемы, которые до появления компьютера не существовали.
xDyPx вне форума Ответить с цитированием
Старый 05.11.2010, 12:31   #5
H1ghlander
Пользователь
 
Регистрация: 13.09.2010
Сообщений: 19
По умолчанию

там используются функции стринг, а мне нужно без них.
H1ghlander вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ассемблер слова по алфавиту Sined121 Фриланс 4 17.05.2010 09:51
Отсортировать слова в заданном списке по алфавиту. Nynka Помощь студентам 5 08.12.2009 00:45
Отсортировать числа по алфавиту Scorpil Общие вопросы C/C++ 3 18.10.2008 01:32
Отсортировать по алфавиту Rio309 Помощь студентам 2 09.03.2008 22:52
Отсортировать по алфавиту asale Microsoft Office Excel 5 19.11.2007 22:01