Sunteți pe pagina 1din 27

Colegiul National “Stefan cel Mare” Targu Neamt

Portofoliu
Informatica

Nume: Cretu Laurentiu


Clasa: a X-a RB
An scolar: 2017-2018
Problema 1
// Se consideraun tablou bidimensional cu n linii si m coloane ce contine numere
//naturale. Realizati un program care determina suma elementelor de pe fiecare linie
//cu numar de ordine par si produsul elementelor de pe fiecare coloana cu numar de
//ordine impar.

#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n,m,i,j,a[10][10],S,P;
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];
}
system("CLS");
cout<<"Matricea este:\n";
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
cout<<a[i][j]<<" ";
cout<<'\n';
}
cout<<"Sumele:";
for (i=1; i<=n; i++)
{
S=0;
for (j=1; j<=m; j++)
if (i%2==0)
S=S+a[i][j];
if (i%2==0)
cout<<"\nSuma de pe linia "<<i<<" este "<<S;
}
cout<<"\nProdusele:";
for (j=1; j<=m; j++)
{
P=1;
for (i=1; i<=n; i++)
if (j%2!=0)
P=P*a[i][j];
if (j%2!=0)
cout<<"\nProdusul de pe coloana "<<j<<" este "<<P;
}
return 0;
}

Problema 2
// Se considera un tablou bidimensional cu n linii si n coloane ce contine numere
//naturale. Realizati un program care deterrnina elementul maxim de pe diagonala
//principala a matricei si linia pe care acesta este situat.

#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n,i,j,a[10][10],max,l;
cout<<"n= "; cin>>n;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{
cout<<"a["<<i<<"]["<<j<<"]= ";
cin>>a[i][j];
}
system("CLS");
cout<<"Matricea este:\n";
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<'\n';
}
max=a[1][1];
l=1;
for (i=1; i<=n; i++)
{
j=i;
if (a[i][j]>max)
{
max=a[i][j];
l=i;
}
}
cout<<"\nMaximul de pe diagonala principala este: "<<max<<" si apare pe linia "<<l;
return 0;
}

Problema 3
// Scrieti un program care completeazii elementele unui tablou patratic de ordin n
//astfel:
//elementele diagonalei principale sunt egale cu 0;
//elementele situate sub diagonala principals sunt egale cu I
//elementele situate deasupra diagonalei principale sunt egale cu 2,
//Exemplu: Pentru n=3 se va afisa:
//0 2 2
//1 0 2
//1 1 0

#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n,i,j,a[100][100];
cout<<"n= "; cin>>n;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{
if (i==j)
a[i][j]=0;
if (i>j)
a[i][j]=1;
if (i<j)
a[i][j]=2;
}
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<'\n';
}
return 0;
}
Problema 4
// 4. Se considera doua tablourf bidimensionale de dimensiuni identiee (nxm). Sa se
//afiseze transpusa matricei suma, Transpusa unei matrice se obtine prin schimbarea
//Iiniilor eu eoloanele.
//Exemplu: Pentru n=3, m=2 Se va afisa:
//si tablourile:
//2 3 56 744
//3 4 11 959
//4 9 00

#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n,m,i,j,a[10][10],b[10][10],S[20][20];
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<<"b["<<i<<"]["<<j<<"]= ";
cin>>b[i][j];
}
system("CLS");
cout<<"Matricea a este:\n";
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
cout<<a[i][j]<<" ";
cout<<'\n';
}
cout<<"Matricea b este:\n";
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
cout<<b[i][j]<<" ";
cout<<'\n';
}
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
S[i][j]=a[i][j]+b[i][j];
for (i=1; i<=m; i++)
{
for (j=1; j<=n; j++)
a[i][j]=S[j][i];
}
cout<<"\nTranspusa matricei suma este:\n";
for (i=1; i<=m; i++)
{
for (j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<'\n';
}
return 0;
}

Problema 5
// Realizati un program care determine numarul liniei eu ele mai multe elemente
//pare, al unei matrice patratice de dimensiune nxn. Daca exista rnai rnulte linii cu
//numar maximde elemente pare se va afisa una singura.
//Exemplu: Pentrun=3 si matrieea:
//1 2 130 se va afisa 2.
//4 150 6
//7 8 900

#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n,i,j,a[10][10],max,l,k;
cout<<"n= "; cin>>n;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{
cout<<"a["<<i<<"]["<<j<<"]= ";
cin>>a[i][j];
}
system("CLS");
cout<<"Matricea este:\n";
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<'\n';
}
max=0; l=1;
for (j=1; j<=n; j++)
if (a[1][j]%2==0)
max++;
for (i=2; i<=n; i++)
{
k=0;
for (j=1; j<=n; j++)
{
if (a[i][j]%2==0)
k++;
}
if (k>max)
{
max=k;
l=i;
}
}
cout<<l;
return 0;
}

Problema 6
// Se considera un tablou bidim~nsional eu n linii ~i m coloane, Realizati un
//program care identifie~ linia cu eele mai multeelemente divizibile eu primul
//element situatpe ea.
//Exemplu: Pentru n=3, m=3 si matrieea:
//2 2 135 se va afisa 2.
//3 150 6
//7 8 900

#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n,m,i,j,a[10][10],l=1,k,max=0;
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];
}
system("CLS");
cout<<"Matricea este:\n";
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
cout<<a[i][j]<<" ";
cout<<'\n';
}
for (j=2; j<=m; j++)
if (a[1][j]%a[1][1]==0)
max++;
for (i=2; i<=n; i++)
{
k=0;
for (j=2; j<=m; j++)
if (a[i][j]%a[i][1]==0)
k++;
if (k>max)
{
max=k;
l=i;
}
}
cout<<l;
return 0;
}

Problema 7
// Realizati un program care deterrnine eel mai mare divizor comun al elementelor
//situate pe fiecare coloana, a unei matrici patratice.
//Exemplu; Pentru n=3 si matrieea:
//2 4 135 se va afisa 1 2 15.
//3 160 15
//7 6 30
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n,i,j,a[10][10];
cout<<"n= "; cin>>n;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{
cout<<"a["<<i<<"]["<<j<<"]= ";
cin>>a[i][j];
}
system("CLS");
cout<<"Matricea este:\n";
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<'\n';
}
for (j=1; j<=n; j++)
{
for (i=2; i<=n; i++)
{
while (a[1][j]!=a[i][j])
{
if (a[1][j]>a[i][j])
a[1][j]-=a[i][j];
if (a[1][j]<a[i][j])
a[i][j]-=a[1][j];
}
}
cout<<"\nPe coloana "<<j<<" cel mai mare divizor comun este: "<<a[1][j]<<" ";
}
return 0;
}

Problema 8
// Realizati un program care otdoneazii crescator doar elementele pare, situate pe
//liniile ell numar deordine par, al unui tablou bidimensional cu n linii si m coloane.
//Exemplu: Pentru n=3, m=4 si matricea:
//2 4 13 2 se va afisa 2 4 13 2
//24 1 6 12 6 1 12 24
//16 7 30 2 16 7 30 2

#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n,m,i,j,a[10][10],k,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];
}
system("CLS");
cout<<"Matricea este:\n";
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
cout<<a[i][j]<<" ";
cout<<'\n';
}
for (i=1; i<=n; i++)
for (j=1; j<=m-1; j++)
if (i%2==0)
for (k=j+1; k<=m; k++)
if (a[i][j]>=a[i][k] && a[i][j]%2==0 && a[i][k]%2==0)
{
aux=a[i][j];
a[i][j]=a[i][k];
a[i][k]=aux;
}
cout<<'\n';
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
cout<<a[i][j]<<" ";
cout<<'\n';
}
return 0;
}

Problema 9
// Realizati un program care ordoneaza descrescator elementele de pe prima Iinie a
//unui tablou bidimensional numai prin operatia de interschimbarea coloaneJor.
//Exemplu: Pentru n=3, m=4 si matricea:
//2 4 13 2 se va afisa 13 4 2 2
//3 1 60 13 60 13 13
//16 7 30 2 30 7 16 2

#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n,m,i,j,a[10][10],k,aux,l;
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];
}
system("CLS");
cout<<"Matricea este:\n";
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
cout<<a[i][j]<<" ";
cout<<'\n';
}
for (i=1; i<=n; i++)
{
for (j=1; j<m; j++)
for (k=i+1; k<=m; k++)
if (a[i][j]<=a[i][k])
{
for (l=1; l<=n; l++)
{
aux=a[l][j];
a[l][j]=a[l][k];
a[l][k]=aux;
}
}
}
cout<<"\nNoua matrice este:\n";
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
cout<<a[i][j]<<" ";
cout<<'\n';
}
return 0;
}

Problema 10
// Se considera un tablou bidimensional patratic cu n linii, Sa se determine
//c.m.m.d.c al valorilor ce reprezintii suma elementelor de sub diagonala principala si
//suma elementelor de deasupra diagonalei principale.
//Exemplu: Pentru n=3 si matricea:
//1 6 0 se va afisa 3
//9 1 6
//9 9 1

#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n,i,j,a[10][10],S1=0,S2=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];
}
system("CLS");
cout<<"Matricea este:\n";
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<'\n';
}
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{
if (i>j)
S1=S1+a[i][j];
if (i<j)
S2=S2+a[i][j];
}
while (S1!=S2)
{
if (S1>S2)
S1=S1-S2;
else
S2=S2-S1;
}
cout<<S1;
return 0;
}

Problema 11
// Fie un tablou bidimensional patratic deordin n cu elemente naturale. Se
//considera un traseu ce pleaca din matriee de pe linia x si coloana y. Directia de
//miscare ne este dat de un sir de p caractere N, V, E, S care indica directia de
//deplasare. Determinati suma elementelor situate pe drum. Elementul de start
//apartine drumului.
//Exemplu:
//Pentru n=4, m=4, x=3,y=2,p=6, si traseul N,N,E,S,V,V si tabloul :
//0 9 5 8 se va afisa 30 (8 +2+9+5+1+2+3)
//3 2 1 5
//3 8 3 0
//0 2 6 2

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("matrice.in");
ofstream g("matrice.out");
int main()
{
int n,i,j,x,y,a[100][100],p,S=0,k,l;
char t[100];
f>>n;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
f>>a[i][j];
f>>x>>y>>p;
for (i=1; i<=p; i++)
f>>t[i];
S=S+a[x][y];
k=x;
l=y;
for (i=1; i<=p; i++)
{
if ((int)t[i]=='N')
{
k--;
S=S+a[k][l];
}
if ((int)t[i]=='S')
{
k++;
S=S+a[k][l];
}
if ((int)t[i]=='E')
{
l++;
S=S+a[k][l];
}
if ((int)t[i]=='V')
{
l--;
S=S+a[k][l];
}
}
g<<S;
return 0;
}

Problema 12
// Fie un tablou bidimensional A(n,m). Real.iza'ti un program care inverseaza
//elementele de pe liniile care incep cu un numar prim.
//Exemplu: Pentru n=3, m=4 si matricea se va afisa :
//4 2 3 7 4237
//2 3 4 5 5432
//3 4 5 2 2543

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("matrice.in");
ofstream g("matrice.out");
int main()
{
int n,m,i,j,a[10][10],v[100],d,k;
f>>n>>m;
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
f>>a[i][j];
for (i=1; i<=n; i++)
{
d=0;
for (j=1; j<=a[i][1]; j++)
if (a[i][1]%j==0)
d++;
if (d==2)
{
for (j=m; j>=1; j--)
v[j]=a[i][j];
k=m;
for (j=1; j<=m; j++)
{
a[i][j]=v[k];
k--;
}
}
}
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
g<<a[i][j]<<" ";
g<<'\n';
}
return 0;
}

Problema 13
// Creati un program care afiseaza elementele unei matrice patratice de
//dimensiune nxn, dupa stergerea elementelor situate pe diagonal principala.
//Exemplu: Pentru n=4 si matricea:
//0 1 1 2 se va afisa: 1 1 2
//3 3 4 5 345
//6 7 8 9 679
//7 8 9 5 789

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("matrice.in");
ofstream g("matrice.out");
int main()
{
int n,i,j,a[10][10],k;
f>>n;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
f>>a[i][j];
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
if (i==j)
for (k=i; k<n; k++)
a[i][k]=a[i][k+1];
for (i=1; i<=n; i++)
{
for (j=1; j<=n-1; j++)
g<<a[i][j]<<" ";
g<<'\n';
}
return 0;
}

Problema 14
//Se citeste un numar n si apoi o matrice de n*n elemente numere intregi. Sa se verifice
//daca matricea este patrat magic (O matrice este patrat magic daca suma elementelor de
//pe fiecare linie, coloana, diagonala este aceeasi).
//Exemplu: Pentru n=3 si matricea:
//6 1 8 se va afisa: este patrat magic
//7 5 3
//2 9 4

#include <iostream>
#include <stdlib.h>
#define true 1
#define false 0
using namespace std;
int main()
{
int n,i,j,a[10][10],S1,S2,stop;
cout<<"n= "; cin>>n;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{
cout<<"a["<<i<<"]["<<j<<"]= ";
cin>>a[i][j];
}
system("CLS");
cout<<"Matricea este:\n";
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<'\n';
}
S1=0;
for (j=1; j<=n; j++)
S1=S1+a[1][j];
stop=true;
for (i=2; i<=n; i++)
{
S2=0;
for (j=1; j<=n; j++)
S2=S2+a[i][j];
if (S1==S2)
stop=true;
else
stop=false;
if (stop==false)
i=n+1;
}
if (stop==false)
cout<<"Matricea nu este patrat magic.";
else
{
for (j=1; j<=n; j++)
{
S2=0;
for (i=1; i<=n; i++)
S2=S2+a[i][j];
if (S1==S2)
stop=true;
else
stop=false;
if (stop==false)
j=n+1;
}
if (stop==false)
cout<<"Matricea nu este patrat magic.";
else
{
S2=0;
for (i=1; i<=n; i++)
{
j=i;
S2=S2+a[i][j];
}
if (S2==S1)
stop=true;
else
stop=false;
if (stop==false)
cout<<"Matricea nu este patrat magic.";
else
{
S2=0;
for (i=1; i<=n; i++)
{
j=n-i+1;
S2=S2+a[i][j];
}
if (S1=S2)
stop=true;
else
stop=false;
if (stop==true)
cout<<"Matricea este patrat magic!";
}
}
}
return 0;
}

Problema 15
// Determinali numerele de ordine ale liniilor unui tablou bidimensional A(n,m)
//care contin ceIe mai muIte vaIori palindrom.
//Exemplu: Pentru n=3, m=4 si matrieea
//11 21 33 43 se va afisa : 2 3
//22341452
//3245352

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("matrice.in");
ofstream g("matrice.out");
int main()
{
int n,m,i,j,a[10][10],inv,aux,c,max,k;
f>>n>>m;
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
f>>a[i][j];
max=0;
for (j=1; j<=m; j++)
{
inv=0;
aux=a[1][j];
while (aux!=0)
{
c=aux%10;
inv=inv*10+c;
aux=aux/10;
}
if (inv==a[1][j])
max++;
}
for (i=2; i<=n; i++)
{
k=0;
for (j=1; j<=m; j++)
{
inv=0;
aux=a[i][j];
while (aux!=0)
{
c=aux%10;
inv=inv*10+c;
aux=aux/10;
}
if (inv==a[i][j])
k++;
}
if (k>=max)
max=k;
}
for (i=1; i<=n; i++)
{
k=0;
for (j=1; j<=m; j++)
{
inv=0;
aux=a[i][j];
while (aux!=0)
{
c=aux%10;
inv=inv*10+c;
aux=aux/10;
}
if (inv==a[i][j])
k++;
}
if (k==max)
g<<i<<" ";
}
return 0;
}

Problema 16
// Se citeste un sir de n (n<500) numere naturale. Care este numarul maxim ~i de
//elite ori apare in cadrul sirului ?
//Exemplu: n=5 si vectorul (8, 9, 6, 9, 9) se va afisa 9 apare de 3 ori

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("vector.in");
ofstream g("vector.out");
int main()
{
int n,i,j,v[1000],max,k;
f>>n;
for (i=1; i<=n; i++)
f>>v[i];
max=v[1];
k=1;
for (i=2; i<=n; i++)
{
if (v[i]>max)
{
max=v[i];
k=1;
}
else
if (v[i]==max)
k++;
}
g<<max<<" apare de "<<k<<" ori";
return 0;
}

Problema 17
// Cunoscandu-se un sir de n numere naturale se cere realizarea unui program care
//permite numiirarea elementelor care se divid cu ultimu!element al sirulul,
//Exemplu: n=5 si vectorul (8, 4, 6, 9, 3) se va afisa 2

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("vector.in");
ofstream g("vector.out");
int main()
{
int n,i,v[1000],k=0;
f>>n;
for (i=1; i<=n; i++)
f>>v[i];
for (i=1; i<n; i++)
if (v[i]%v[n]==0)
k++;
g<<k;
return 0;
}

Problema 18
// Se considera un sir de n elemente numere reale. Sa se lolocuiasca fiecare
//element cu eel mai apropiat intreg si sa se afiseze in ordine inversil(de la ultimu!
//catre primul).
//Exemplu: n=6 si vectorul: (2.72, 4.34, 9.82, 1.0, 4.05, 2.45) se va afisa
//2 4 1 10 4 3

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("vector.in");
ofstream g("vector.out");
int main()
{
int n,i;
float v[100];
f>>n;
for (i=1; i<=n; i++)
f>>v[i];
for (i=1; i<=n; i++)
{
if (v[i]-(int)v[i]>=0.5)
v[i]=(int)v[i]+1;
else
v[i]=(int)v[i];
}
for (i=n; i>=1; i--)
g<<v[i]<<" ";
return 0;
}

Problema 19
// Se considera un vector cu n elemente numere intregi, Sa se calculeze suma
//tuturor elementelor pare situate pe pozitii impare In tablou.
//Exemplu: n=5 si vectorul (3, 4, 6, 7, 8) se va.afisa 14

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("vector.in");
ofstream g("vector.out");
int main()
{
int n,i,S=0,v[1000];
f>>n;
for (i=1; i<=n; i++)
f>>v[i];
for (i=1; i<=n; i++)
if (v[i]%2==0 && i%2!=0)
S=S+v[i];
g<<S;
return 0;
}
Problema 20
// Se considera un vector ce coniine n cifre(n<IO). Sa se determine suma
//numerelor formate cu cifrele din vector citite de ladreapta la stanga side la stanga
//la dreapta.
//Exemplu: n=4 si vectorul: (2,0,4,5) se va afisa 2045+5402=7447

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("vector.in");
ofstream g("vector.out");
int main()
{
int n,i,v[1000],nr1=0,nr2=0;
f>>n;
for (i=1; i<=n; i++)
f>>v[i];
for (i=n; i>=1; i--)
nr1=nr1*10+v[i];
for (i=1; i<=n; i++)
nr2=nr2*10+v[i];
g<<nr1+nr2;
return 0;
}

Problema 21
// Se considers un vector cu n elemente numere naturale. Sa se inlocuiasca fieeare
//element nul eu media aritmetica a numerelor nenule din vector.
//Exemplu: n=5 si vectorul: (2, 0, 4, 0, .3) se va afisa 2 34 3 3

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("matrice.in");
ofstream g("matrice.out");
int main()
{
int n,i,v[1000],S=0,k=0;
float ma;
f>>n;
for (i=1; i<=n; i++)
f>>v[i];
for (i=1; i<=n; i++)
if (v[i]!=0)
{
S=S+v[i];
k++;
}
if (k>=2)
{
ma=(float)S/k;
for (i=1; i<=n; i++)
if (v[i]==0)
v[i]=ma;
for (i=1; i<=n; i++)
g<<v[i]<<" ";
}
else
g<<"Nu se poate calcula media aritmetica";
return 0;
}

Problema 22
// Se considera un vector cu n elemente numere naturale. Sa se afiseze dupa fiecare
//element al vectorului valoarea 0.
//Exemplu: n=3 si vectorul: (2,4,3) se va afisa 2 0 4 0 3 0

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("vector.in");
ofstream g("vector.out");
int main()
{
int n,i,v[1000],u[1000],j=0;
f>>n;
for (i=1; i<=n; i++)
f>>v[i];
for (i=1; i<=n; i++)
{
j++;
u[j]=v[i];
u[j+1]=0;
j++;
}
for (i=1; i<=n+n; i++)
g<<u[i]<<" ";
return 0;
}

Problema 23
// Se citeste un vector cu n elemente numere reale. Sa se afiseze toate perechile de
//elemente egal departate de mijloc, care au aceeasi parte tntreaga.
//Exemplu: n=6 si vectorul: (2.32, 4.34, 9.2, 1.0,4.05,2.45) se va afisa
//2.32 2.45 respectiv 4.34 4.05

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("vector.in");
ofstream g("vector.out");
int main()
{
int n,i,j;
float v[1000];
f>>n;
for (i=1; i<=n; i++)
f>>v[i];
j=n;
for (i=1; i<n/2; i++)
{
if ((int)v[i]==(int)v[j])
g<<v[i]<<" "<<v[j]<<'\n';
j--;
}
return 0;
}

Problema 24
// Ordonati descrescator elementele nenule ale unui vector ce contine n nurnere
//intregi.
//Exemplu: n=6 si vectorul: (3 0 7 045) se va afisa 7 0 5 0 4 3

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("vector.in");
ofstream g("vector.out");
int main()
{
int n,i,j,v[1000],aux;
f>>n;
for (i=1; i<=n; i++)
f>>v[i];
for (i=1; i<n; i++)
for (j=i; j<=n; j++)
if (v[i]<v[j] && v[i]!=0 && v[j]!=0)
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
}
for (i=1; i<=n; i++)
g<<v[i]<<" ";
return 0;
}

Problema 25
// Se considera un tablou unidimensional cu n elemente numere intregi. stergeti
//toate aparitiile primului element si afisati elementele ramase.
//Exemplu: n=5 si vectorul (3, 4, 3, 3, 8) se va afisa 48

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("vector.in");
ofstream g("vector.out");
int main()
{
int n,i,j,v[1000],nr;
f>>n;
for (i=1; i<=n; i++)
f>>v[i];
nr=v[1];
for (i=1; i<=n; i++)
{
if (v[i]==nr)
{
for (j=i; j<=n; j++)
v[j]=v[j+1];
n--;
i--;
}
}
for (i=1; i<=n; i++)
g<<v[i]<<" ";
return 0;
}

S-ar putea să vă placă și