Sunteți pe pagina 1din 11

Sunday, 27 March 2016

Tema acasa_vectori2, X D
1. Cerina
Se d un ir cu n elemente, numere naturale. Determinai diferena n
valoare absolut dintre numrul de valori pare din ir i numrul de valori
impare din ir.
Date de intrare
Programul citete de la tastatur numrul n, iar apoi n numere naturale,
reprezentnd elementele irului.
Date de ieire
Programul va afia pe ecran numrul C, reprezentnd valoarea cerut.
Restricii i precizri
1 n 1000
cele n numere citite vor fi mai mici dect 1.000.000.000
#include <iostream>
#include <cmath>
using namespace std;
int main()
{int x[1000],par=0,impar=0,n,i;
cin>>n;
for (i=0;i<n;i++)
cin>>x[i];
for (i=0;i<n;i++)
if (x[i]%2==0) par++;
else impar++;
cout<<abs(par-impar);
return 0;
}

Sunday, 27 March 2016

2. Cerina
Se d un ir cu n elemente, numere reale. S se determine cte dintre
elemente se afl n afara intervalului nchis determinat de primul i
ultimul element.
Date de intrare
Programul citete de la tastatur numrul n, iar apoi n numere reale,
reprezentnd elementele vectorului.
Date de ieire
Programul afieaz pe ecran numrul C, reprezentnd valoarea cerut.
Restricii i precizri
1 n 200

Sunday, 27 March 2016

elementele vectorului vor fi cuprinse ntre -1000 i 1000


#include <iostream>
using namespace std;
float v[201],a,b;
int n,i,C;
int main()
{
cin >>n;
for(i=1;i<=n;i++) cin >>v[i];
a=v[1];//notam prima valoare a intervalului cu a
b=v[n];//notam ultima valoare cu b
C=0;//initim cte dintre elemente se afla n afara
//intervalului inchis determinat de primul si
//ultimul element.
if(a>b) { v[0]=a; a=b; b=v[0]; }
for(i=1;i<=n;i++)
if(v[i]<a||b<v[i]) C++;//luam toate numerele din interval
//si vedem cate numere sunt pare
cout <<C;
return 0;
}

3. Cerina

Sunday, 27 March 2016

La liceul nostru sunt m clase, fiecare avnd n elevi. Pentru fiecare elev se
cunoate talentul artistic, exprimat printr-un numr natural. S se
determine cea mai mare valoarea pe care o are talentul artistic al elevilor,
notat cu MAX i numrul CNT de clase din liceu n care exist elevi care
au talent maxim.
Date de intrare
Programul citete de la tastatur numerele m n, iar apoi m iruri cu
cte nnumere naturale, reprezentnd talentul fiecrui elev din fiecare
clas.
Date de ieire
Programul va afia pe ecran numerele MAX CNT, separate prin exact un
spaiu, cu semnificaia precizat.
Restricii i precizri
1 n 1000
1 m 100
talentul artistic al unui elev este un numr natural mai mic
dect 1.000.000
#include<iostream>
using namespace std;
int main()
{
int m,n,v[101][1001],i,j,MAX,CNT,gasit;
cin>>m;//v[1][1] primul indice reprezinta clasa din care face
cin>>n;//parte elevul iar al doilea indice reprezinta pozitia
for(i=1;i<=m;i++)//talentului elevului in clasa
for(j=1;j<=n;j++)
cin>>v[i][j];//citim tabloul talentelor
MAX=0;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
if(v[i][j]>MAX)//cautam talentul maxim
MAX=v[i][j];
CNT=0;
for(i=1;i<=m;i++)//parcurgem clasele pe rand
{ gasit=0;
for(j=1;j<=n &&gasit==0;j++)
if(v[i][j]==MAX)

Sunday, 27 March 2016


{ gasit=1;//in momentul in care am gasit talentul maxim
CNT=CNT+1;//intr-o clasa nu-l mai cautam in aceeasi clasa
}
}
cout<<MAX<<" "<<CNT;
return 0;
}

4. Cerina
Se d un vector cu n elemente numere naturale. S se verifice dac
toate elementele vectorului sunt egale.
Date de intrare
Programul citete de la tastatur numrul n, apoi n numere naturale,
reprezentnd elementele vectorului.
Date de ieire
Programul afieaz pe ecran mesajul DA, dac vectorul are toate
elementele egale, sau NU, n caz contrar.

Sunday, 27 March 2016

Restricii i precizri
1 n 500
fiecare element al vectorului va avea cel mult patru cifre

view source
print?

#include<iostream>
using namespace std;
int main()
{
int n, v[501],i,gasit;
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
gasit=0;//presupunem ca toate sunt egale si gasit=1 inseamna
//abaterea de la regula
for(i=2;i<=n&&gasit==0;i++)
if(v[i]!=v[1])
gasit=1;//comparam primul element cu celelalte
//pana cand gasim unul diferit sau parasim structura for
//cand am comparat cu toate elementele
if(gasit==0)cout<<"DA";
else cout<<"NU";
return 0;
}

Sunday, 27 March 2016

5. Cerina
Se d un ir cu n elemente, numere naturale. S se verifice dac toate
elementele irului au numr par de cifre.
Date de intrare
Programul citete de la tastatur numrul n, iar apoi cele n elemente ale
irului, separate prin spaii.
Date de ieire
Programul afieaz pe ecran mesajul DA, dac toate elementele irului
au numr par de cifre, respectiv NU n caz contrar.
Restricii i precizri
1 n 100
elementele irului sunt numere naturale nenule cu cel mul 9 cifre

Sunday, 27 March 2016


#include<iostream>
using namespace std;
int main()
{
n,i,nr_cifre,gasit;
long int v[101];//deoarece numerele pot avea maxim 9 cifre
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
gasit=0;//presupunem ca toate numerele au numar par de cifre
for(i=1;i<=n&&gasit==0;i++)
{
nr_cifre=0;
while(v[i]!=0)
{nr_cifre++;//determinam numarul de cifre prin taierea
v[i]=v[i]/10;//ultimei cifre
}
if(nr_cifre%2!=0)
gasit=1;//am gasit un nr cu un nr impar de cifre
}
if(gasit==0)//daca am verificat toate numerele tragem concluziile
cout<<"DA";
else
cout<<"NU";
return 0;
}

6. Cerina
Se d un
vector x cu n elemente numere naturale, i un vector y cu melemente, de
asemenea numere naturale. Verificai pentru fiecare element al
vectorului y dac apare n x.
Date de intrare
Programul citete de la tastatur numrul n, iar apoi cele n elemente ale
vectorului x. Apoi i citete m i cele m elemente ale lui y.

Sunday, 27 March 2016

Date de ieire
Programul va afia pe ecran m valori 0 sau 1, separate prin exact un
spaiu. A j-a valoare afiat este 1, dac al j-lea element al
irului y apare n x, respectiv 0 n caz contrar.
Restricii i precizri
1 n,m 1000
elementele celor 2 vectori vor fi mai mici dect 1.000.000.000
#include<iostream>
using namespace std;
int main()
{
int n,m,i,j,gasit;
long int x[1001],y[1001];
cin>>n;
for(i=1;i<=n;i++)
cin>>x[i];
cin>>m;
for(j=1;j<=m;j++)
cin>>y[j];
for(j=1;j<=m;j++)
{ gasit=0;//presupunem ca nu se gaseste in sirul x
for(i=1;i<=n&&gasit==0;i++)
if(y[j]==x[i])
gasit=1;
if(gasit==0)
cout<<0<<" ";
else
cout<<1<<" ";
}
return 0;
}

Sunday, 27 March 2016

Se numete
permutare a
unei mulimi finite orice rearanjare a tuturor elementelor acelei mulimi.

7. Cerina
Se d un ir cu n elemente, numere naturale. S se verifice dac
reprezint o permutare a mulimii {1,2,...,n}.
Date de intrare
Programul citete de la tastatur numrul n, iar apoi cele n elemente ale
irului, separate prin spaii.
Date de ieire
Programul afieaz pe ecran mesajul DA, dac irul reprezint o
permutare a mulimii {1,2,...,n}, respectiv NU n caz contrar.
Restricii i precizri
1 n 100
#include<iostream>
using namespace std;
int main()
{
int n, v[101],i,j,gasit;

Sunday, 27 March 2016


cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
//fiecare numar de la 1 la n trebuie sa se afle in vectorul
//x pentru a avea permutare
gasit=1;
for(j=1;j<=n&&gasit==1;j++)
{ gasit=0;//presupunem ca nu se gaseste in sirul x
for(i=1;i<=n&&gasit==0;i++)
if(j==v[i])
gasit=1;
if(gasit==0)
cout<<"NU";
}
cout<<"DA";
return 0;
}