В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
bosschornoguz
bosschornoguz
19.08.2020 06:26 •  Информатика

Решить в паскаль 1. поменять местами слова в строках, состоящих из двух слов. 2.даны три строки. вывести самую длинную строку. (первая - линейный алгоритм, вторая - ветвление

Показать ответ
Ответ:
concede
concede
09.10.2020 12:17
1.

Нам дана строка из двух слов. Например, 'ah-ha nanana'. Сначала найдем индекс пробела в этой строке. Это делает функция pos(s1, s). Она возвращает первый встретившийся индекс подстроки s1 в строке s. Если мы вызовем pos(' ', 'ah-ha nanana'), она вернет 6. Сохраним это значение в переменную space.

Функция copy(s, pos, n) возвращает подстроку строки s из n символов, которая начинается в pos. Для копирования первого слова нам нужно взять подстроку, которая начинается с первого символа и имеет длину space-1. Под номером space в строке находится пробел, а в space+1 - начало второго слова.

Таким образом, copy('ah-ha nanana', 1, space-1) вернет 'ah-ha', а copy('ah-ha nanana', space+1, length('ah-ha nanana')-space) - 'nanana'.


var

 s, s1, s2: string;

 space: longint;

begin

 readln(s);

 space := pos(' ', s);

 s1 := copy(s, 1, space - 1);

 s2 := copy(s, space + 1, length(s) - space);

 s := s2 + ' ' + s1;

 writeln(s);

end.


2.

Предположим, что первая введенная строка - самая длинная. Если вторая строка длиннее первой, изменим ответ. Если третья строка длиннее самой длинной из первых двух, изменим ответ.

Примечание: В переменной s мы сначала храним первую введенную строку, а после ввода - максимальную. Если нужно сохранить первую введенную строку, лучше хранить максимальную в отдельной переменной.

var

 s, s1, s2: string;

begin

 readln(s);

 readln(s1);

 readln(s2);

 if length(s1) > length(s) then s := s1;

 if length(s2) > length(s) then s := s2;

 writeln(s);

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота