subprogramul cif
DESCRIPTION
Subprogramul cifTRANSCRIPT
Subprogramul cif, cu doi parametri, primeşte prin intermediul parametrului a un numărnatural cu cel mult 8 cifre şi prin intermediul parametrului b o cifră; subprogramul returneazănumărul de apariţii ale cifrei b în scrierea numărului a.Exemplu: pentru a=125854 şi b=5, subprogramul va returna valoarea 2.a) Scrieţi definiţia completă a subprogramului cif. (4p.)b) Scrieţi declarările de date şi programul principal Pascal care citeşte de la tastatură unnumăr natural n cu cel mult 8 cifre, dintre care cel puţin una impară, şi care determină şiafişează pe ecran, folosind apeluri utile ale subprogramului cif, cel mai mare număr naturalcare poate fi obţinut utilizând toate cifrele impare ale numărului n.
var x:array[1..8] of integer;n:longint;i,j,t,numar:integer;
function cif(a:longint;b:integer):integer;var nr:integer;begin
nr:=0;while (a<>0) do
beginif (a mod 10=b) then nr:=nr+1;a:=a div 10;end;
cif:=nr;end;
begin
write('dati n(cu cel putin o cifra impara)=');readln(n);numar:=0;i:=9;while i>=1 do
begint:=cif(n,i);if (t<>0) thenfor j:=1 to t donumar:=numar*10+i;i:=i-2;
end;if numar=0 then write('numarul nu are cifre impare')
else writeln(numar);end.