Обработка символов строки
Дано слово. Переставить первые три и последние три буквы, сохранив порядок их следования.
Var z,s: string;n:byte; Begin WRITE(Введите слово); READLN(z); n:=length(z); s:=copy(z,n-2,3)+copy(z,4,n- 6)+copy(z,1,3); Writeln(s); End.
Составить программу, которая печатает заданное слово в обратном порядке.
Var z,s: string;i,n:byte; Begin WRITE(Введите слово); READLN(z); n:=length(z);s:=; For i:=1 to n do s:=z[i]+s; Writeln(s); End.
Поиск и замена в строке
Дано предложение. Заменить в нем все вхождения буквы и нае.
Var z,s: string;i,n:byte; Begin WRITE(Введите предложение); READLN(z); n:=length(z); s:=; For i:=1 to n do IF z[i]и then s:=s+z[i] else s:=s+е; Writeln(s); End.
Дано предложение. Заменить в нем все вхождения буквосочетания «да» на «нет».
Var z: string;k,n:byte; Begin WRITE(Введите предложение); READLN(z); while pos(да,z)0 do begin K:=pos(да,z); delete(z,k,2); Insert(нет,z,k); end; Writeln(z); End.
Обработка цифр в строке
Дан символ. Выяснить, является ли он цифрой.
Var c:char; Begin Writeln(Введите символ); Read(c); Case c of 0..9:writeln(Это цифра) else writeln(Это не цифра); end; End.
Дан текст, в котором имеются цифры. Найти максимальную цифру.
Var s:string; n,i:byte;k:char; Begin Writeln(Введите текст); Readln(s); n:=length(s);k:=0; for i:=1 to n do Case s[i] of 0..9: if s[i]>k then k:=s[i];end; Writeln(k);End.
Дан текст, в котором имеются цифры. Найти сумму цифр.
Var s:string; n,i:byte;k:integer; Begin Writeln(Введите текст); Readln(s); n:=length(s); for i:=1 to n do Case s[i] of 0..9: k:=k+(ord(s[i])-ord(0));end; Writeln(k);End.
Обработка строки по составному условию
Дан текст. Верно ли, что в нем есть пять идущих подряд одинаковых символов?
Var s:string; n,i,k,f:byte; Begin Write(Введите текст); Readln(s); n:=length(s); k:=1;
for i:=1 to n-1 do if s[i]=s[i+1] then k:=k+1 else begin if k=5 then f:=1; k:=1; end; if f=1 then write(да) else write(нет); End.
Даны два слова. Определить, сколько начальных букв первого слова совпадает с начальными буквами второго слова.
Var s1,s2:string; k:byte; Begin Write(Введите слово); Readln(s1); Write(Введите слово); Readln(s2); k:=1; while s1[k]=s2[k] do k:=k+1; writeln(k-1); End.
Составьте программу, определяющую, на какую букву заканчивается третье слово в предложении. Слова в предложении разделены одним пробелом.
Var s:string; k,a,n:byte; Begin Write(Введите предложение); Readln(s); n:=length(s); k:=0;a:=0; while (a
Var s:string; k:byte; Begin Write(Введите предложение); Readln(s); k:=pos(,s); delete(s,1,k); k:=pos(,s); writeln(s[k-1]); End.
Составьте программу, определяющую длину самого длинного слова в предложении.
Var s:string; n,i,k,max:byte; Begin Write(Введите текст); Readln(s); s:=s+ ; n:=length(s); max:=1; k:=0; for i:=1 to n do if s[i] then k:=k+1else begin if k>max then max:=k; k:=0 end; write(max);End.
Дан текст. Найти наибольшее число идущих подряд одинаковых символов.
Var s:string; n,i,k,max:byte; Begin Write(Введите текст);Readln(s); n:=length(s);max:=1;k:=1; for i:=1 to n-1 do if s[i]=s[i+1] then k:=k+1 else begin if k>max then max:=k; k:=1 end; write(max);End.
Составьте программу, определяющую самое длинное слово в предложении.
Var s,st,sm:string; n,i:byte; Begin Write(Введите текст); Readln(s); n:=length(s);sm:=; for i:=1 to n do if (s[i] ) or (s[i].) then st:=st+s[i] else begin if length(st)>length(sm) then sm:=st;st:= end; write(sm); End.