program SwapParts;
uses SysUtils;
var
s, firstPart, secondPart: string;
dashPos: integer;
begin
writeln('Введите строку из двух слов через дефис:');
readln(s);
dashPos := Pos('-', s);
if dashPos = 0 then
begin
writeln('Строка не содержит дефиса.');
halt;
end;
firstPart := Copy(s, 1, dashPos - 1);
secondPart := Copy(s, dashPos + 1, Length(s) - dashPos);
writeln('Результат: ', secondPart, '-', firstPart);
end.
program SumOfDigits;
uses SysUtils, crt;
var
s: string;
i, sum: integer;
ch: char;
begin
writeln('Введите строку, состоящую из букв и цифр:');
readln(s);
sum := 0;
for i := 1 to Length(s) do
begin
ch := s[i];
if ch in ['0'..'9'] then
sum := sum + Ord(ch) - Ord('0');
end;
writeln('Сумма цифр в строке: ', sum);
end.
program InsertWord;
uses SysUtils;
var
s, t, z, resultStr: string;
posT: integer;
lenT: integer;
begin
writeln('Введите исходную строку (s):');
readln(s);
writeln('Введите слово, после которого нужно вставить (t):');
readln(t);
writeln('Введите слово для вставки (z):');
readln(z);
posT := Pos(t, s);
if posT = 0 then
begin
writeln('Слово "', t, '" не найдено в строке.');
halt;
end;
lenT := Length(t);
// Проверяем, чтобы после t было либо конец строки, либо пробел
if (posT + lenT <= Length(s)) and (s[posT + lenT] <> ' ') then
begin
writeln('Слово "', t, '" является частью другого слова.');
halt;
end;
// Вставляем z после t
resultStr := Copy(s, 1, posT + lenT -1) + ' ' + z + Copy(s, posT + lenT, Length(s) - (posT + lenT) +1);
writeln('Результат: ', resultStr);
end.
1)Дана строка, состоящая из двух слов, записанных через дефис. Написать программу, которая меняет части слов относительно дефиса.
2)Дана строка, состоящая из букв и цифр. Написать программу, подсчитывающую сумму цифр в строке.
3) Составьте программу, которая вставляет заданное слово z после указанного слова t в строке s.(Переменные z,t,s вводятся с клавиатуры)