👤

Elaborați un program care citește de la tastatură n caractere și afișează pe ecran:

a) numărul cifrelor zecimale citite;

b) numărul cifrelor pare;

c) numărul cifrelor impare;

d) numărul literelor citite;

e) numărul vocalelor;

f) numărul consoanelor.

Caracterele introduse se separă prin acționarea tastei . Sunt admise cifrele zecimale 0, 1, 2, ..., 9 și literele mari A, B, C, ..., Z ale alfabetului latin.

COROANA de AUR și PUNCTAJ MAXIMAAL!

VĂ ROG E DE ORDIN SEMESTRIAL PENTRU MINE ȘI SUNT ÎN PRAG DE ABSOLVIREEE, FACEȚI O FAPTĂ BUNĂ VĂ ROOOG !

AM DAT TOT CE AM ! MAI DAU !


Răspuns :

Răspuns:

În enunţ se spune că se duc n caractere separate prin Enter, caracterele pot fi litere mari ale alfabetului englez sau cifre. Am respectat întocmau cerinţa.

p.s. instrucţiunea

inc(nrcifre);

este echivalentă instrucţiunii

nrcifre:=nrcifre+1;  

Explicație:

program LitereCifre;

const Voc=['A','E','I','O','U'];

     Cifre=['0'..'9']; CifPare=['0','2','4','6','8'];

     Litere=['A'..'Z'];

var ch:char; n,i, nrcifre, nrpare, nrimp, nrlit, nrvoc, nrcons:integer;

begin

 write('n= '); read(n);

 writeln('Introdu ',n,' caractere (litere mari sau cifre)');

 WRITELN('Dupa fiecare caracter tastati ENTER');

 nrcifre:=0; nrpare:=0; nrimp:=0; nrlit:=0; nrvoc:=0; nrcons:=0;

 for i:=1 to n do

   begin

     read(ch);

     if ch in Cifre then inc(nrcifre);

     if ch in CifPare then inc(nrpare);

     if (ch in Cifre)and(not (ch in CifPare)) then inc(nrimp);

     if ch in Litere then inc(nrlit);

     if ch in Voc then inc(nrvoc);

     if (ch in Litere)and(not(ch in Voc)) then inc(nrcons);

   end;

  writeln(' R a s p u n s:');

  writeln('a) numarul de cifre zecimale citite este ',nrcifre);

  writeln('b) numarul de cifre pare este ',nrpare);

  writeln('c) numarul de cifre impare este ',nrimp);

  writeln('d) numarul de litere este ',nrlit);

  writeln('e) numarul de vocale este ',nrvoc);

  writeln('f) numarul de consoane este ',nrcons);

end.