Дан массив из n слов произвольной длины (длина слова не превышает 80 символов). Символами могут быть буквы латинского алфавита и цифры. Определить сумму цифр во введенном с клавиатуры тексте — Pascal(Паскаль)

uses crt;
type T_str=array [1..10] of string[80];
     T_set=set of char;
var s:T_str;
    alf:T_set;
    n,i,j,k,imn,imx,mn,mx:byte;
    x:string[80];
begin
clrscr;
alf:=['1','3','5','7','9'];
repeat
 write ('Введите количество слов (не более 10) ');
 readln(n);
 if not (n in [1..10]) then writeln ('Ошибка ввода!');
until (n in [1..10]);
writeln('Введите ',n,' слов, содержащих цифры');
for i:=1 to n do
readln(s[i]);
imn:=1;imx:=1;
mn:=80;mx:=0;
for i:=1 to n do
 begin
  k:=0;
  for j:=1 to length(s[i]) do
  if s[i][j] in alf then k:=k+1;
  if k>mx then
   begin
    mx:=k;
    imx:=i;
   end
  else if k<mn then
   begin
    mn:=k;
    imn:=i;
   end;
 end;
writeln('Максимальное количество нечетных цифр в слове номер ',imx,'=',mx);
writeln('Минимальное  количество нечетных цифр в слове номер ',imn,'=',mn);
if imn=imx then write('Это одно слово, обмена нет')
else
 begin
  x:=s[imn];
  s[imn]:=s[imx];
  s[imx]:=x;
  writeln('Слова переставлены');
  for i:=1 to n do
  writeln(s[i]);
  end;
readln
end.

Leave a Comment

64 − 61 =