vectori

1. Se citeşte un vector cu n componente întregi. Se cere:

a) Să se ordoneze crescător elementele vectorului;

b) Să se permute circular stânga elementele vectorului ordonat cu o poziţie.

#include<iostream.h>

int a[100],n;

void citire()

{

cout<<"nr de elemente n=";cin >>n;

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

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

                }

}

void afisare()

{

for(int i=1;i<=n;i++) cout<<a[i]<" ";

cout<<endl;

}

void sortare()

{ int aux;

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

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

                                if(a[i]>a[j])

                                {aux=a[i];a[i]=a[j];a[j]=aux;}

}

void permutare_stanga()

{

int aux=a[1];

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

a[n]=aux;

}

void main()

{citire();

afisare();

sortare();

cout<<"dupa sortare\n";

afisare();

cout<<"dupa permutare\n";

permutare_stanga();

afisare();

}

 

2. Se citeşte un vector cu n componente întregi. Se cere:

a) Să se elimine din vector elementele nule dacă acestea există;

b) Să se înlocuiască fiecare element al noului vector cu media aritmetică a celorlalte elemente din vector.

#include<iostream.h>

int a[100],n;

void citire()

{

cout<<"nr de elemente n=";cin >>n;

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

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

                }

}

 

void afisare(int a[100],int n)

{

for(int i=1;i<=n;i++) cout<<a[i]<<" ";

cout<<endl;

}

 

void elimina_nule()

{  int b[100];

int j=0;

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

                if(a[i]!=0) {j++;b[j]=a[i];}

cout<<"fara elemente nule\n";

afisare(b,j);

}

void inlocuire()

{  float b[100];

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

                {

                b[i]=0;

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

                                if(j!=i) b[i]=b[i]+a[j];

                b[i]=b[i]/(n-1);

                }

cout<<"dupa inlocuire";

for(i=1;i<=n;i++) cout<<b[i]<<" ";

cout<<"\n";

}

 

void main()

{citire();

cout<<"elementele citite\n";

afisare(a,n);

elimina_nule();

inlocuire();

}

 

3. Se dă un şir x de n elemente întregi. Să se caute ultimul element impar mai mare decât 15.

#include<iostream.h>

int x[100],n;

void citire()

{

cout<<"nr de elemente n=";cin >>n;

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

       {cout<<"x["<<i<<"]=";cin >>x[i];

       }

}

 

void afisare(int a[100],int n)

{

for(int i=1;i<=n;i++) cout<<x[i]<<" ";

cout<<endl;

}

void cauta()

{int i=n;int gasit=0;

while(gasit==0&&i>0)

       { if(x[i]>15 && x[i]%2==1) gasit=1;

                       else i--;

       }

if(i>0)cout<<x[i];

       else cout<<"nu s-a gasit niciun element impar mai mare ca 15\n";

}

void main()

{citire();

cauta();

}

 

4. Să se scrie un program care :

a) citeşte un vector cu n componente numere reale.

b) şterge un element din vector care se află pe o poziţie dată k.

#include<iostream.h>

#include<stdlib.h>

int a[100],n,k;

void citire()

{

cout<<"nr de elemente n=";cin >>n;

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

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

                }

cout<<"k=";cin>>k;

if(k<1||k>n) {cout<<"stergerea nu se poate efectua";exit(0);}

}

 

void afisare()

{

for(int i=1;i<=n;i++) cout<<a[i]<<" ";

cout<<endl;

}

 

void sterge(int k)

{

for(int i=k;i<n;i++)

                a[i]=a[i+1];

n--;

}

void  main()

{

citire();

sterge(k);

afisare();

}

 

5. Să se scrie un program care determină media aritmetică a elementelor pare dintr-un vector folosind un subprogram (procedură sau funcţie).

#include<iostream.h>

#include<stdlib.h>

int a[100],n,k;

void citire()

{

cout<<"nr de elemente n=";cin >>n;

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

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

                }

}

 

void afisare()

{

for(int i=1;i<=n;i++) cout<<a[i]<<" ";

cout<<endl;

}

 

float medie_pare()

{

float s=0;

int c=0;

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

                if(a[i]%2==0){c++;s=s+a[i];}

if(c!=0)cout<<"media elementelor pare="<<s/c<<endl;

else cout<<"nu exista elemente pare\n";

}

void  main()

{

citire();

medie_pare();

}

 

6. Se citeşte de la tastatură un număr natural nenul n şi alte  n numere întregi . Se cere :

a) Suma elementelor pare de pe poziţii impare

b) Media aritmetică a elementelor pozitive.

 

#include<iostream.h>

#include<stdlib.h>

int a[100],n,k;

void citire()

{

cout<<"nr de elemente n=";cin >>n;

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

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

                }

}

 

void afisare()

{

for(int i=1;i<=n;i++) cout<<a[i]<<" ";

cout<<endl;

}

 

float medie_pozitive()

{

float s=0;

int c=0;

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

                if(a[i]>0){c++;s=s+a[i];}

if(c!=0)cout<<"media elementelor pare="<<s/c<<endl;

else cout<<"nu exista elemente pare\n";

}

void suma()

{

int s=0;

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

                if(a[i]%2==0&&i%2==1)s=s+a[i];

cout<<"suma elementelor pare de pe pozitii impare="<<s<<endl;

}

void  main()

{

citire();

medie_pozitive();

suma();

}

 

7. Se citeşte de la tastatură un număr natural nenul n şi alte  n numere întregi. Se cere să se afişeze câte elemente prime conţine şirul citit ( se va folosi un subprogram pentru a stabili că un număr este prim sau nu).

#include<iostream.h>

#include<stdlib.h>

int a[100],n,k;

void citire()

{

cout<<"nr de elemente n=";cin >>n;

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

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

                }

}

 

void afisare()

{

for(int i=1;i<=n;i++) cout<<a[i]<<" ";

cout<<endl;

}

 

int prim(int n)

{

if(n<2)return 0;

int i=2;

while(i<=n/2)

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

return 1;

oid cate_prime()

{

int c=0;

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

                if(prim(a[i]))c++;

cout<<"nr elemente prime="<<c<<endl;

}

void  main()

{

citire();

cate_prime();

}

 

8. Se citeşte de la tastatură un număr natural nenul n şi alte  n numere întregi. Se cere să se afişeze numărul de apariţii în şir ale unui număr citit de la tastatură.

#include<iostream.h>

#include<stdlib.h>

int a[100],n,k;

 

void citire()

{

cout<<"nr de elemente n=";cin >>n;

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

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

                }

cout<<"k=";cin>>k;

}

 

void afisare()

{

for(int i=1;i<=n;i++) cout<<a[i]<<" ";

cout<<endl;

}

void nr_aparitii()

{

int c=0;

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

                if(a[i]==k)c++;

cout<<k<<" apare de "<<c<<" ori\n";

}

 

void  main()

{

citire();

nr_aparitii();

afisare();

}

 

9. Se citeşte de la tastatură un număr natural nenul n şi alte  n numere întregi. Se cere să se afişeze valoarea minimă din şir , precum şi numărul său de apariţii în cadrul şirului.

#include<iostream.h>

#include<stdlib.h>

int a[100],n,k;

void citire()

{

cout<<"nr de elemente n=";cin >>n;

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

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

        }

}

 

void afisare()

{

for(int i=1;i<=n;i++) cout<<a[i]<<" ";

cout<<endl;

}

int min()

{

int m;

m=a[1];

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

        if(m>a[i])m=a[i];

return m;

}

 

void cate_min()

{

int m=min();

int c=0;

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

        if(m==a[i]) c++;

cout<<"nr de elemente minime="<<c<<endl;

}

 

void  main()

{

citire();

cout<<"val min="<<min();

cate_min();

}

 

10. Se citeşte un vector cu n componente numere reale. Să se înlocuiască ultimele k elemente ale vectorului cu valoarea –1. Valoarea k este dată de la tastatură (k<n).

#include<iostream.h>

#include<stdlib.h>

int a[100],n,k;

void citire()

{

cout<<"nr de elemente n=";cin >>n;

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

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

                }

cout<<"k=";cin>>k;

if(k<1||k>=n) {cout<<"date incorecte";exit(0);}

}

 

void afisare()

{

for(int i=1;i<=n;i++) cout<<a[i]<<" ";

cout<<endl;

}

 

void inlocuieste()

{

for(int i=n-k+1;i<=n;i++) a[i]=-1;

}

 

void  main()

{

citire();

afisare();

inlocuieste();

afisare();

}

11. Se citesc de la tastatură numere întregi până la citirea numărului 13. Se cere să se calculeze şi să se afişeze câte numere prime s-au citit  precum şi numărul celor neprime.

#include<iostream.h>

#include<stdlib.h>

long unsigned int n;

void perfect()

{

long unsigned int s=0;

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

                if(n%i==0)s=s+i;

if(s==n) cout<<"numar perfect\n";

                else cout<<"numarul nu e perfect\n";

}

void main()

{

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

perfect();

}  

counter for wordpress

View My Stats