SoFly
Welcome To SoFly!!! Please Register To Have Acces To Evrithing !!! !FORUMUL ESTE IN PLINA DEZVOLTARE VA RUGAM SA NE AJUTATI! EXTRA TAGS : Britney Spears WWE Barack Obama Miley Cyrus RuneScape Jessica Alba Naruto Lindsay Lohan Angelina Jolie American Idol Dictionary MySpace Google YouTube Facebook Coupons Cars Craigslist Online degrees Credit score nintendo wii wii fit ipod touch xbox 360 nintendo ds ipod nano uggs nikon d90 zune digital picture frame
Lista Forumurilor Pe Tematici
SoFly | Reguli | Inregistrare | Login

POZE SOFLY

Nu sunteti logat.
Nou pe simpatie:
Diana96 pe Simpatie
Femeie
25 ani
Bucuresti
cauta Barbat
25 - 50 ani
SoFly / Off Topic / Despre tablourile C++ ( Beginners ) Moderat de Hacker, luciano20ermoso, sefunervosu
Autor
Mesaj Pagini: 1
terradown
Vizitator

Inregistrat: acum 15 ani
Postari: 12
Daca tot era vorba sa facem cate un tutorial pe saptamana macar m-am hotarat sa fac si eu unul despre tablouri..sa-i dam drumul:

O sa incepem cu "definitia" tabloului:Tabloul este un tip de data care poate stoca mai multe valori toate de acelasi tip.De exemplu poate stoca 30 valori de tipul int,15 de short,40 de float si tot asa.
Pentru a crea un tablou trebuie sa il declaram mai intai,prin declarare el trebuie sa indice 3 lucruri: [list=]tipul valorii care va fi stocata in fiecare element
numele tabloului
numarul de elemente din tablou[/list].

Forma generala pentru declararea unui tablou este: numeTip numeTablou[dimensiuneTablou].Expresia dimensiuneTablou trebuie sa fie o constanta de exemplu 10,35,5 etc.

short ani[24]; aceasta linie creeaza un tablou cu 24 de elemente de tipul short.(short reprezinta numeTip;ani reprezinta numeTablou;iar 24 reprezinta dimensiuneTablou)

Fiecare tablou incepe numeratoarea de la 0(zero) deci primul tablou va fi short ani[o]; iar ultimul tablou va fi short ani[23];
Interesant si util la tablouri este ca fiecare element al tabloului poate fi accesat separat.

Hai sa vedem cum arata un tablou si apoi continuam cu explicatiile.

Code:
#include<iostream>
using namespace std;
int main()
{
int elevi[3];
elevi[0]=3;
elevi[1]=6;
elevi[2]=9;
int note_elevi[3]={7,9,4};
cout<<"Total elevi="<<elevi[0]+elevi[1]+elevi[2]<<"\n";
cout<<"Elevii din "<<elevi[0]<<" au toti nota 7"\n";
cout<<"Totalul notelor este de "<<elevi[0]*note_elevi[0]+elevi[1]*note_elevi[1]+elevi[2]*note_elevi[2]<<"\n";
cout<<"Dimensiunea tabloului este de "<<sizeof elevi<<" octeti"\n";
cout<<"Dimensiunea unui singur tablou este de "<<sizeof elevi[0]<<" octeti"\n";
system("pause";
return 0;
}

Dupa compilare(am compilat cu dev C++) arata asa
Code:
Total elevi=18
Elevii din 3 au toti nota 7
Totalul notelor este de 111
Demensiunea tabloului este de 12 octeti
Dimensiunea unui tablou este de 4 octeti


Cateva lucruri legate de tablou:

Am construit un tablou cu 3 elemente pe care l-am numit elevi.A-ti observat ca avem elevi[0] pana la elevi[2] ,dupa cum am spus si mai sus numerotarea incepe de la 0 in cazul nostru vom avea 0,1,2.

Code:
int note_elevi[3]={7,9,4};
aceasta linie initializeaza elementele tabloului.Initializarea tabloului se face creind o lista numita lista de initializare in care vom da anumite valori scrise intre paranteze acolade,valorile fiind despartite de virgula. Asta inseamna ca elevi[0] va fi initializat cu valoarea 7 elevi[1] cu valoarea 9 iar elevi[2] cu valoarea 4.

Mai departe am folosit cateva calcule care aduna elementele tabloului...

O sa fac referire la urmatoarea linie
Code:
ut<<"Dimensiunea tabloului este de "<<sizeof elevi<<" octeti"\n"
observati aici ca apare operatorul sizeof care are rolul de a returna valoarea in octeti a unui tip. Daca am folosit operatorul sizeof impreuna cu numele tabloului acesta ne-a returnat valoarea intregului tablu pe cand daca il folosim numai cu un element al tabloului
Code:
cout<<"Dimensiunea unui singur tablou este de "<<sizeof elevi[0]<<" octeti"\n";
acesta va returna valoarea unui singur element al tabloului(cum am zis si mai sus partea frumoasa este ca elementele unui tablou pot fi accesate separat).

Si inca un lucru interesant legat de sirusi si tablouri.

Avem urmatorul cod
Code:
#include<iostream>
using namespace std;
#include<cstring>
int main()
{
char elev[15];
char elev2[15]="gabriel";
cout<<"Eu sunt "<<elev2<<"\n";
cout<<"Tu cum te numesti?\n";
cin>>elev;
cout<<"Trebuie sa iti zic ca numele tau este format din "<<strlen(elev)<<" si este stocat intr-un tablou cu dimensiunea de "<<sizeof elev<<" octeti"\n";
cout<<"Initiala numelui tau este "<<elev[0]<<".\n";
elev[3]='\0';
cout<<"Primele 3 caractere ale numelui tau sunt "<<elev<".\n";
system("pause";
return 0;
}


dupa compilare arata asa :
Code:
Eu sunt marius
Tu cum te numesti?
marian
Trebuie sa iti zic ca numele tau este format din 6 litere si este stocat intr-un
tablou cu dimensiunea de 15 octeti
Initiala numelui tau este m.
Primele 3 caractere ale numelui tau sunt mar.
Press any key to continue .


Cateva referiri la cod
Code:
#include<cstring>
am inclus aici aceasta linie pentru a folosi strlen care returneaza dimensiunea sirului si nu dimensiunea tabloului.In cazul nostru strlen va numara cate litere are numele pe care o sa il introducem de la tastatura.
Code:
cout<<"Initiala numelui tau este "<<elev[0]<<".\n";
aici elev[o] o sa returneze prima litera a numelui daca o sa scriem elev[1] o sa returneze primele 2 litere ale numelui si tot asa.
Code:
elev[3]='\0';
O sa returneze primele 3 litere ale numelui dar care este rolul lui '\0'.Acest reprezinta caracterul nul si face ca programul sa se opreasca la intalnirea acestui caracter in cazul nostru el se va opri dupa ce va citi primele 3 litere.

Cam atat deocamdata despre tablouri.


pus acum 15 ani
   
Pagini: 1  

Mergi la