Дан текст из цифр и строчных латинских букв, за которым следует точка. Определите, каких букв — гласных (A, E, I, O, U) или согласных — больше в этом тексте — Pascal(Паскаль)

const
 vow='aeyuio';
 con='qwrtpsdfghjklzxcvbnm';
 
 var
 t:string;
 i,j,n,m:integer;
 
 begin
n:=0;
m:=0;
 write('Напишите предложение: ');
readln(t);
 for i:=1 to length(t) do
 for j:=1 to length(vow) do
 if t[i]=vow[j] then begin
 n:=n+1;
 break;
 end;
 
 for i:=1 to length(t) do
 for j:=1 to length(con) do
 if t[i]=con[j] then begin
 m:=m+1;
 break;
 end;
 
 if n>m then writeln('Гласных больше чем согласных');
 if n=m then writeln('Гласных столько же, сколько и согласных')
          else writeln('Согласных больше чем гласных');
 readln;
 end.

Следующий вариант с применением множества

const
 vow=['a','e','y','u','i','o'];
 con=['q','w','r','t','p','s','d','f','g','h','j','k','l',
      'z','x','c','v','b','n','m'];
  var
 t:string;
 i,j,n,m:integer;
 
 begin
 write('Напишите предложение: ');readln(t);
 n:=0;
 m:=0;
 for i:=1 to length(t) do
  begin
   if t[i] in con then m:=m+1;
   if t[i] in vow then n:=n+1;
  end;
 writeln('Согласных=',m);
 writeln('Гласных  =',n);
 if n>m then writeln('Гласных больше чем согласных')
 else if m>n then writeln('Согласных больше чем гласных')
 else writeln('Гласных столько же, сколько и согласных');
 readln;
 end.

Leave a Comment

6 + 1 =