Documente Academic
Documente Profesional
Documente Cultură
Generalitati. Clasificare
Numim tablou o colecţie de date de acelaşi tip, în care elementele sunt ordonate, iar accesul la fiecare element are loc prin indice.
tip nume_tablou[dimensiune_maximă];
Se observă că este obligatorie folosirea parantezelor drepte care să încadreze dimensiunea maximă pe care o alege utilizatorul
pentru acel tablou unidimensional.
int a[25]; // declararea unui tablou unidimensional cu maxim 25 de // elemente, fiecare de tip întreg
float x[30]; // declararea unui tablou unidimensional cu maxim 30 de // elemente, fiecare de tip real simplă precizie
char s[40]; // declararea unui tablou unidimensional cu maxim 40 de // elemente, fiecare de tip caracter
Compilatorul C++ alocă un spaţiu de memorie egal cu numărul maxim de elemente ale tabloului, rezervând bineînţeles
octeţi în funcţie de tipul de bază al fiecărui tablou.
• Accesul la fiecare element al tabloului se face prin numele acestuia urmat între paranteze, de indicele său (adică poziţia pe care
o ocupă în tablou).
Exemplu: Modalităţi de acces la elementele ce pot fi memorate în tablourile unidimensionale declarate anterior:
x[i] - reprezintă elementul aflat pe poziţia i în tablou, unde i poate avea valori între 0 şi 29.
Problema 1:
Cerința
Se dă un șir cu n elemente, numere naturale. Determinați diferența în valoare absolută dintre numărul de valori pare din șir și
numărul de valori impare din șir.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele șirului.
Date de ieșire
Programul va afișa pe ecran numărul C, reprezentând valoarea cerută.
Exemplu
Intrare
5
15 245 28 33 11
Ieșire
3
Rezolvare
#include <iostream>
using namespace std;
int main()
{
int n,i,d,v[1000],k1,k2;
cin>>n;
k1=0;
k2=0;
for (i=1;i<=n;i++)
cin>>v[i];
for (i=1;i<=n;i++)
{
if (v[i]%2==0)
k1=k1+1;
else
k2=k2+1;
}
if (k1>=k2)
d=k1-k2;
else d=k2-k1;
cout<<d;
return 0;
}
Problema 2.
Cerinţa
Se dă un şir cu n elemente, numere naturale. Să se verifice dacă în şir există elemente impare.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale şirului, separate prin spaţii.
Date de ieşire
Programul afișează pe ecran mesajul DA, dacă şirul conţine elemente impare, respectiv NU în caz contrar.
Exemplu
Date de intrare
5
2 8 6 10 8
Date de ieșire
NU
Rezolvare
#include <iostream>
using namespace std;
int main()
{
int n,i,v[10005],nr;
cin>>n;
for (i=1;i<=n;i++)
cin>>v[i];
nr=0;
for (i=1;i<=n;i++)
if (v[i]%2==1)
nr=nr+1;
if (nr>0)
cout<<"DA";
else cout<<"NU";
return 0;
}
Probleme propuse de pe pbinfo.ro : 288, 501, 500, 546, 486, 547.