Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
2 / 2 / 0
Регистрация: 17.11.2021
Сообщений: 30
1

Сравнить последнюю букву 1-го слова и первую букву 2-го слова

17.11.2021, 20:09. Показов 902. Ответов 8

Author24 — интернет-сервис помощи студентам
Я хотел написать программу которая сравнивает последнюю букву первого слова и первую букву второго слова. Эти слова должны вводиться в одной строке. У меня получилось это

Pascal
1
2
3
4
5
6
7
8
Program fgh;
Var c,s:string;
Begin
 s:=[length(s) ;    - если пишу так пишет что Нельзя преобразовать тип integer к string
 c:= c[1];
if s=c then writeln('Да') 
Else writeln('Нет') 
End.
Помогите люди добрые, я туплю.

Добавлено через 7 минут
Ой

Read(s,c) ; я написал это после Begin
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2021, 20:09
Ответы с готовыми решениями:

Перенести первую букву в конец слова, последнюю букву в начало слова
Дан текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв; между...

Первую букву каждого слова заменить на последнюю букву последнего слова
Слова в строке отделены одним пробелом, в конце ставится точка. Первую букву каждого слова заменить...

Заменить в третьем по счёту слове первую букву на последнюю букву этого же слова
помогите выбивает ошибки сдать до завтра надо!!!!!!! var s,pr:string; i,sv,k:longint;...

Напечатать все слова, отличные от последнего, поменяв первую и последнюю букву каждого слова
Дана последовательность, содержащая от 2 до 20 слов, в каждом из которых от 2 до 10 латинских...

Заменить в третьем по счёту слове первую букву на последнюю букву Заменить в третьем по счёту слове первую букву на последнюю букву этого же слова.
Заменить в третьем по счёту слове первую букву на последнюю букву этого же слова.

8
400 / 276 / 119
Регистрация: 09.07.2021
Сообщений: 996
17.11.2021, 20:18 2
Цитата Сообщение от Silendave Посмотреть сообщение
если пишу так пишет что Нельзя преобразовать тип integer к string
потому что у Вас 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
Цитата Сообщение от Silendave Посмотреть сообщение
А можно как то сделать чтобы программа читала 2 слова в одной строке, а не 1 слово в 1 строке???
можно, только решение Вам понравится ещё меньше, чем чтение по одному слову
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
это если остальную часть программы не менять
Pascal
1
2
3
4
5
6
Var c,s:string;
Begin
readln(s);
var a:= s.ToWords;
(s, c):= (a[0], a[1]);
end.
после этих бесполезных действий слова будут в нужных Вам переменных. если действительно разберётесь, то поймёте и как упростить
0
2 / 2 / 0
Регистрация: 17.11.2021
Сообщений: 30
17.11.2021, 20:57  [ТС] 9
Огромное спасибо!
0
17.11.2021, 20:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2021, 20:57
Помогаю со студенческими работами здесь

Поменять местами первую и последнюю букву каждого слова
Разработать программу, которая в заданной строке, представляющей собой некоторое предложение,...

Напечатать все слова, отличные от последнего слова, предварительно удалив из каждого слова последнюю букву
1) Программа. Дан текстиз строчных русских букв, закоторым следует точка. Напечатать этот текст...

Вывести слова, отличные от последнего слова, предварительно удалив из каждого слова последнюю букву
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 строчных...

Напечатать все слова, отличающиеся от последнего слова, перед печатью перенеся последнюю букву в начало слова
Слова текста из малых латинских букв записаны не менее чем через один пробел; текст оканчивается...

Напечатать все слова, отличные от последнего слова, предварительно перенеся первую букву в конец слова
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 латинских...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru