поменять слова местами C#

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
drumer91
Сообщения: 8
Зарегистрирован: 20 ноя 2009, 22:29

здравствуйте, помогите пожалуйста написать программку или составить алгоритм, которая бы меняла два заданных слова в строке местами, при этом не использовать методы для работы над строками(кроме длины)...
Вот я думаю так:
1)сначала посчитать количество слов в строке и посчитать количество рядом стоящих пробелов во всей строке
2)потом создать массив строк, куда занести полученные последовательности пробелов и слова
3)ввести счётчик, который бы считал количество слов в массиве
4)затем поменять заданные слова местами
5)вывести на экран...
но у меня возникли проблемы с пунктом 1)
Аватара пользователя
Decoder
Сообщения: 308
Зарегистрирован: 19 фев 2008, 23:11
Откуда: Moscow

Объясни, как именно указывать, какое слово с каким менять?
Предположим, имеется строка: "Понедельник Вторник Среда Четверг Пятница".
Я вижу как минимум три варианта:
1. Поменять "Понедельник" и "Пятница".
2. Поменять первое и последнее слово или первое и пятое.
3. Указывать смещение от начала строки и длину слова, напимер: (0, 11) и (34, 7).
Поумнеть несложно, куда труднее от дури избавиться.
drumer91
Сообщения: 8
Зарегистрирован: 20 ноя 2009, 22:29

виноват, что сразу не написал
пользователь вводит номера слов, которые надо поменять
Аватара пользователя
Decoder
Сообщения: 308
Зарегистрирован: 19 фев 2008, 23:11
Откуда: Moscow

По поводу первого пункта: тебе же WinMain любезно предоставил уже готовый алгоритм на C#.
3)ввести счётчик, который бы считал количество слов в массиве
Количество слов в массиве и количество слов в строке - это разве не одно и то же значение?
Ну и наконец...
4)затем поменять заданные слова местами
Существует готовый алгоритм, который переставляет мествми слова в строке без дополнительного выделения промежуточной памяти под отдельные слова.
Так что делать всё это нужно по-другому:
1. Количество слов в строке необходимо разве что для проверки корректности указываемого порядкового номера слова.
2. Тебе нужен метод, который будет определять местоположение заданного слова внутри строки (т.е. смещение от начала строки) и его длину.
3. Дальше используется алгоритм перестановки слов внутри строки.

Если будет что-то непонятно, пиши на decoder@hotbox.ru
Поумнеть несложно, куда труднее от дури избавиться.
drumer91
Сообщения: 8
Зарегистрирован: 20 ноя 2009, 22:29

Decoder писал(а): Количество слов в массиве и количество слов в строке - это разве не одно и то же значение?
да, количество СЛОВ в строке= количеству СЛОВ в массиве, НО в массиве, кроме слов, находятся последовательности пробелов в соответствующих элементах массива
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
c 1) уже разобрался
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
всем спасибо
Ответить