Instructiunea While
1.Se citesc pe rand n valori intregi. Sa
se calculeze suma valorilor pare care au exact doua cifre.
#include<iostream.h>
int
main()
{int
n,x,i,s;
cout<<”Introduceti nr. de valori
“;cin>>n;
i=1;s=0;
while(i<=n)
{cout<<”Citeste
valoare”;cin>>x;
i++;
if((x%2==0)&&(x%100>9)&&(x/100==0))
s=s+x;
}
cout<<”Suma
numerelor pare cu exact doua cifre este “<<s;
return
0;
}
2.Se citesc pe rand n valori intregi. Sa
se afiseze acele valori citite consecutive, care reprezinta si valori alaturate
in intervalul numerelor intregi.
#include<iostream.h>
int main()
{int n,i,x,y;
cout<<”Introduceti nr de valori
“;cin>>n;
i=2;
cout<<”Dati
prima valoare “;cin>>x;
while(i<=n)
{cout<<”Dati urmatoarea valoare “;cin>>y;
i++;
if(abs(x-y)==1)
cout<<x<<”
“<<y<<endl;
x=y;
}
return
0;
}
3.Se citesc pe rand n valori intregi. Sa se
calculeze media aritmetica a tuturor valorilor care sunt divizibile cu propria
cifra a unitatilor.
#include<iostream.h>
int
main()
{int n,x,y,i,k,s;
cout<<”Introduceti nr. de valori
“;cin>>x;
i=1;s=0;k=1;
while(i<=n)
{cout<<”Dati
valoarea”;cin>>x;
y=x%10;
if(x%y==0) {s=s+x;
k++;
}
i++;
}
cout<<”Media
aritmetica este “<<s/k;
return
0;
}
4.Se citesc pe rand n caractere. Sa se numere cate dintre acestea
reprezinta litere mici, cate litere mari si cate sunt alte caractere. Afisati rezultatele pe randuri separate insotite de cate
un mesaj.
#include<iostream.h>
int
main()
{int n,i,k,m,v;
cout<<”Dati nr. de valori “;cin>>n;
i=1;k=0;m=0;v=0;
while(i<=n)
{cout<<”Dati
valoarea”;cin>>x;
if(x>=’a’&&x<=’z’) k++;
else
if(x>=’A’&&x<=’Z’) m++;
else v++;
i++;
}
cout<<”Exista”<<k<<”lietre
mici”<<endl;
cout<<”Exista”<<m<<”lietre
mari”<<endl;
cout<<”Exista”<<v<<”alte
caractere”;
return
0;
}
5.Se citesc pe rand n numere intregi. Calculati
raportul dintre duma valorilor pare si numarul valorilor impare.
#include<iostream.h>
int
main()
{int n,x,i,k,s;
cout<<”Introduceti nr. de valori “;cin>>n;
i=1;s=0;k=1;
while(i<=n)
{cout<<”Citeste valoarea “;cin>>x;
if(x%2==0)
s=s+x;
else k++;
i++;
}
cout<<”Raportul
este “<<k/s;
return 0;
}
6.Se citesc pe rand n valori reale. Sa se
determine in procente cat la suta dintre valorile citite sunt negative.
#include<iostream.h>
int
main()
{float n,x,i,k;
cout<<”Dati nr. de valori “;cin>>n;
i=1;k=0;
while(i<=n)
{cout<<”Dati valoarea
“;cin>>x;
if(x<0) k++;
i++;
}
cout<<”Procentul
nr. negative este “<<(k*100)/n<<”%”;
return
0;
}
7.Se citesc valori intregi pana la
intalnirea unui numar negative. Sa se determine cea mai mare valoare para sic
ea mia mica valoare impara citita. Sa se afiseze rezultatele pe acesi rand cu
virgula intre ele.
#include<iostream.h>
int
main()
{int x,min,max;
max=-32000;
min=32000;
cout<<”x=”;cin>>x;
while(x>=0)
{if(x%2==0&&x>max) max=x;
if(x%2!=0&&x<min) min=x;
cout<<”x=”;cin>>x;
}
cout<<”Cea mai mare valoare pare este
“<<max<<endl;
cout<<”Cea mai mica valoare impara este
“<<min;return 0;
}
8.Se citesc valori intregi de la tastatura
pana se introduce o valoare egala cu primul numar citit. Calculati
in procente cate numere pare sic ate numere impare s-au citit. Afisati
rezultatele pe randuri separate.
#include<iostream.h>
int
main()
{int
x,a,i,ip,ii;
i=1;ip=0;ii=0;
cout<<”a=”;cin>>a;
if(a%2==0) ip++;
else
i++;
cout<<”x=”;cin>>x;
while(x!=a)
{i++;
if(x%2==0)
ip++;
else ii++;
cout<<”x=”;cin>>x;
}
cout<<”Numere
pare “<<(ip*100)/i<<”%”<<endl;
cout<<”Numere
impare “<<(ii*100)/i<<”%”;
return 0;
}
9.Se citesc valori intregi pana la citirea
lui 0. sa se verifice daca printer numerele citite exista numere care au toate
cifrele egale. Se va scrie mesajul DA sau NU.
#include<iostream.h>
int
main()
{int
x,ok,k;
k=0;
cout<<”x=;cin>>x;
while(x!=0)
{ok=1;
while(x/10!=0)
{if(x%10!=x/10%10) ok=0;
x=x/10;
}
if(ok==1) k++;
cout<<”x=”;cin>>x;
}
if(k==0) cout<<”NU”;
else
cout<<”DA”;
return 0;
}
10.Se citesc caractere, pe rand, de la
tastatura pana la intalnirea caracterului punct. Numarati si afisati cate
caractere aflanumerice s-au citit.
#include<iostream.h>
int main()
{int x,k;
cout<<”x=”;cin>>x;
k=0;
while(x!=’.’)
{if(x>=’a’&&x<=’z’&&x>=’A’&&x<=’Z’&&x>=’0’&&x<=’9’) k++;
cout<<”x=”;cin>>x;
}
cout<<k<<”
caractere aflanumerice”;
return 0;
}
11.Se citesc pe rand valori itregi pana la
citirea unui numar mai mare decat o valoare z cunoscuta. Calculati suma tuturor
care se divid cu ultima cifra a primei valori citite.
#include<iostream.h>
int
main()
{int
x,z,i,s,a;
cout<<”z=”;cin>>z;
i=1;s=0;
cout<<”a=”;cin>>a;
cout<<”x=”;cin>>x;
while(x!=z)
{if(x%(a%10)==0) s=s+x;
i++;
}
cout<<”Suma
este “<<s;
return
0;
}
12.Sa se afiseze toate numerele naturale
pana la n cu proprietatea ca suma cifrelor impare din numar este un numar par.
#include<iostream.h>
int
main()
{int n,x,c,s,a;
cout<<”Dati nr. de valori “;cin>>n;
x=1;
while(x<=n)
{a=x;
s=0;
while(a!=0)
{c=a%10;
if(c%2!=0) s=s+c;
a=a/10;
}
if(s%2==0&&s!=0) cout<<x<<endl;
x++;
}
return 0;
}
13.Se citeste un singur numar cu cel mult
9 cifre. Sa se verifice daca cifrele impare din numar incepand de la unitati
sunt in ordine strict crescatoare.
#include<iostream.h>
int
main()
{int
x,ok,c;
cout<<”x=”;cin>x;
while(x%10%2==0)
{x=x/10;
ok=1;
c=x%10;
x=x/10;
while(x!=0)
{if(x%10%2==0)
x=x/10;
else
if(c>x%10) ok=0;
x=x/10;
c=x%10;
}
}
if(ok==1)
cout<<”Da”;
else cout<<”Nu”;
return 0;
}
14.Sa se
citeasca un numar intreg din mai mult de 5 cifre. Sa se formeze un alt numar cu
ultimele k cifre in ordinea in care apar ele in numarul initial. Determinati
cifra cea mai mica si cea mai mare din
noul numar.
#include<iostream.h>
int main()
{int nr,x,max,min,c;
cout<<”nr=”;cin>>nr;
max=0;min=9;
x=nr%1000;
while(x!=0)
{c=x%10;
if(c>max) max=c;
else if(c<min) min=c;
x=x/10;
}
cout<<”Cea mai
mare cifra este “<<max<<endl;
cout<<”Cea mai
mica cifra este “<<min;
return 0;
}
15.Sa se
parcurga toate numerele din 3 cifre. Pentru fiecare numar din acest interval,
care nu se termina cu cifra zero, sa se calculeze cmmdc-ul intre prima si
ultima cifra a sa.
#include<iostream.h>
int main()
{int x,a,b;
x=100;
while(x<=999)
{if(x%10!=0)
{a=x/100;
b=x%10;
while(a!=b)
if(a>b) a=a-b;
else b=b-a;
cout<<x<<”~”<<a<<endl;
}
x++;
}
return 0;
}