Нужно поменять местами первую и последнюю буквы каждого слова. Помогите, пожалуйста. Пол дня мучаюсь, но дошла лишь до:
Var i,t,p: Integer; n:byte; s,z,c: String; Begin writeln(‘Vvelite stroku’); readln(s); n:=length(s); p:=Pos(‘ ‘,S); if p<>0 then begin z:=s[1]; c:=copy(s,p-1,1); delete(s,p-1,1); insert(z,s,p-1); delete(s,1,1); insert(c,s,1); end;
Как дальше быть?
Отслеживать
80.1k 9 9 золотых знаков 77 77 серебряных знаков 133 133 бронзовых знака
задан 3 мар 2012 в 19:32
абря-кадабря абря-кадабря
3 1 1 серебряный знак 2 2 бронзовых знака
Судя потому, что у Вас уже есть, Вы не до конца понимаете, что происходит в Вашем коде.
4 мар 2012 в 9:50
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Во-первых, вам необходим цикл, в котором вы будете искать индекс пробельного символа. Кроме того, задумайтесь над тем, что не только пробел может быть в конце слова, а еще несколько различных знаков.
Для вашей задачи использовать функцию Pos особого смысла не имеет. Например,
Помните пару, над которой все СМЕЯЛИСЬ? Вот, что с ними произошло после ЭТОГО…
for I := 1 to length(s) do begin if (s[i] = ‘ ‘) or (s[i] = ‘,’) or . then . end;
Во-вторых, использование функций copy, insert, delete так же бессмысленно. Так как строка представлена массивом символов, вам лишь нужно поменять значения по индексу первой буквы слова и ваш текущий индекс в поиске минус один. Таким образом:
var c: char; firstLetter: integer;//в начале работы программы должна быть = 1 //(самому первому символу строки) . //нашли пробел/другой символ c = s[firstLetter]; //сохраняем первую букву слова s[firstLetter] := s[i — 1]; //перезапиписываем первую букву последней s[i — 1] := c; //перезаписываем последнюю букву //сохраняем первую букву следующего слова, //не забыв проверить не вышли ли мы за пределы длины строки if (i + 1)
Можно все это еще сдобрить проверками различного рода, когда несколько пробелов подряд, например. С индексами будьте аккуратны, я мог что-то где-то упустить, ведь описывал просто один из вариантов решения.
Источник: ru.stackoverflow.com
Конвертер регистров
ВЕРХНИЙ РЕГИСТР — автоматическая конвертация в капслок
Скопируйте любой интересующий текст в поле, выберите данную опцию — и сервис автоматически преобразует все буквы в капслок.
нижний регистр — конвертация всех символов в строчные
Вставьте текст и выберите функцию. Все без исключения знаки будут мгновенно преобразованы в строчные.
Заглавные Буквы — автоподстановка больших букв в начале всех слов
Данная функция позволяет выставить заглавные символы в начале всех слов введенного текста (вне зависимости от его размера).
иНВЕРСИЯ рЕГИСТРА — зеркальная конвертация
Опция зеркально меняет вид знаков: те из них, которые были большими, становятся маленькими. И наоборот.
Этот логотип сделал гений
Формат предложений — автоподстановка заглавной буквы в начале каждого предложения
Вставьте текст в поле и выберите функцию. Сервис автоматически расставит большие символы в начале всех предложений, а остальные преобразует в строчные. Распознаются «.», «?», «!».
чЕрЕдОвАнИе рЕгИсТрОв — конвертация всех нечетных символов в строчные, а четных — в прописные
Опция преобразует знаки по принципу чередования малых с заглавными букв(все нечетные — маленькие).
Источник: convertercase.com
Как изменить заглавные буквы на строчные, и наоборот (≈ большие буквы делаем маленькими)
В сем доброго времени суток!
Довольно часто наблюдаю, как многие набирают текст и случайно забывают «отжать» клавишу Caps Lock (реже: Caps Lock + Shift или Shift + F3) , и у них все буквы печатаются «ЗАГЛАВНЫМИ» (как у меня сейчас). В результате, потом стирают их, и начинают печатать заново.
Ладно, если текст был небольшим (потеряете пару минут времени — не страшно ), а если по ошибке набрали длинный текст не теми буквами.
В этой статье хочу показать, как можно за пару кликов мышкой (или 1-2 нажатий на клавиатуре) быстро изменить регистр букв (все на заглавные или наоборот). Думаю, что такая, казалось бы, мелочь, не раз и не два пригодится в повседневной работе с текстовой информацией.
В помощь!
Кстати, также довольно часто меня спрашивают, как можно вставить различные знаки и символы (домик, рука, знак копирайта и пр.) в текст, которых нет на клавиатуре. Рекомендую вот эту статью —>
Меняем прописные на строчные / и наоборот
В MS Word
Наверное, самый часто-встречающийся вариант (т.к. многие работают с текстом именно в Word). И так, в качестве примера я взял начало этой статьи и набрал ее заглавным регистром букв (все буквы прописные). Чтобы ничего не перепечатывать заново я просто сделал следующее:
- выделил текст (в котором нужно поменять буквы);
- открыл вкладку «Главная» , и выбрал значок «Аа» : он позволяет сделать весь выделенный текст прописными или строчными буквами (также есть варианты: как в предложениях, начинать с прописных и пр.).
- я выбрал вариант «Как в предложениях» — и все буквы у меня стали нормальными, как в обычном тексте, даже ничего корректировать было не нужно!
Документ Word — меняем всё на строчные буквы
Поменял регистр букв, как в предложениях
Важно!
Если вы в разделе «Главная» не можете найти данный инструмент «Аа» (у меня Word 2016, возможно в Word 2007 и старее — этого нет) — то выделите нужный текст, и нажмите сочетание кнопок Shift+F3.
Многие жалуются, что на ноутбуках данное сочетание не работает . Дело в том, что на некоторых ноутбуках, кнопка F3 по умолчанию убавляет/прибавляет громкость или яркость экрана, а для ее прямого назначения — необходимо нажать дополнительно кнопку Fn.
Поэтому, на ноутбуках — попробуйте нажать Fn+Shift+F3.
Кстати, если у вас на ПК нет Word — можно обойтись его аналогами. Например, бесплатный LibreOffice Writer позволяет выполнить быстрое изменение регистра с помощью того же сочетания Shift+F3.
Shift+F3 — LibreOffice (замена для MS Word)
В текстовом блокноте
На некоторых ПК/ноутбуках в силу разных причин нельзя установить Word. Да и сам пакет MS Office весит более 3 ГБ, что с медленным интернетом достаточно долго загружать, в то время как с подобной задачей может справиться маленькая программа-блокнот.
Речь идет о Notepad++.
Notepad++
Бесплатный и очень многофункциональный текстовый блокнот. Работает во всех версиях Windows, поддерживает русский язык. Позволяет открывать более 100 различных текстовых форматов!
Кроме этого, он подсвечивает синтаксис большинства языков программирования. Например, можно легко корректировать код на PHP, редактировать HTML теги и пр.
Кстати, в арсенале этого блокнота есть также куча разных полезных опций: работа с кодировками (для преобразования «крякозабр» и китайских иероглифов в нормальный текст, работа с регистрами букв, поиск и замена определенных символов в тексте и т.д.).
И так, установку и запуск программы я опускаю (они стандартны и сложностей не вызывают).
Далее нужно открыть свой текстовый файл (или просто скопировать нужный текст) в блокнот Notepad++. Затем выделите нужную строчку (или даже весь текст).
Notepad++ выделили нужный текст
Далее откройте меню «правка», вкладку «Преобразование регистра» : выберите тот регистр, который вам нужен, например, строчные буквы. Обратите внимание, что в программе предусмотрены «горячие» клавиши:
- Ctrl+U — весь выделенный текст будет преобразован к строчным буквам;
- Alt+U — весь выделенный текст станет написан с заглавных букв;
- Ctrl+Shift+U — все буквы будут прописными и т.д.
Notepad++ преобразование регистра
В моем примере, я выделенный текст преобразовал к строчному регистру. Показательный скриншот ниже. Быстро, легко, удобно!
Notepad++ регистр букв изменен
Как обезопасить себя от случайного набора не тех символов
Тут хотелось бы поделиться одной небольшой утилитой — Punto Switcher. Вообще, ее главное назначение — это автоматически менять раскладку клавиатуры (с русского на английский, и с английского на русский) в зависимости от того, какой текст вы печатаете.
НО! Программа следит и за регистром, и, если вы случайно будете печатать заглавными — она легко поправит. К тому же, на «лету» идет корректировка «легких» и самый частых ошибок (где-то пропущенная буква, или 2 заглавных буквы в слове и пр.). В общем, очень рекомендую!
Punto Switcher
Довольно мощная утилита для автоматической смены раскладки (определяет раскладку сама в зависимости от набираемого вами текста).
Также, если у вас уже есть набранный текст в не той раскладе — вы за одно нажатие кнопки можете быстро поменять английские буквы нар русские.
Простой пример. Допустим, вы печатали-печатали, и у видели, что набрали совсем не то (не в той раскладке) .
После установки утилиты Punto Switcher, достаточно выделить текст и нажать кнопки Shift+Pause — как текст моментально станет русским (см. показательные скриншоты ниже).
Punto Switcher — набран текст в не той раскладке
Punto Switcher — после выделения текста и нажатия на Shift+Pause — текст стал нормальным
В общем-то, к утилите быстро привыкаешь, и потом не представляешь, как набирать текст без ее помощи . Здорово помогает в работе с текстами (экономия времени налицо).
Это всё, о чем хотел сказать по этой теме.
Первая публикация: 08.01.2018
Источник: ocomp.info