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 !
vo = ['a', 'e', 'o', 'i', 'u', 'ă', 'î', 'â'];
var
s: string;
i, k: byte;
begin
write('Enter string: ');
readln(s);
for i := 1 to Length(s) do
if s[i] in vo then inc(k);
writeln('Sunt: ', k, ' vocale ');
readln;
end.
co = ['b', 'c', 'd', 'f', 'h', 'j', 'k', 'l','m','n','p','q','r','s','t','v','w','x','z','y'];
var
s: string;
i, k: byte;
begin
write('Enter string: ');
readln(s);
for i := 1 to Length(s) do
if s[i] in vo then inc(k);
writeln('Sunt: ', k, ' consoane ');
readln;
end.
Răspunsuri la întrebare
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.
s: string;
i, nr: integer;
begin
writeln('Enter string');
readln(s);
nr := 0;
for i := 1 to length(s) do
nr := nr + 1;
writeln(nr);
readln;
end.