Atestat 2016 11-20

/* 11. Se citesc de la tastatură n numere. Câte dintre ele sunt pătrate perfecte?

Exemplu: n=7; x=(1,25,4,5,8,6,9) =>4 (1,25,4,9). */

#include <iostream>

#include <math.h>

using namespace std;

int main()

{

    int c=0,n,i; double x;

    cout<<"n=";cin>>n;

    cout<<"numerele: "<<endl;

    for(i=1;i<=n;i++)

    {

        cin>>x;

        if(sqrt(x)*sqrt(x)==x) c++;

    }

    cout<<c;

    return 0;

}

 

/*12. Să se afișeze rezultatul sumei 2-4+6-…(-1)^(n+1)∙2n, n>=1, n citit de la tastatură.

Exemplu: n=3=> S=2-4+6=4 */

#include <iostream>

using namespace std;

int main()

{

    long int s=0;int n,i,semn=1;

    cout << "n=";cin>>n;

    for(i=1;i<=n;i++)

    {

        s=s+semn*(2*i);

        semn=-semn;

    }

    cout<<s;

    return 0;

}

/*13. Se citește un vector cu n elemente. Să se calculeze produsul elementelor negative, impare,

divizibile cu 3, de pe poziții pare. */

#include <iostream>

#include <stdlib.h>

using namespace std;

 

int main()

{

    int i,n,a[100];long int p=1;

    cout<<"n=";cin>>n;

    cout<<"dati numerele"<<endl;

    for(i=1;i<=n;i++)cin>>a[i];

    cout<<endl;

    for(i=1;i<=n;i++)

        if(a[i]<0 && abs(a[i])%2==1 && abs(a[i]%3==0 && i%2==0)) { p=p*a[i];cout<<a[i]<<' ';}

    cout<<endl<<p;

    return 0;

}

 

/*14. Se citește o matrice pătratică de ordin n. Să se calculeze suma elementelor de pe diagonala

principală și produsul elementelor de sub diagonala principală */

#include <iostream>

 

using namespace std;

 

int main()

{

    int n,a[100][100],i,j,p=1,s=0;

    cout<<"n=";cin>>n;

    for(i=1;i<=n;i++)

        for(j=1;j<=n;j++)

    {

        cout<<"a["<<i<<"]["<<j<<"]=";cin>>a[i][j];

        if(i==j)s=s+a[i][j];

        if(j<i) p=p*a[i][j];

    }

    for(i=1;i<=n;i++)

    {

        for(j=1;j<=n;j++)

            cout<<a[i][j]<<' ';

        cout<<endl;

    }

    cout<<"s="<<s<<"p="<<p;

    return 0;

}

/*15. Se citește un număr natural a. Să se creeze o matrice pătratică de ordin a care conține:

 - cifra 4 pe diagonala principală;

 - valoarea elementelor rămase în matrice, să conțină valoarea 1 */

#include <iostream>

 

using namespace std;

 

int main()

{

    int a,x[100][100],i,j;

    cout<<"a=";cin>>a;

    for(i=1;i<=a;i++)

        for(j=1;j<=a;j++)

            if(i==j) x[i][j]=4;

                else x[i][j]=1;

 

    for(i=1;i<=a;i++)

    {

        for(j=1;j<=a;j++)

            cout<<x[i][j]<<' ';

        cout<<endl;

    }

 

    return 0;

}

 

/*16. Se citește o matrice cu n linii și m coloane, cu elemente numere întregi.

Să se interschimbe două coloane c1 și c2 (date de la tastatură), între ele.*/

#include <iostream>

using namespace std;

int main()

{

    int n,m,a[100][100],i,j,c1,c2,aux;

    cout<<"n=";cin>>n;

    cout<<"m=";cin>>m;

    for(i=1;i<=n;i++)

        for(j=1;j<=m;j++)

    {

        cout<<"a["<<i<<"]["<<j<<"]=";cin>>a[i][j];

    }

     for(i=1;i<=n;i++)

    {

        for(j=1;j<=m;j++)

            cout<<a[i][j]<<' ';

        cout<<endl;

    }

    cout<<"c1=";cin>>c1;

    cout<<"c2=";cin>>c2;

    for(i=1;i<=n;i++)

    {

        aux=a[i][c1];

        a[i][c1]=a[i][c2];

        a[i][c2]=aux;

    }

    for(i=1;i<=n;i++)

    {

        for(j=1;j<=m;j++)

            cout<<a[i][j]<<' ';

        cout<<endl;

    }

 

    return 0;

}

 

/*17. Să se scrie un program care să realizeze descompunerea unui număr în factori primi. */

#include <iostream>

using namespace std;

int main()

{

   int n,d=2;

   cout<<"n=";cin>>n;

   while(n>1)

   {

       while(n%d==0)

        {

            cout<<n<<"|"<<d<<endl;

            n=n/d;

        }

        d++;

   }

   cout<<1<<'|';

    return 0;}

/*18. Se citește de la tastatură un șir de caractere. Să se afișeze vocalele din text.*/

#include <iostream>

#include <string.h>

using namespace std;

int main()

{

    char s[200];

    cout<<"sirul=";cin.get(s,200);

    for(int i=0;i<strlen(s);i++)

        if(strchr("AEIOUaeiou",s[i])!=0) cout<<s[i]<<' ';

    return 0;

}

/*19. Să se verifice dacă două numere citite de la tastaură sunt gemene (sunt ambele prime și

diferența lor în modul este 2).

Exemple: (9,11); (11,13).*/

#include <iostream>

using namespace std;

int prim(int n)

{

    int i;

    if(n<2) return 0;

    for(i=2;i<=n/2;i++)

        if(n%i==0) return 0;

    return 1;

}

int main()

{

    int n,m;

    cout<<"n=";cin>>n;

    cout<<"m=";cin>>m;

    if(prim(n)&&prim(m)&&(n-m==2 || m-n==2)) cout<<"numere gemene";

    else cout<<"nu sunt numere gemene";

    return 0;

}

 

/*20. Se citește p număr natural, numărul p nu poate conține cifra 0. Să se construiască o matrice

pătratică care are pe diagonala principală cifra 0, deasupra diagonalei principale va avea cea mai mare cifră

a numărului p, iar sub diagonala principală va avea cea mai mică cifră a numărului p. Se vor folosi 3

subprograme, două vor fi pentru calcularea minimului respectiv maximului, iar cel de-al treilea pentru

crearea și afișarea matricei.

 

Ex: date de intrare:

p=6952374 n=5

date de ieșire:

0 9 9 9 9

2 0 9 9 9

2 2 0 9 9

2 2 2 0 9

2 2 2 2 0

*/

#include <iostream>

using namespace std;

int a[100][100],n; long int p;

int cif_min(long int p)

{

    int min=10,u;

    while(p!=0)

    {

        u=p%10;

        if(u<min)min=u;

        p=p/10;

    }

    return min;

}

int cif_max(long int p)

{

    int max=0,u;

    while(p!=0)

    {

        u=p%10;

        if(u>max)max=u;

        p=p/10;

    }

    return max;

}

void matrice(long int p)

{

    int min=cif_min(p);

    int max=cif_max(p);

    int i,j;

    for(i=1;i<=n;i++)

        for(j=1;j<=n;j++)

        if(i==j)a[i][j]=0;

          else if(j<i)a[i][j]=min;

           else a[i][j]=max;

        for(i=1;i<=n;i++)

    {

        for(j=1;j<=n;j++)

            cout<<a[i][j]<<' ';

        cout<<endl;

    }

 

}

int main()

{

    cout << "p=";cin>>p;

    cout << "n=";cin>>n;

    matrice(p);

    return 0;

}

 

counter for wordpress

View My Stats