Instructiunea While* + ** + ***







TEMA 10



1.Se citesc pe rand n valori intregi,sa se calculeze suma valorilor pare care au exact 2 cifre.


2.Se citesc pe rand n valori intregi.Sa se afiseze acele valori citite consecutiv care reprezinta si valori alaturate in intervalul numerelor intregi.
#include
#include
int main()
{int n,x,y,i;
cout<<”n=”;cin>>n;
cout<<”introduceti nr de valori”;
i=2;
cout<<”citeste valoarea”;cin>>x;
while(x<=n)
{cout<<”citeste valoarea”<>y;
if(abs(x-y)==1)
cout<<<” “<<
i++;
x=y;
}
return 0;
}


3.Se citesc pe rand n valori intregi.Sa se calculeze media aritmetica a tuturor valorilor care sunt divizibile cu propia cifra a unitatilor.
#include
#include
int main()
{int n,x,y,s,i,k;
cout<<”n=”;cin>>n;
cout<<”introduceti nr de valori”;
i=1;
k=0;
s=0;
while(i<=n)
{cout<<”citeste valoarea”<>x;
y=x%10;
if(x%y==0)
{s=s+x;
k++;
}
i++;
}
cout<<”media aritmetica”<<(float)(s/k);
return 0;
}


4.Se citesc pe rand n caractere.Sa se numere care dintre acestea reprezinta litere mici,cate litere mari si cate sunt alte caractere.Afisati rezultatele pe randuri separate insotite de cate un mesaj.
#
#
int main()
{int n,i,v=0,m=0;k=0;
char c;
cout<<”introduceti nr de valori”;cin>>n;
i=1;
while(i<=n)
{cout<<”c=”;cin>>c;
            if(c>=’a’&& c<=’z’)
k++;
else
            if(c>=’A’&&c<=’Z’)
m++;
else
i++;
}
cout<<”sunt litere mici”<<
cout<<”sunt litere nari”<<
cout<<”sunt caractere”<
return 0;
}


5.Se citesc pe rand n numere intregi calculate raportul dintre suma valorilor pare si numarul valorilor impare.


6.Se citesc pe rand n valori reale,sa se determine in procente cat la suta dintre valorile citite sunt negative.
#include
#include
int main()
{float n,i,k,x;
cout<<”n=”;cin>>n;
cout<<”introduceti nr de valori”;
k=0;
i=1;
while(i<=n)
{cout<<”dati valoarea”;cin>>x;
            if(x<0)
k++;
i++;
}
cout<<”procentul nr negative”<<<”%”;
return 0;
}






TEMA 11

1.Se citesc valori intregi pana la intalnirea unui numar negative.Sa se determine cea mai mare valoare para si cea mai mica valoare impara citita.Sa se afiseze rezultatele pe acelasi rand cu vírgula intre ele.
#include
#include
int main()
{int x,max,min;
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=x;
cout<<”max=”<<<”,”<<”min=”<
return 0;
}


2.Se citesc valori intregi de la tastatura pana cand se introduce o valoare egala cu primul numar citit.Calculati in procente cate numere pare si cate numere impare s-au citit .Afisati rezultatele pe randuri separate.
#include
#include
int main()
{int x,a,cp,ci,c;
cp=0;
ci=0;
c=1;
cout<<”a=”;cin>>a;
if(a%2==0)
            cp++;
else
            ci++;
cout<<”x=”;cin>>x;
while(x!=a)
{c++;
        if(x%2==0)
cp++;
else
ci++;
cout<<”x=”;cin>>x;
}
cout<<”procentul nr pare”<<(cp*100)*c<<”%”<
cout<<”procentul nr impare”<<(ci*100)*c<<”%”;
return 0;
}


3.Se citesc valori intregi pana la citirea lui 0.Sa se verifice daca printer valorile citite exista numere care au toate cifrele egale.Se va scrie mesajul DA sau NU.
#include
#include
int main()
{int x,ok,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(ok==0)
      cout<<”NU”;
else
      cout<<”DA”;
return 0;
}



TEMA 12

1.Sa se afiseze toate numerele natural pana la n cu proprietatea ca suma cifrelor impare din numar este un nr par.
#include
#include
int main()
{int n,nr,s,a,c;
cout<<”n=”;cin>>n;
nr=1;
while(nr<=n)
{s=0;
a=nr;
while(a!=0)
  {c=mr%10
      if(x%2!=0)
        s=s+c;
a=a/10;
  }
if(s%2==0&&s!=0)
cour<<”nr=”<<
nr++;
}
return 0;
}


2.Se citeste un singur numar cu cel mult 9 cifre.Sa se verifice daca cífrele impare din numar incepand de la unitati sunt in ordine strict crescatoare.
#include
#include
int  main()
{int x,ok,c;
cout<<”n=”;cin>>n;
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;
}

3.Se citeste un singur nr intreg cu cel mult 9 cifre.Sa se verifice daca numarul format in ultimele k cifre ale numarului este numar prim.
#include
#include
int main()



4.Se citesc n valori intregi de la tastatura.Sa se formeze un numar cu acele valori care reprezinta cifre pozitive.Verificati daca s-a putut forma numarul si in caz afirmativ afisati valoarea obtinuta.
#include
#include
int main()
{int n,x,nr,i;
cout<<”n=”;cin>>n;
nr=0;
i=1;
while(i<=n)
{cout<<”cifra”;cin>>x;
if(x>=0)
   nr=nr*10+x;
i++;
}
cout<<”nr obtinut “<
return 0;
}


5.Sa se citeasca cate un nr intreg din mai mult de 5 cifre.Sa se formeze un alt numar cu k cifre in ordinea in care apar ele in numarul initial.Determintai cifra cea mai mica si cea mai mare din noul numar.
#include
#include
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=c;
x=x/10;
}
cout<<”cea mai mare cifra”<<
cout<<”cea mai mica cifra”<
return 0;
}


6.Sa se citeasca un nr intreg din mai mult de 5 cifre.Sa se formeze un alt numar cu k cifre in ordinea in care epar ele in numarul initial.Afisati numarul format apoi numarul format prin inversarea cifrelor numarului.
#include
#inlcude
int main()




7.Sa se parcurga toate numerele din 3 cifre.Pentru fiecare numar din acest interval ,care nu se termina cu cufra 0,sa se calculeze cmmdc-ul intre prima si ultima cifra a sa.
#include
#include
int main()
{int x,a,b;
x=100;
while(x<=999)
{if(x%10!=0)
      a=x%10;
      b=x/100;
while(a!=b)
     {if(a>b)
        a=a-b;
   else
       b=b-a;
      }
cout<<<” “<
x=x+1;
}
return 0;
}