Sunteți pe pagina 1din 6

C++ Aplicații rezolvate

Introducere in C++

1) Sa se realizeze un program care exemplifi ca rezolvarea domeniului global de


valabilitate (se cere uti lizarea operatorului de rezoluti e)  (rezolvare...)

2) Sa se realizeze un program alias.cpp care creeaza doua aliasuri şi le uti lizeaza pentru
a afi şa valorile si adresele variabilelor specifi cate  (rezolvare...)

3) Sa se realizeze un program care creeaza trei functi i pentru cele trei ti puri de
transmitere a parametrilor care primind doua valori ca parametri sa încerce
interschimbarea între acestea (rezolvare...)

4) Sa se scrie un program care citeşte numere complexe şi le afi şeaza  (rezolvare...)

5) Sa se exemplifi ce specifi catorul stati c (rezolvare...)

6) Sa se realizeze o expresie de forma: 1-2+3-4......+-n, unde n este un intreg dat de la


tastatura. Functi a va transmite rezultatul prin linia de parametri prin
referinte (rezolvare...)

7) Sa se realizeze o expresie de forma: 1-2+3-4......+-n, unde n este un intreg dat de la


tastatura. Functi a va transmite rezultatul prin ti pul rezultat prin
referinte (rezolvare...)

Rezolvări

1. Sa se realizeze un program care exemplifi ca rezolvarea domeniului global de


valabilitate (se cere uti lizarea operatorului de rezoluti e).

#include <iostream>
#include <fstream>
using namespace std;
int nume=10;

int main()
{ int nume=5; //variabila locala
cout<<"Valoarea variabilei locale "<<nume<<endl; //=5
cout<<"Valoarea variabilei globale "<<::nume<<'\n'; //=10

int g;
cin>>g;
}
C++ Aplicații rezolvate

2. Sa se realizeze un program alias.cpp care creeaza doua aliasuri şi le uti lizeaza pentru
a afi şa valorile si adresele variabilelor specifi cate.

#include <iostream>
#include <fstream>
using namespace std;

int main()
{ int a=10;
int& a_alias=a;
float b=42.76;
float& b_alias=b;
cout<<"Valoarea lui a e "<<a<<" aliasul e "<<a_alias<<endl;
cout<<"Adresa lui a e "<<&a<<" , iar a aliasului e "<<&a_alias;
cout<<"\nValoarea lui b e "<<b<<" aliasul e "<<b_alias;
a_alias++;
cout<<"\nValoarea lui a e "<<a<<" aliasul e "<<a_alias;

int g;
cin >>g;
}

3. Sa se realizeze un program care creeaza trei functi i pentru cele trei ti puri de
transmitere a parametrilor care primind doua valori ca parametri sa încerce
interschimbarea între acestea.
#include <iostream>
#include <fstream>
using namespace std;
void valoare(int,int);
void adresa(int*,int*);
void referinta(int&,int&);

void main()
{
int a,b;
cout<<"Dati a: ";
cin>>a;
cout<<"Dati b: ";
cin>>b;
cout<<"a si b sunt: "<<a<<" "<<b<<endl;
valoare(a,b);
cout<<"a si b sunt: "<<a<<" "<<b<<endl;
adresa(&a,&b);
cout<<"a si b sunt: "<<a<<" "<<b<<endl;
referinta(a,b);
C++ Aplicații rezolvate

cout<<"a si b sunt: "<<a<<" "<<b<<endl;

int g;
cin >>g;
}
void valoare(int m, int n)
{
int t;
t=m;
m=n;
n=t;
}
void adresa(int* m, int* n)
{
int t;
t=*m;
*m=*n;
*n=t;
}
void referinta(int& m, int& n)
{
int t;
t=m;
m=n;
n=t;
}

4. Sa se scrie un program care citeşte numere complexe şi le afi şeaza.


#include <iostream>
#include <fstream>
#include<math.h>
using namespace std;
typedef struct {
double x;
double y;
}complex;
void main()
{
complex z;
cout<<"Dati valoarea reala (a): ";
cin>>z.x;
cout<<"Dati valoarea imaginara (b): ";
cin>>z.y;
cout<<endl;//se lasa un rand liber
cout<<'\t'<<"a+bi="<<z.x;
C++ Aplicații rezolvate

if (z.y>=0)
cout<<"+"<<z.y<<"*i"<<endl;
else
cout<<z.y<<"*i"<<endl;

int g;
cin >>g;
}

5. Sa se exemplifi ce specifi catorul stati c.


#include <iostream>
#include <fstream>
using namespace std;
int& atrib()
{
static int a=8;
a++;
return a;
}
void main()
{
cout<<atrib()<<endl;
atrib()=7;
cout<<atrib()<<endl;

int g;
cin >>g;
}

6. Sa se realizeze o expresie de forma: 1-2+3-4......+-n, unde n este un intreg dat de la


tastatura. Functi a va transmite rezultatul prin linia de parametri prin referinte.
#include <iostream>
#include <fstream>
using namespace std;
void suma(int &s,int n)
{
s=0;
int semn=1;
for(int i=1;i<=n;i++)
{
s+=semn*i;
semn=-semn;
}
}
C++ Aplicații rezolvate

void main()
{
int s,n;
cout<<"Dati n: ";
cin>>n;
suma(s,n);
cout<<"Suma este: "<<s<<'.'<<endl;

int g;
cin >>g;
}

7. Sa se realizeze o expresie de forma: 1-2+3-4......+-n, unde n este un intreg dat de la


tastatura. Functi a va transmite rezultatul prin ti pul rezultat prin referinte.

#include <iostream>
#include <fstream>
using namespace std;

int& suma(int n)
{
static int s=0;
int semn=1;
for(int i=1;i<=n;i++)
{
s+=semn*i;
semn=-semn;
}
return s;
}

void main()
{
int s,n;
cout<<"Dati n: ";
cin>>n;
s=suma(n);
suma(n)=2;
cout<<"Suma este: "<<s<<'.'<<endl;
cout<<"Suma este: "<<suma(n)<<'.'<<endl;

int g;
cin >>g;
}
C++ Aplicații rezolvate

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