Vreau si eu exercitii rezolvate in C ++ , cu cerinta ..... 10 exercitii sau cate stiti ( sunt bune chiar daca sunt luate din alte surse , si le vreau corecte cat de cat ;) ) Dau 15 puncte
Răspunsuri la întrebare
Răspuns de
3
Probleme cu grad de dificultate scazut si mediu1.Într-un şir de numere naturale se numeşte vârf un element care are doi vecini şi este strict mai mare decât aceştia. Se dă un şir cu n elemente, numere naturale. Calculaţi suma elementelor din şir care sunt vârfuri.
int suma(int n,int v[100])
{ int s=0;
for(int i=2;i<=n-1;i++)
if(v[i]>v[i-1]&&v[i]>v[i+1])
s=s+v[i];
return s;}
int main()
{ int n,v[100],i;cout<<"n="; cin>>n;
for(i=1;i<=n;i++)
{cout<<"v["<<i<<"]=";cin>>v[i];}
cout<<suma(n,v);
return 0;
}
2.Se da o matrice de m linii si n coloane cu elemente numere reale.Sa se calculeze suma elementelor pozitive de pe coloane impare ale matricei.
float suma(int n,int m, float a[20][30]){ float s=0;for(int i=1;i<=m;i++)
for(int j=1;j<=n;j=j+2)if(a[i][j]>0)
s=s+a[i][j];return s;}
int main()
{ int m,n; float a[20][30];cin>>m>>n;
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
{cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];}
cout<<suma(n,m,a);
return 0;
}
4.Se considera numarul natural M si tabloul A[1..N] de numere naturale , N<=100. Scrieti un program care numara cite elemente din tablou sunt divizibile cu M.
int main()
{ int M,N,v[100];
cin>>M>>N;
int c=0;
for(int i=1;i<=N;i++)
cin>>v[i];
for(i=1;i<=N;i++)
if(v[i]%M==0)
c++;
cout<<c;
return 0;
}
5.Realizati un program in c++ care sa citeasca de la tastatura o matrice patratica si sa afiseze maximul pe diagonala secundara si minimul pe principala
int main(){ int n, a[20][20],min,max;
cout<<"n="; cin>>n;
min=MAXINT;
max=-MAXINT;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{ cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{ if(i==j&&a[i][j]<min)
min=a[i][j];
if(i+j==n+1&&a[i][j]>max)
max=a[i][j]; }
cout<<"maximul de pe diagonala secundara este:"<<max<<endl;
cout<<"minimul de pe diagonala principala este:"<<min;
return 0;
}
6.Se citesc mai multe numere întregi pana la întâlnirea numărului 0. Sa se calculeze media aritmetica a numerelor pozitive.
int main()
{ int s,c,x;
s=0; c=0;
do{ cout<<"x="; cin>>x;
if(x>0)
{ c++;
s=s+x; }
}while(x!=0);
cout<<"media aritmetica este:"<<s/c*1.0;
return 0;
}
7.Se dă o matrice cu n linii și m coloane și elemente numere naturale. Să se determine câte dintre elementele situate pe linii cu indici pari sunt prime
int prim(int x)
{if(x==0||x==1)
return 0;
else
for(int i=2;i<=x/2;i++)
if(x%i==0)
return 0;
return 1;
}
int main()
{ int m,n;
cout<<"n="; cin>>n;
cout<<"m="; cin>>m;
int c=0;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
cin>>a[i][j];
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
if(i%2==0&&prim(a[i][j])==1)
c++;
cout<<c;
return 0;
}
8. Se dă un vector cu n numere naturale. Să se determine câte dintre elementele vectorului sunt prime cu ultimul element (prime intre ele).
int cmmdc(int a, int b)
{ do{ r=a%b;
a=b;
b=r;
}while(r!=0);
return a;
}
int main()
{ int n,i,v[200],c;
cout<<"n="; cin>>n;
c=0;
for(i=1;i<=n;i++)
{ cout<<"v["<<i<<"]=";
cin>>v[i];}
for(i=1;i<=n;i++)
if( cmmdc(v[i],v[n])==1)
c++;
cout<<c;
return 0;
}
9.Se dă un număr natural n cu exact trei cifre. Calculaţi produsul dintre cifra unităților și cifra sutelor.
#include<iostream.h>
int main()
{ int n,p;
cout<<"n="; cin>>n;
p=(n/100%10)*(n%10);
cout<<p;
return 0;
}
10.Se dă un număr natural n cu exact trei cifre. Calculaţi pătratul numărului format cu cifra sutelor și cifra unităților.
int main()
{ int n,P;
cout<<"n=";
cin>>n;
n=(n/100)*10+ n%10;
P=n*n;
return P;
}
11.Se dă un număr natural format din cifrele 2 sau 3. Aflaţi cifra care apare de cele mai multe ori în scrierea numărului.
void aparitii(int n){int n,c2,c3,cif;c2=0; c3=0;while(n!=0)
{ cif=n%10;
if(cif==2)
c2=c2+1;
else
c3=c3+1;
n=n/10;
}
if(c2>c3)
cout<<"2"';else
if(c3>c2)
cout<<"3";else
if(c2==c3)
cout<<"Cifrele apar in acelasi numar";}int main(){ int n;
cout<<"n=";
cin>>n; aparitii(n);
return 0;
}12.Scrieţi un program care citeşte de la tastatură un număr natural n şi construieşte în memorie o matrice cu n linii şi n coloane ale cărei elemente vor primi valori dupa cum urmeaza:-elementul de pe linia i si coloana j primeste ca valoare ultima cifra a produsului i*j.Afisati matricea obtinuta.
int main(){int n,i,j,a[20][20];
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=(i*j)%10;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;}
return 0;
}
13.Se considera tabloul P[1...n] de numere reale diferite de zero, n ≤ 100.
Sa se scrie un program care calculeaza numarul de elemente negative si suma celor pozitive.
int main(){int s,c,i,v[100];
s=0;c=0;
for(i=1;i<=n;i++)
{
cout<<v["<<i<<"]=";
cin>>v[i];
if(v[i]>0)
s=s+v[i];
else
c=c+1;
}
cout<<"Suma elementelor pozitive este:"<<s<<endl;
cout<<"Numarul de elemente negative este egal cu:"<<c;
return 0;
}
int suma(int n,int v[100])
{ int s=0;
for(int i=2;i<=n-1;i++)
if(v[i]>v[i-1]&&v[i]>v[i+1])
s=s+v[i];
return s;}
int main()
{ int n,v[100],i;cout<<"n="; cin>>n;
for(i=1;i<=n;i++)
{cout<<"v["<<i<<"]=";cin>>v[i];}
cout<<suma(n,v);
return 0;
}
2.Se da o matrice de m linii si n coloane cu elemente numere reale.Sa se calculeze suma elementelor pozitive de pe coloane impare ale matricei.
float suma(int n,int m, float a[20][30]){ float s=0;for(int i=1;i<=m;i++)
for(int j=1;j<=n;j=j+2)if(a[i][j]>0)
s=s+a[i][j];return s;}
int main()
{ int m,n; float a[20][30];cin>>m>>n;
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
{cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];}
cout<<suma(n,m,a);
return 0;
}
4.Se considera numarul natural M si tabloul A[1..N] de numere naturale , N<=100. Scrieti un program care numara cite elemente din tablou sunt divizibile cu M.
int main()
{ int M,N,v[100];
cin>>M>>N;
int c=0;
for(int i=1;i<=N;i++)
cin>>v[i];
for(i=1;i<=N;i++)
if(v[i]%M==0)
c++;
cout<<c;
return 0;
}
5.Realizati un program in c++ care sa citeasca de la tastatura o matrice patratica si sa afiseze maximul pe diagonala secundara si minimul pe principala
int main(){ int n, a[20][20],min,max;
cout<<"n="; cin>>n;
min=MAXINT;
max=-MAXINT;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{ cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{ if(i==j&&a[i][j]<min)
min=a[i][j];
if(i+j==n+1&&a[i][j]>max)
max=a[i][j]; }
cout<<"maximul de pe diagonala secundara este:"<<max<<endl;
cout<<"minimul de pe diagonala principala este:"<<min;
return 0;
}
6.Se citesc mai multe numere întregi pana la întâlnirea numărului 0. Sa se calculeze media aritmetica a numerelor pozitive.
int main()
{ int s,c,x;
s=0; c=0;
do{ cout<<"x="; cin>>x;
if(x>0)
{ c++;
s=s+x; }
}while(x!=0);
cout<<"media aritmetica este:"<<s/c*1.0;
return 0;
}
7.Se dă o matrice cu n linii și m coloane și elemente numere naturale. Să se determine câte dintre elementele situate pe linii cu indici pari sunt prime
int prim(int x)
{if(x==0||x==1)
return 0;
else
for(int i=2;i<=x/2;i++)
if(x%i==0)
return 0;
return 1;
}
int main()
{ int m,n;
cout<<"n="; cin>>n;
cout<<"m="; cin>>m;
int c=0;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
cin>>a[i][j];
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
if(i%2==0&&prim(a[i][j])==1)
c++;
cout<<c;
return 0;
}
8. Se dă un vector cu n numere naturale. Să se determine câte dintre elementele vectorului sunt prime cu ultimul element (prime intre ele).
int cmmdc(int a, int b)
{ do{ r=a%b;
a=b;
b=r;
}while(r!=0);
return a;
}
int main()
{ int n,i,v[200],c;
cout<<"n="; cin>>n;
c=0;
for(i=1;i<=n;i++)
{ cout<<"v["<<i<<"]=";
cin>>v[i];}
for(i=1;i<=n;i++)
if( cmmdc(v[i],v[n])==1)
c++;
cout<<c;
return 0;
}
9.Se dă un număr natural n cu exact trei cifre. Calculaţi produsul dintre cifra unităților și cifra sutelor.
#include<iostream.h>
int main()
{ int n,p;
cout<<"n="; cin>>n;
p=(n/100%10)*(n%10);
cout<<p;
return 0;
}
10.Se dă un număr natural n cu exact trei cifre. Calculaţi pătratul numărului format cu cifra sutelor și cifra unităților.
int main()
{ int n,P;
cout<<"n=";
cin>>n;
n=(n/100)*10+ n%10;
P=n*n;
return P;
}
11.Se dă un număr natural format din cifrele 2 sau 3. Aflaţi cifra care apare de cele mai multe ori în scrierea numărului.
void aparitii(int n){int n,c2,c3,cif;c2=0; c3=0;while(n!=0)
{ cif=n%10;
if(cif==2)
c2=c2+1;
else
c3=c3+1;
n=n/10;
}
if(c2>c3)
cout<<"2"';else
if(c3>c2)
cout<<"3";else
if(c2==c3)
cout<<"Cifrele apar in acelasi numar";}int main(){ int n;
cout<<"n=";
cin>>n; aparitii(n);
return 0;
}12.Scrieţi un program care citeşte de la tastatură un număr natural n şi construieşte în memorie o matrice cu n linii şi n coloane ale cărei elemente vor primi valori dupa cum urmeaza:-elementul de pe linia i si coloana j primeste ca valoare ultima cifra a produsului i*j.Afisati matricea obtinuta.
int main(){int n,i,j,a[20][20];
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=(i*j)%10;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;}
return 0;
}
13.Se considera tabloul P[1...n] de numere reale diferite de zero, n ≤ 100.
Sa se scrie un program care calculeaza numarul de elemente negative si suma celor pozitive.
int main(){int s,c,i,v[100];
s=0;c=0;
for(i=1;i<=n;i++)
{
cout<<v["<<i<<"]=";
cin>>v[i];
if(v[i]>0)
s=s+v[i];
else
c=c+1;
}
cout<<"Suma elementelor pozitive este:"<<s<<endl;
cout<<"Numarul de elemente negative este egal cu:"<<c;
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă