здравствуйте, помогите пожалуйста написать программку или составить алгоритм, которая бы меняла два заданных слова в строке местами, при этом не использовать методы для работы над строками(кроме длины)...
Вот я думаю так:
1)сначала посчитать количество слов в строке и посчитать количество рядом стоящих пробелов во всей строке
2)потом создать массив строк, куда занести полученные последовательности пробелов и слова
3)ввести счётчик, который бы считал количество слов в массиве
4)затем поменять заданные слова местами
5)вывести на экран...
но у меня возникли проблемы с пунктом 1)
поменять слова местами C#
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
Объясни, как именно указывать, какое слово с каким менять?
Предположим, имеется строка: "Понедельник Вторник Среда Четверг Пятница".
Я вижу как минимум три варианта:
1. Поменять "Понедельник" и "Пятница".
2. Поменять первое и последнее слово или первое и пятое.
3. Указывать смещение от начала строки и длину слова, напимер: (0, 11) и (34, 7).
Предположим, имеется строка: "Понедельник Вторник Среда Четверг Пятница".
Я вижу как минимум три варианта:
1. Поменять "Понедельник" и "Пятница".
2. Поменять первое и последнее слово или первое и пятое.
3. Указывать смещение от начала строки и длину слова, напимер: (0, 11) и (34, 7).
Поумнеть несложно, куда труднее от дури избавиться.
виноват, что сразу не написал
пользователь вводит номера слов, которые надо поменять
пользователь вводит номера слов, которые надо поменять
По поводу первого пункта: тебе же WinMain любезно предоставил уже готовый алгоритм на C#.
Ну и наконец...
Так что делать всё это нужно по-другому:
1. Количество слов в строке необходимо разве что для проверки корректности указываемого порядкового номера слова.
2. Тебе нужен метод, который будет определять местоположение заданного слова внутри строки (т.е. смещение от начала строки) и его длину.
3. Дальше используется алгоритм перестановки слов внутри строки.
Если будет что-то непонятно, пиши на decoder@hotbox.ru
Количество слов в массиве и количество слов в строке - это разве не одно и то же значение?3)ввести счётчик, который бы считал количество слов в массиве
Ну и наконец...
Существует готовый алгоритм, который переставляет мествми слова в строке без дополнительного выделения промежуточной памяти под отдельные слова.4)затем поменять заданные слова местами
Так что делать всё это нужно по-другому:
1. Количество слов в строке необходимо разве что для проверки корректности указываемого порядкового номера слова.
2. Тебе нужен метод, который будет определять местоположение заданного слова внутри строки (т.е. смещение от начала строки) и его длину.
3. Дальше используется алгоритм перестановки слов внутри строки.
Если будет что-то непонятно, пиши на decoder@hotbox.ru
Поумнеть несложно, куда труднее от дури избавиться.
да, количество СЛОВ в строке= количеству СЛОВ в массиве, НО в массиве, кроме слов, находятся последовательности пробелов в соответствующих элементах массиваDecoder писал(а): Количество слов в массиве и количество слов в строке - это разве не одно и то же значение?
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
c 1) уже разобрался
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
всем спасибо