Решить в Паскаль 1. Поменять местами слова в строках, состоящих из

Решить в Паскаль 1. Поменять местами слова в строчках, состоящих из двух слов. 2.Даны три строчки. Вывести самую длинноватую строку. (1-ая задачка - линейный метод, 2-ая - ветвление) ПРОШУ РЕБЯТА ПОЖАЛУЙСТА!!!

Задать свой вопрос
1 ответ

1.

Нам дана строка из 2-ух слов. К примеру, 'ah-ha nanana'. Поначалу найдем индекс пробела в этой строке. Это делает функция pos(s1, s). Она возвращает 1-ый встретившийся индекс подстроки 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.

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

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

var

 s, s1, s2: string;

begin

 readln(s);

 readln(s1);

 readln(s2);

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

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

 writeln(s);

end.

Алексей Соусов
На данный момент проверю, а что за цифра 4 в первой задачке
Елизавета Кочмарская
Нам дана строчка из 2-ух слов. К примеру, 'ah ha'. Функция copy(s, pos, n) отдаёт подстроку строчки s из n символов, которая начинается в pos. Для копирования первого слова нам необходимо брать подстроку, которая начинается в первом знаке и имеет длину два. Третим в строке идет пробел, а четвертым - начало второго слова.
Stefanija Cimidanova
Таким образом, copy('ah ha', 1, 2) вернет 'ah', а copy('ah ha', 4, 2) - 'ha'.
Николай Кумершмидт
а в первой задачке не надо указывать это ах ха
Сергей Цуцуран
Oh, не увидел, что слова не всегда длины 2. На данный момент исправлю.
Владислав Абалаков
Поправил. Прошу помилования.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт