2 / 2 / 0
Регистрация: 17.11.2021
Сообщений: 30
|
||||||
1 | ||||||
Сравнить последнюю букву 1-го слова и первую букву 2-го слова17.11.2021, 20:09. Показов 902. Ответов 8
Метки pascal abc net (Все метки)
Я хотел написать программу которая сравнивает последнюю букву первого слова и первую букву второго слова. Эти слова должны вводиться в одной строке. У меня получилось это
Добавлено через 7 минут Ой Read(s,c) ; я написал это после Begin
0
|
17.11.2021, 20:09 | |
Ответы с готовыми решениями:
8
Перенести первую букву в конец слова, последнюю букву в начало слова Первую букву каждого слова заменить на последнюю букву последнего слова Заменить в третьем по счёту слове первую букву на последнюю букву этого же слова Напечатать все слова, отличные от последнего, поменяв первую и последнюю букву каждого слова Заменить в третьем по счёту слове первую букву на последнюю букву Заменить в третьем по счёту слове первую букву на последнюю букву этого же слова. |
400 / 276 / 119
Регистрация: 09.07.2021
Сообщений: 996
|
|
17.11.2021, 20:18 | 2 |
потому что у Вас
s имеет тип string , а Вы пытаетесь присвоить ему integer , который возвращает length(s) хотя я может чего не понял? просто тот код, который Вы прислали, вообще некомпилируем, так что я предположил, что [ тут лишнее. если наоборот не хватает закрывающей скобки, то вероятно Вы хотели написать s:=s[length(s)] ;
0
|
2 / 2 / 0
Регистрация: 17.11.2021
Сообщений: 30
|
|
17.11.2021, 20:23 [ТС] | 3 |
Да, такое компилируемо но когда я ввожу любое слово то пишет что Ошибка времени выполнения: Индекс находился вне границ массива.
Я написал слово 'Привет' и такая ошибка, я писал два слова в строке но все равно такая ошибка. Добавлено через 1 минуту Я уже пытался писать так как вы сказали, раньше.
0
|
400 / 276 / 119
Регистрация: 09.07.2021
Сообщений: 996
|
|
17.11.2021, 20:28 | 4 |
а это уже возникает из-за очень неудачного метода чтения строк. не буду рассказывать о спец символах, но если Вам нужно прочитать что-то после чтения строки, то нужно следить, что бы при прошлом чтении был выполнен переход на новую строку.
короче говоря, преобразуйте своё Read(s,c) ; в Readln(s); read(c);
0
|
2 / 2 / 0
Регистрация: 17.11.2021
Сообщений: 30
|
|
17.11.2021, 20:32 [ТС] | 5 |
Огромное спасибо!
А можно как то сделать чтобы программа читала 2 слова в одной строке, а не 1 слово в 1 строке??? Типа не Readln(x) и read(x) а read(x) read(x)
0
|
400 / 276 / 119
Регистрация: 09.07.2021
Сообщений: 996
|
|
17.11.2021, 20:37 | 6 |
0
|
2 / 2 / 0
Регистрация: 17.11.2021
Сообщений: 30
|
|
17.11.2021, 20:38 [ТС] | 7 |
Тогда очень прошу вас его написать. Если не пойму то разберусь!
0
|
400 / 276 / 119
Регистрация: 09.07.2021
Сообщений: 996
|
||||||
17.11.2021, 20:48 | 8 | |||||
это если остальную часть программы не менять
0
|
2 / 2 / 0
Регистрация: 17.11.2021
Сообщений: 30
|
|
17.11.2021, 20:57 [ТС] | 9 |
Огромное спасибо!
0
|
17.11.2021, 20:57 | |
17.11.2021, 20:57 | |
Помогаю со студенческими работами здесь
9
Поменять местами первую и последнюю букву каждого слова Напечатать все слова, отличные от последнего слова, предварительно удалив из каждого слова последнюю букву Вывести слова, отличные от последнего слова, предварительно удалив из каждого слова последнюю букву Напечатать все слова, отличающиеся от последнего слова, перед печатью перенеся последнюю букву в начало слова Напечатать все слова, отличные от последнего слова, предварительно перенеся первую букву в конец слова Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |