Var
S,S2:string;
i:integer;
Begin
Write('Введите строку: ');
ReadLn(S);
LowerCase(S); // эту строчку убрать, если КАЗАК и КаЗАк - разные слова
For i:= 1 to Length(S) do
S2:=S[i]+S2;
if S = S2 then Write('Эта строка - перевёртыш')
else Write('Данная строка не является перевёртышем')
End.
Если меж словами один пробел, и строка не с пробела начинается:
Var
A,i,C:integer;
S:string;
Begin
Write('Введите стоимость одного слова: ');
ReadLn(A);
C:=0;
Write('Введите текст телеграммы: ');
ReadLn(S);
For i:= 1 to Length(S) do
if S[i] = ' ' then C:=C+A;
WriteLn('Стоимость телеграммы: ',C+A);
End.
Если слова состоят из цифр и русских букв, и разделены следующими символами: пробел, тире, скобки, запятая, точка с запятой, двоеточие, точка, восклицательный знак и вопросительный знак. При этом, знак минус считается знаком тире. Также считается, что предложение оканчивается разделительным символом.
Код PascalABC.NET 3.2:
Var
A,i,C:integer;
S:string;
Begin
Write('Введите стоимость одного слова: ');ReadLn(A);
C:=0;
Write('Введите текст телеграммы: ');ReadLn(S);
For i:= 1 to Length(S)-1 do
if S[i]in['а'..'я','А'..'Я','ё','Ё','0'..'9'] then
if S[i+1]in[' ','-','(',')',',',';',':','.','!','?'] then
C:=C+A;
Write(C);
End.
Пример работы программы:
Введите стоимость одного слова: 1
Введите текст телеграммы: Помогите пожалуйста!!!!! (Паскаль) 1) Дана строка. Определить явяляется ли она перевертышем. То есть например слово КАЗАК,она и наоборот читается КАЗАК 2) Определить стоимость телеграммы,если стоимомость одного слова вводится с клавиатуры.
Стоимость телеграммы: 32