Аноним
Информатика
08 мая 17:06

С клавиатуры вводится строка, содержащая три слова, разделённые пробелом. Напишите программу, которая меняет местами

второе и третье слово. Lazarus

Ответ или решение1

Первая программа предназначена ТОЛЬКО для Pascal.ABC, в другой среде она работать не будет. Она самая короткая и простая. Метод Split разбивает исходную строку на слова по символу пробела и формирует динамический массив. Что бы мы ни вводили, мы всегда будем получать в результате то, что требовалось. (понятно, что если слов будет меньше трех, будем получать то, что ввели). var s: string; ms: array of string; begin Write('Введите три слова через пробел: '); Readln(s); ms := s.Split(' '); Writeln(ms[0] + ' ' + ms[2] + ' ' + ms[1]) end. Вторая программа реализуется в любой версии Pascal. Её недостаток в том, что она правильно работает только тогда, когда введена фраза из трех слов, разделенных пробелом. Это простейший линейный алгоритм. var s, s1, s2, s3: string; n, p: integer; begin Write('Введите три слова через пробел: '); Readln(s); n := Length(s); p := Pos(' ', s); s1 := Copy(s, 1, p - 1); s3 := Copy(s, p + 1, n - p); p := Pos(' ', s3); s2 := Copy(s3, 1, p - 1); n := Length(s3); s3 := Copy(s3, p + 1, n - p); Writeln(s1 + ' ' + s3 + ' ' + s2) end. Третья программа также реализуема в любой версии Pascal и содержит "классический" способ работы со строкой, состоящий в последовательном анализе каждого символа. Имеет защиту на случай, если слов будет больше или меньше трех. var s: string; ms: array[1..3] of string; i, n, p, j: integer; begin Write('Введите три слова через пробел: '); Readln(s); { Алгоритм: Просматриваем все символы строки начиная с позиции p и при обнаружении пробела в позиции q заносим в массив очередное слово, копируя q-p символов, начиная с p. Затем заносим в p значение q+1 и продолжаем просмотр. При старте принимаем p=1 } p := 1; j := 0; n := Length(s); for i := 1 to n do if s[i] = ' ' then begin j := j + 1; if j <= 3 then begin{ если введено больше двух пробелов } ms[j] := Copy(s, p, i - p); p := i + 1 end end; if j < 3 then ms[3] := Copy(s, p, n - p + 1); Writeln(ms[1] + ' ' + ms[3] + ' ' + ms[2]) end. Все три программы опробованы и результаты их работы одинаковы: Введите три слова через пробел: Зебра полосатая лошадь Зебра лошадь полосатая
Знаешь ответ?
Как написать хороший ответ?Как написать хороший ответ?
Как добавить хороший ответ?
Что необходимо делать:
  • Написать правильный и достоверный ответ;
  • Отвечать подробно и ясно, чтобы ответ принес наибольшую пользу;
  • Писать грамотно, поскольку ответы без грамматических, орфографических и пунктуационных ошибок лучше воспринимаются.
Что делать не стоит:
  • Списывать или копировать что-либо. Высоко ценятся ваши личные, уникальные ответы;
  • Писать не по сути. «Я не знаю». «Думай сам». «Это же так просто» - подобные выражения не приносят пользы;
  • Писать ответ ПРОПИСНЫМИ БУКВАМИ;
  • Материться. Это невежливо и неэтично по отношению к другим пользователям.
Пример вопроса
Аноним
Русский язык
7 минут назад
Какой синоним к слову «Мореплаватель»?
Хороший ответ
Вася Иванов
Мореплаватель — имя существительное, употребляется в мужском роде. К нему может быть несколько синонимов.
1. Моряк. Старый моряк смотрел вдаль, думая о предстоящем опасном путешествии;
2. Аргонавт. На аргонавте были старые потертые штаны, а его рубашка пропиталась запахом моря и соли;
3. Мореход. Опытный мореход знал, что на этом месте погибло уже много кораблей, ведь под водой скрывались острые скалы;
4. Морской волк. Старый морской волк был рад, ведь ему предстояло отчалить в долгое плавание.
Плохой ответ
Аноним
Ну, синоним это такое слово, которое очень похоже на другое по своему обозначению. Тут может подойти что-то связанное с морем.
Будьте внимательны!
Будьте внимательны!
  • Копировать с других сайтов запрещено. Стикеры и подарки за такие ответы не начисляются. Используй свои знания. :)
  • Публикуются только развернутые объяснения. Ответ не может быть меньше 110 символов!
0 /10000
Как добавить хороший ответ?
Что необходимо делать:
  • Написать правильный и достоверный ответ;
  • Отвечать подробно и ясно, чтобы ответ принес наибольшую пользу;
  • Писать грамотно, поскольку ответы без грамматических, орфографических и пунктуационных ошибок лучше воспринимаются.
Что делать не стоит:
  • Списывать или копировать что-либо. Высоко ценятся ваши личные, уникальные ответы;
  • Писать не по сути. «Я не знаю». «Думай сам». «Это же так просто» - подобные выражения не приносят пользы;
  • Писать ответ ПРОПИСНЫМИ БУКВАМИ;
  • Материться. Это невежливо и неэтично по отношению к другим пользователям.
Пример вопроса
Аноним
Русский язык
7 минут назад
Какой синоним к слову «Мореплаватель»?
Хороший ответ
Вася Иванов
Мореплаватель — имя существительное, употребляется в мужском роде. К нему может быть несколько синонимов.
1. Моряк. Старый моряк смотрел вдаль, думая о предстоящем опасном путешествии;
2. Аргонавт. На аргонавте были старые потертые штаны, а его рубашка пропиталась запахом моря и соли;
3. Мореход. Опытный мореход знал, что на этом месте погибло уже много кораблей, ведь под водой скрывались острые скалы;
4. Морской волк. Старый морской волк был рад, ведь ему предстояло отчалить в долгое плавание.
Плохой ответ
Аноним
Ну, синоним это такое слово, которое очень похоже на другое по своему обозначению. Тут может подойти что-то связанное с морем.
Узнай, что тебя ждёт на ЕГЭ 2021
Регулярно решая тесты, ты сможешь оценить свой уровень знаний и поработать над слабыми местами
Перейти к разделу
Хочешь выучивать по 10 английских слов в день?
Выбирай верные определения слов и продвигайся в рейтинге игроков. Чем больше слов запоминаешь, тем выше результат!
Играть!
ВходРегистрация

Вход

или

Регистрация