// Programul utilizeaza un pointer Ptr // Se initializeaza o variabila pointer Ptr catre un intreg // Se defineste o variabila de tip int si se afiseaza adresa acesteia // Se atribuie o valoare pointer-ului si se afiseaza #include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Initializarea unui pointer ");// Titlul ferestrei consola system("COLOR F9"); // Fundal alb caractere albastre int* Ptr ; // Ptr- variabila pointer catre un int int x; cout << "\n\n\tAdresa variabilei x folosind &x este:" << &x; Ptr=&x; // Variabila Ptr contine adresa variabilei x cout << "\n\n\tVariabila pointer Ptr are valoarea:" << Ptr; cin.ignore(); cin.get(); } |
// Programul utilizeaza un pointer Ptr // Se initializeaza o variabila pointer Ptr catre un intreg // Se defineste o variabila x de tip int si se initializeaza cu 7 si se afiseaza // Se atribuie pointer-ului adresa variabilei x // Folosind operatorul de indirectare, se afiseaza valoarea variabilei x #include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Operatorul de indirectare ");// Titlul ferestrei consola system("COLOR F9"); // Fundal alb caractere albastre int* Ptr ; // Ptr- variabila pointer catre un int int x=7; cout << "\n\n\tValoarea variabilei x este:" << x; Ptr=&x; // Variabila Ptr contine adresa variabilei x cout << "\n\n\tValoarea variabilei x utilizand *Ptr este:" << *Ptr; cin.ignore(); cin.get(); } |
// Programul utilizeaza un pointer Ptr // Se initializeaza o variabila pointer Ptr catre un intreg // Se defineste o variabila x de tip int si se initializeaza cu 7 si se afiseaza // Se atribuie pointer-ului adresa variabilei x // Folosind operatorul de indirectare, se modifica valoarea variabilei x // Se afiseaza valoarea variabilei x #include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Operatorul de indirectare ");// Titlul ferestrei consola system("COLOR F9"); // Fundal alb caractere albastre int* Ptr ; // Ptr- variabila pointer catre un int int x=7; cout << "\n\n\tValoarea variabilei x este:" << x; Ptr=&x; // Variabila Ptr contine adresa variabilei x *Ptr=27; // Se atribuie valoarea 27 continutului adresei Ptr cout << "\n\n\tValoarea variabilei x dupa utilizarea pointerului, este:" << x; cin.ignore(); cin.get(); } |
// Programul utilizeaza un pointer Ptr NULL // Se initializeaza o variabila pointer Ptr // Se atribuie pointer-ului valoarea NULL si se afiseaza #include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Pointerul NULL ");// Titlul ferestrei consola system("COLOR F9"); // Fundal alb caractere albastre int* Ptr ; // Ptr- variabila pointer catre un int Ptr = NULL; // Se atribuie pointer-ului valoarea NULL cout << "\n\n\tValoarea pointerului, este:" << Ptr; cin.ignore(); cin.get(); } |
// Programul utilizeaza un pointer de tip void // Pointerul Ptr va fi utilizat pentru a indica spre diverse variabile de divesre tipuri #include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Pointeri de tip void ");// Titlul ferestrei consola system("COLOR F9"); // Fundal alb caractere albastre int i; float f; void* Ptr; Ptr = &i; /* p indica spre i */ *(int *)Ptr = 77; cout << "\n\n\tValoarea variabilei i este:" << i; Ptr = &f; /* p indica spre f */ *(float *)Ptr = 4.7; cout << "\n\n\tValoarea variabilei f este" << f; cin.ignore(); cin.get(); } |
// Programul utilizeaza un pointer Ptr // Se initializeaza o variabila pointer Ptr catre un intreg // Se defineste o variabila x de tip int // Se atribuie pointer-ului adresa variabilei x // Se fac operatii utilizand variabila ptr // Se afiseaza valoarea variabilei x #include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Pointeri ca variabila ");// Titlul ferestrei consola system("COLOR F9"); // Fundal alb caractere albastre int x; int* Ptr ; // Ptr- variabila pointer catre un int Ptr=&x; // Variabila Ptr contine adresa variabilei x *Ptr=10; // Se atribuie valoarea 10 lui x cout << "\n\n\tValoarea variabilei x este:" << x; *Ptr+=2; cout << "\n\n\tValoarea variabilei x dupa *Ptr+=2 este:" << x; *Ptr*=2; cout << "\n\n\tValoarea variabilei x dupa *Ptr*=2 este:" << x; cin.ignore(); cin.get(); } |
// Programul utilizeaza numele unui tablou pe post de pointer // Afiseaza adresa tabloului ca fiind numele tabloului sau adresa primului element // Afiseaza prima valoare a tabloului ca fiind numele tablou[0] sau referentierea pointerului #include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Pointeri pe post de constante ");// Titlul ferestrei consola system("COLOR F9"); // Fundal alb caractere albastre const int Dmax=4; int note[Dmax]={10,9,7,10}; cout << "\n\n\tAdresa tabloului este:" << note; cout << "\n\n\tAdresa tabloului este:" << & note[0]; cout << "\n\n\tValoarea primului element este:" << note[0]; cout << "\n\n\tValoarea primului element este:" << *note; cin.ignore(); cin.get(); } |
// Programul afiseaza addresele elementelor si elementele unui tablou #include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Adresele elementelor unui tablou ");// Titlul ferestrei consola system("COLOR F9"); // Fundal alb caractere albastre const int Dmax=4; int i, note[Dmax]={10,9,7,10}; for (i=0; i < Dmax ; i++){ cout << "\n\n\tAdresa elementului " << i << " este: " << & note[i]; cout << "\n\n\tValoarea elementului " << i << " este: " << note[i]; } cin.ignore(); cin.get(); } |
// Programul initializeaza un pointer cu numele unui tablou. // Afiseaza adresa elementelor tabloului ca fiind chiar pointerul // Afiseaza valoarea elementelor tabloului ca fiind referentierea pointer-ului // Pentru a parcurge tabloul s-a utilizat operatiunea de incrementare pointer #include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE aritmetica pointerilor ");// Titlul ferestrei consola system("COLOR F9"); // Fundal alb caractere albastre const int Dmax=4; int i, note[Dmax]={10,9,7,10}; int* Ptr=note; for (i=0; i < Dmax ; i++, Ptr++){ cout << "\n\n\tAdresa elementului " << i << " este: " << Ptr; cout << "\n\n\tValoarea elementului " << i << " este: " << * Ptr; } cin.ignore(); cin.get(); } |
// Programul initializeaza un pointer cu numele unui tablou. // Se afiseaza notele in ordine inversa, prin decrementarea pointerului. #include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Decrementarea unui pointer ");// Titlul ferestrei consola system("COLOR F9"); // Fundal alb caractere albastre const int Dmax=4; int i, note[Dmax]={10,9,7,10}; int* Ptr=note+3; for (i=Dmax-1; i >=0 ; i--, Ptr--){ cout << "\n\n\tAdresa elementului " << i << " este: " << Ptr; cout << "\n\n\tValoarea elementului " << i << " este: " << * Ptr; } cin.ignore(); cin.get(); } |
#include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Utilizarea pointer-ilor pentru vizualizarea reprezentarii datelor ");// Titlul ferestrei consola system("COLOR F9"); // Fundal alb caractere albastre int x=123456789; int* Ptr ; // Ptr- variabila pointer catre un int Ptr=&x; char* p; p=(char *)Ptr; cout << "\n\n\tVariabila x=123456789 este reprezentata pe 4 octeti astfel:"; cout << "\n\n\tOctetul 0:" << hex << static_cast< short int >(*p); cout << "\n\tOctetul 1:" << hex << static_cast< short int >(*(p+1)); cout << "\n\tOctetul 2:" << hex << static_cast< short int >(*(p+2)); cout << "\n\tOctetul 3:" << hex << static_cast< short int >(*(p+3)); cin.ignore(); cin.get(); } |
#include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Initializarea unui pointer cu o adresa ");// Titlul ferestrei consola system("COLOR F9"); // Fundal alb caractere albastre int* Ptr ; // Ptr- variabila pointer catre un int Ptr=(int *)0xb8000000; *Ptr=100; cout << "\n\n\tVariabila pointer Ptr are valoarea:" << *Ptr; cin.ignore(); cin.get(); } |
#include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Initializarea unui pointer cu o adresa ");// Titlul ferestrei consola system("COLOR F9"); // Fundal alb caractere albastre int x=100; int* Ptr ; // Ptr- variabila pointer catre un int cout << "\n\n\t Adresa variabilei x este: "<<&x; cin.ignore(); cin.get(); } |
#include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Initializarea unui pointer cu o adresa ");// Titlul ferestrei consola system("COLOR F9"); // Fundal alb caractere albastre int* Ptr ; // Ptr- variabila pointer catre un int int x=100; cout << "\n\n\t Adresa variabilei x este: "<<&x; Ptr=(int *)0x0012F098; cout << "\n\n\tContinutul adresei 0012F098 este:" << *Ptr; cin.ignore(); cin.get(); } |
// Programul foloseste procedura cub careia i se transmite un parametriu prin referinta // Se cere un numar de la tastatura si se apeleaza procedura cub // Procedura afiseaza cubul numarului introdus // La intoarcerea din procedura se afiseaza noua valoare a parametrului transmis #include "stdafx.h" #include < iostream > using namespace std; void cub(int&);// prototipul int main(void) { system("TITLE Pointeri ca argumente de functii "); system("COLOR F9"); int x; cout << " \n\n\tIntroduceti un numar: "; cin >> x; cub(x); cout << "\n\n\tValoarea numarului introdus dupa apelul procedurii cub este : "; cout << x; cin.ignore(); cin.get(); return 0; } // Incepe definirea procedurii cub void cub(int& nr) { cout << "\n\n\tCubul numarului : "; cout << nr; cout << " este : "; nr=nr*nr*nr; cout << nr; } |
// Programul foloseste procedura cub careia i se transmite adresa argumentului // Se cere un numar de la tastatura si se apeleaza procedura cub // Procedurii cub i se transmite adresa argumentului // Procedura cub, utilizeaza un pointer int* pentru a avea acces la argumentul transmis // Procedura cub, face calcule asupra argumentului refereentiind pointerul // Procedura cub afiseaza cubul numarului introdus // La intoarcerea din procedura se afiseaza noua valoare a argumentului transmis #include "stdafx.h" #include < iostream > using namespace std; void cub(int*);// prototipul int main(void) { system("TITLE Pointeri ca argumente de functii "); system("COLOR F9"); int x; cout << " \n\n\tIntroduceti un numar: "; cin >> x; cub(&x); cout << "\n\n\tValoarea numarului introdus dupa apelul procedurii cub este : "; cout << x; cin.ignore(); cin.get(); return 0; } // Incepe definirea procedurii cub void cub(int* nr) { cout << "\n\n\tCubul numarului : "; cout << *nr; cout << " este : "; *nr=(*nr)*(*nr)*(*nr); cout << *nr; } |
// Programul cere 5 numere dupa care le afiseaza "; // Se defineste si se apeleaza o functie care afiseaza elementele tabloului // Functia are ca argument un pointer #include "stdafx.h" #include < iostream > #include < string > using namespace std; void afisare(double* v,int imdex_max); int main(void) { system("TITLE Pointeri ca argumente de functii "); system("COLOR F9"); const int nr_max=5; int i; double nr[nr_max]; cout << "\n\tProgramul cere " << nr_max << " numere dupa care le afiseaza \n\n"; // introducere numere for (i=0;i < nr_max;i++){ cout <<"\tIntroduceti numarul : [" << i << "] : "; cin >> nr[i]; } afisare(nr,nr_max); cin.ignore(); cin.get(); return 0; } void afisare(double* v, int index_max) { cout <<"\n\n\tNumerele introduse sunt :"; for (int i=0; i < index_max; i++){ cout << " : " << v[i] ; } } |
// Programul cere 5 numere dupa care le afiseaza "; // Cele cinci elemente sun salvate intr-un tablou utilizand pointeri. // Se defineste si se apeleaza o functie care afiseaza elementele tabloului // Functia are ca argument un pointer #include "stdafx.h" #include < iostream > #include < string > using namespace std; void afisare(double* v,int imdex_max); int main(void) { system("TITLE Pointeri ca argumente de functii "); system("COLOR F9"); const int nr_max=5; int i; double nr[nr_max]; double* p; p=nr; cout << "\n\tProgramul cere " << nr_max << " numere dupa care le afiseaza \n\n"; // introducere numere for (i=0;i < nr_max;i++,p++){ cout <<"\tIntroduceti numarul : [" << i << "] : "; cin >> *p; } afisare(nr,nr_max); cin.ignore(); cin.get(); return 0; } void afisare(double* v, int index_max) { cout <<"\n\n\tNumerele introduse sunt :"; for (int i=0; i < index_max; i++){ cout << " : " << v[i] ; } } |
// Programul cere 5 numere dupa care le ridica la patrat si le afiseaza "; // Se defineste si se apeleaza o functie care inlocuieste valorile din tablou cu patratele acestora // Functia are ca argument un pointer // La sfarsit se afiseaza elementele tabloului rezultat rezultat #include "stdafx.h" #include < iostream > #include < string > using namespace std; void patrat(double* v,int imdex_max); int main(void) { system("TITLE Pointeri ca argumente de functii "); system("COLOR F9"); const int nr_max=5; int i; double nr[nr_max]; cout << "\n\tProgramul cere " << nr_max << " numere dupa care le ridica la patrat si le afiseaza \n\n"; // introducere numere for (i=0;i < nr_max;i++){ cout <<"\tIntroduceti numarul : [" << i << "] : "; cin >> nr[i]; } // afisarea numerelor cout << "\n\n\tNumerele introduse sunt: \n\n"; for (i=0;i < nr_max;i++){ cout << " : " << nr[i] ; } // calcularea patratelor numerelor patrat(nr,nr_max); // afisarea patratelor numerelor cout << "\n\n\tPatratele numerelor sunt: \n\n"; for (i=0;i < nr_max;i++){ cout << " : " << nr[i] ; } cin.ignore(); cin.get(); return 0; } void patrat(double*v , int index_max) { for (int i=0; i < index_max; i++){ v[i]=v[i]*v[i]; } } |
// Programul cere n numere dupa care le afiseaza #include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Alocarea dinamica a memoriei "); system("COLOR F9"); int i,n; const int nmax=10; cout << "\n\tProgramul cere n numere dupa care le afiseaza \n\n"; cout <<" \n\tIntroduceti valoarea lui n (maxim 10):"; cin >> n; double numere[nmax]; for (i=0;i < n;i++){ cout <<"\tIntroduceti numarul : [" << i << "] : "; cin >> numere[i]; } cout << "\n\n\tNumerele introduse sunt: \n"; for (i=0;i < n;i++){ cout << "\n\tNumarul [ " << i << "] ="<< numere[i] ; } cin.ignore(); cin.get(); return 0; } |
// Programul cere n numere dupa care le afiseaza // Programul utilizeaza alocarea dinamica a memoriei #include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Alocarea dinamica a memoriei "); system("COLOR F9"); int i,n; cout << "\n\tProgramul cere n numere dupa care le afiseaza \n\n"; cout <<" \n\tIntroduceti valoarea lui n :"; cin >> n; double* ptr = new double[n]; for (i=0;i < n;i++){ cout <<"\tIntroduceti numarul : [" << i << "] : "; cin >> ptr[i]; } cout << "\n\n\tNumerele introduse sunt: \n"; for (i=0;i < n;i++){ cout << "\n\tNumarul [ " << i << "] ="<< ptr[i] ; } cin.ignore(); cin.get(); delete [] ptr; return 0; } |
//Alocarea dinamica a memoriei //Stergerea pointerului #include "stdafx.h" #include < iostream > #include < string > using namespace std; int main() { int* ip= new int[1]; *ip=22; cout<<"\n\tip = "<< ip <<" \t*ip= "<< *ip <<"\n"; cout<<"\n\tDupa stergerea pointerului avem:\n"; delete ip; cout<<"\n\n\tip = "<< ip <<" \t*ip= "<< *ip <<"\n"; cin.get(); return 0; } |
//Programul utilizeaza pointeri pentru realocarea dinamica a memoriei //La sfarsit se sterge pointerul #include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Realocarea dinamica a memoriei "); system("COLOR F9"); int i,n; cout << "\n\tProgramul initializeaza un vector cu n elemente \n\n"; cout <<" \n\tIntroduceti valoarea lui n :"; cin >> n; double* ptr = new double[n]; for (i=0;i < n;i++){ ptr[i]=rand(); } cout << "\n\n\tNumerele generate sunt: \n"; for (i=0;i < n;i++){ cout << "\n\tNumarul [ " << i << "] ="<< ptr[i] ; } realloc(ptr,n+3);// Realocare dinamica cout << "\n\n\tDupa redimensionare a vectorului cu 3 elemente obtinem: \n"; for (i=0;i < n+3;i++) cout << "\n\tNumarul [ " << i << "] ="<< ptr[i] ; delete [] ptr; cout << "\n\n\tDupa stergerea pointerului avem: \n"; for (i=0;i < n+3;i++) cout << "\n\tNumarul [ " << i << "] ="<< ptr[i] ; cin.ignore(); cin.get(); return 0; } |
// Returnarea pointerilor din functii #include "stdafx.h" #include < iostream > #include < string > using namespace std; int main(void) { system("TITLE Returnarea pointerilor din functii "); system("COLOR F9"); cout << "\n\tProgramul afiseaza un sir initializat cu ajutorul pointerilor \n\n"; char* sectia ="Inginerie Electrica"; cout <<"\n\n\tSectia este: " << sectia; cin.ignore(); cin.get(); return 0; } |
// Returnarea pointerilor din functii // Programul cere si afiseaza un sir utilizand un pointer // Pointerul este returnat de o functie #include "stdafx.h" #include < iostream > #include < string > using namespace std; char* cere_sectia(); int main(void) { system("TITLE Returnarea pointerilor din functii "); system("COLOR F9"); cout << "\n\tProgramul cere si afiseaza un sir utilizand un pointer."; cout << "\n\tPointerul este returnat de o functie \n\n"; char* sec =cere_sectia(); cout <<"\n\n\tSectia este: " << sec; cin.get(); return 0; } char* cere_sectia(){ static char sectia[55]; cout << "\n\n\tIntroduceti sectia: "; cin.getline(sectia,80); return sectia; } |
// Returnarea pointerilor din functii // Programul cere si afiseaza un sir utilizand un pointer // Pointerul este returnat de o functie si indica spre o variabila dinamica. #include "stdafx.h" #include < iostream > #include < string > using namespace std; char* cere_sectia(); int main(void) { system("TITLE Returnarea pointerilor din functii "); system("COLOR F9"); cout << "\n\t- Programul cere si afiseaza un sir utilizand un pointer."; cout << "\n\t- Pointerul este returnat de o functie \n\n"; cout << "\n\t- Pointerul indica spre o variabila dinamica \n\n"; char* sec =cere_sectia(); cout <<"\n\n\tSectia este: " << sec; cin.get(); delete [] sec; return 0; } char* cere_sectia(){ char* sectia; sectia= new char[80]; cout << "\n\n\tIntroduceti sectia: "; cin.getline(sectia,80); return sectia; } |
// Programul initializeaza un vector de dimensiune 0 // Cere numarul de elementesi redimensioneaza vectorul // Atribuire valori aleatoare intre 0-100 elementelor vecorului // Se afiseaza elementele vectorului // Se redimensioneaza vectorul dupa care se afiseaza din nou #include "stdafx.h" #include < iostream > using namespace std; using namespace System; int main(void) { system("TITLE Redimensionare vector ");// Titlul ferestrei consola system("COLOR F9"); // Fundal alb caractere albastre int i, nrmax ; array < int >^ numere = gcnew array < int > (0); Console::Write("\n\tDimensiunea vectorului: "); nrmax=System::Convert::ToInt16(Console::ReadLine()); // Citirea dimensiuni vectorului Array::Resize(numere,nrmax); // Redimensionare vector for (i=0;i < nrmax; i++) // Atribuire valori aleatoare intre 0-100 numere[i]=100*rand()/RAND_MAX; Console::WriteLine("\n\tNumerele sunt: \n\n"); // Afisare numere for (i=0;i < nrmax; i++) Console::WriteLine("\t\t\tNr["+i+"]="+numere[i]); Console::Write("\n\tNoua dimensiune: "); nrmax=System::Convert::ToInt16(Console::ReadLine()); // Citirea noii dimensiuni Array::Resize(numere,nrmax); Console::Write("\n\tDupa redimensionare, elementele vectorului sunt: \n\n"); for (i=0;i < nrmax; i++) Console::WriteLine("\t\t\tNr["+i+"]="+numere[i]); Console::ReadLine(); delete numere; return 0; } |
const int nr_z=31; int poz_x=14; // pozitia curenta pe axa x float w_r=1,w_a=3; // grosimea(in pixeli) a liniei rosii respectiv albastre double consum[nr_z+1]; // vector ce pastreaza consumurile pe nr_z zile double* d_ptr=consum; // pointer negestionat double v_rand; // valoare aleatoare double c_lun; // consum lunar double c_med; // consum lunar mediu // Se definesc pointerii gestionati System::Drawing::Graphics^ Desen; System::Drawing::Pen^ Creion_rosu; System::Drawing::Pen^ Creion_albastru; System::Random^ n; // Se instantiaza clasele pentu a crea diferite obiecte folosite pe parcursul aplicatiei. Obiectele create se mai numesc si instante. Desen = this->CreateGraphics(); Creion_rosu=gcnew System::Drawing::Pen(System::Drawing::Color::Red,w_r); Creion_albastru=gcnew System::Drawing::Pen(System::Drawing::Color::BlueViolet ,w_a); n = gcnew System::Random(); // Stergere desen prin invocarea metodei Clear Desen->Clear(System::Drawing::Color(this->BackColor)); // Trasare axa x si axa y Desen->DrawLine( Creion_rosu,6,0,6,this->Height-40); Desen->DrawLine( Creion_rosu,6,this->Height-40,this->Width-20,this->Height-40); // Trasare consumuri si salvare in matricea consum for ( d_ptr=consum; d_ptr < consum+nr_z; d_ptr++){ v_rand=n->Next(this->Height-40);// se genereaza o valoare aleatoare Desen->DrawLine( Creion_albastru,poz_x,this->Height-40,poz_x,Height-40-v_rand); poz_x+=14; *d_ptr=v_rand; } c_lun=0; // Calculez consum lunar for ( d_ptr=consum; d_ptr < consum + nr_z; d_ptr++){ c_lun=c_lun + *d_ptr; } // calculez si afisez consumul mediu c_med=c_lun/nr_z; Desen->DrawLine( Creion_rosu,6,this->Height-40-c_med,this->Width-20,this->Height-40-c_med); |
|