Паскаль с клавиатуры вводится строка, состоящая из слов на языке, отделённых друг от друга одним пробелом. все буквы прописные. вывести эту строку на экран, заменив в каждом слове первую букву на заглавную.
Program z6; Var a: array [1..10] of string; i,j,l:integer; s,g,s_2:string;Begin write('Введите строку - '); readln(s); l:=s.Length; i:= 1; j:= 1; while i <= l do begin while (s[i] <> ' ') and (i <= l) do begin a[j]:=a[j] + s[i]; i:= i + 1; if (i > l) then break; end; j:= j + 1; i:= i + 1; end; i:= 1; while (a[i] <> '') do begin g:=a[i]; g[1]:= (Upcase(g[1])); s_2:= s_2 + g + ' '; i:= i + 1; g:=''; end; writeln(s_2);End.
// PascalABC.NET 3.3, сборка 1562 от 02.11.2017 // Внимание! Если программа не работает, обновите версию!
begin var ИсходноеЧисло:=ReadlnString('Введите исходное целое число:'); var МассивЦифрЧисла:=ИсходноеЧисло.ToCharArray; var МестоМаксЦифры:=МассивЦифрЧисла.IndexMax; var МестоМинЦифры:=МассивЦифрЧисла.IndexMin; If МестоМинЦифры>МестоМаксЦифры then Swap(МестоМинЦифры,МестоМаксЦифры); ИсходноеЧисло:=ИсходноеЧисло?[:МестоМинЦифры+1]+ ИсходноеЧисло?[МестоМаксЦифры+2:]; Writeln('Результат замены: ',ИсходноеЧисло) end.
Пример Введите исходное целое число: 1402956387 Результат замены: 1456387
Procedure DigitReplace(Source,Replaced:integer; var Result:string); var SourceStr,ReplacedStr:string; MaxDigit:char; PosMax,i:integer; begin Str(Source,SourceStr); Str(Replaced,ReplacedStr); MaxDigit:=' '; for i:=1 to Length(SourceStr) do if SourceStr[i]>MaxDigit then MaxDigit:=SourceStr[i]; for i:=Length(SourceStr) downto 1 do if SourceStr[i]=MaxDigit then begin Delete(SourceStr,i,1); Insert(ReplacedStr,SourceStr,i) end; Result:=SourceStr end;
var n,c:integer; r:string;
begin Write('Введите исходное число: '); Readln(n); Writeln('Введите число для замены: '); Readln(c); DigitReplace(n,c,r); Writeln('Результат: ',r); end.