Portofoliu Programare
Portofoliu Programare
Catedra Informatica
PORTOFOLIU
la unitatea de curs
Programare Procedurală
Elaborat: Verificat:
Elevuul grupei PAP 2113 G Burca Eugenia,
Nume Prenume master în informatică,
Lungu Sergiu profesor de informatică.
Chișinău, 2021
Cuprins
-2-
1. Tipul de date fișier
#include <iostream>
#include <fstream>
int main()
{
int varsta, inaltime;
char genul;
float ideal;
fstream file;
file.open("date.in", ios::in);
file >> varsta >> inaltime >> genul;
if (genul == 'f') {
ideal -= 10;
}
file.close();
file.open("date.out", ios::out);
file << "Varsta: " << varsta << "\nInaltime: " << inaltime <<
"\nGenul: " << genul << "\nGreutatea ideala: " << ideal;
file.close();
-3-
#include <iostream>
#include <fstream>
int main()
{
int a, b, c;
fstream file;
file.open("date.in", ios::in);
if (a % 2 == 0) {
cout << a << " PAR\n";
file << a << " PAR\n";
} else {
cout << a << " IMPAR\n";
file << a << " IMPAR\n";
}
if (b % 2 == 0) {
cout << b << " PAR\n";
file << b << " PAR\n";
} else {
cout << b << " IMPAR\n";
file << b << " IMPAR\n";
}
if (a % 2 == 0) {
cout << c << " PAR\n";
file << c << " PAR\n";
} else {
cout << c << " IMPAR\n";
file << c << " IMPAR\n";
}
file.close();
}
-5-
-6-
#include <iostream>
#include <fstream>
int main()
{
int a, b, c;
int max, min, second;
fstream file;
file.open("date.in", ios::in);
file >> a >> b >> c;
file.close();
-7-
file.open("date.out", ios::out);
-8-
-9-
#include <iostream>
#include <fstream>
#include <iomanip>
int main()
{
int temp, pozCounter = 0, negCounter = 0;
float pozSum = 0, negSum = 0;
fstream file;
file.open("date.in", ios::in);
while (!file.eof()) {
file >> temp;
if (temp > 0) {
pozSum += temp;
pozCounter++;
}
else {
negSum += temp;
negCounter++;
}
}
file.close();
file.open("date.out", ios::out);
if (pozCounter != 0) {
cout << "Media temperaturilor pozitive: " << setprecision(3) << pozSum / pozCounter << "\n";
file << "Media temperaturilor pozitive: " << setprecision(3) << pozSum / pozCounter << "\n";
}
else {
cout << "Nu exista temperaturi pozitive\n";
file << "Nu exista temperaturi pozitive\n";
}
if (negCounter != 0) {
cout << "Media temperaturilor negative: " << setprecision(3) << negSum / negCounter;
file << "Media temperaturilor negative: " << setprecision(3) << negSum / negCounter;
}
else {
cout << "Nu exista temperaturi negative";
file << "Nu exista temperaturi negative";
}
file.close();
}
-10-
-11-
#include <iostream>
#include <fstream>
int main()
{
fstream file;
file.open("date.in", ios::in);
-12-
file.close();
file.open("date.out", ios::out);
cout << "max=" << max << "\nmin=" << min <<
"\n" << nrCorigenti << " corigent";
if (nrCorigenti != 1) {
cout << 'i';
}
file << "max=" << max << "\nmin=" << min <<
"\n" << nrCorigenti << " corigent";
if (nrCorigenti != 1) {
file << 'i';
}
file.close();
}
-13-
-14-
#include <iostream>
#include <fstream>
#include <iomanip>
#include <conio.h>
using namespace std;
int main()
{
int n,i, t[100], pare=0, impare=0, suma=0, max=0, min=9999;
float media;
fstream g, h;
g.open("date.in", ios::in);
g >> n;
h.open("date.out", ios::out);
for( i=0; i<n; i++){
g >> t[i];
suma+=t[i];
if(t[i]%2==0) pare++;
else impare++;
if(t[i]>max) max=t[i];
if(t[i]<min) min=t[i];
}
media=(float)suma/i;
g.close();
cout << "Max=" << max << endl;
cout << "Min=" << min << endl;
cout << "Numere pare=" << pare << endl;
cout << "Numere impare=" << impare << endl;
cout << "Media=" << fixed << setprecision(2)<< media << endl;
h << "Max=" << max << endl;
h << "Min=" << min << endl;
h << "Numere pare=" << pare << endl;
h << "Numere impare=" << impare << endl;
h << "Media=" << fixed << setprecision(2) << media << endl;
h.close();
getch();
}
-15-
#include <iostream>
#include <fstream>
#include <iomanip>
-16-
int main()
{
fstream file;
file.open("date.in", ios::in);
file.close();
file.open("date.out", ios::out);
file.close();
-17-
-18-
#include <iostream>
#include <fstream>
#include <iomanip>
int main()
{
fstream file;
file.open("date.in", ios::in);
file.close();
file.open("date.out", ios::out);
-19-
cout << setw(5) << matrice[i][j];
file << setw(5) << matrice[i][j];
}
}
file.close();
-20-
-21-
#include <iostream>
#include <fstream>
#include <iomanip>
int main()
{
fstream file;
file.open("date.in", ios::in);
}
}
file.close();
file.open("date.out", ios::out);
file.close();
-22-
-23-
#include <iostream>
#include <fstream>
int main()
{
fstream file;
file.open("date.in", ios::in);
int majuscule = 0;
char c;
while (!file.eof()) {
file >> c;
if (c == toupper(c)) {
majuscule++;
}
}
file.close();
file.open("date.out", ios::out);
file.close();
}
-24-
-25-
2. Metode de sortare
//Lungu Sergiu
#include <iostream>
#include <fstream>
using namespace std;
int n, a[100],f,aux, b[100], c[100],j;
int main()
{
ifstream fin("vector.in");
ifstream g("vector.in");
ifstream d("vector.in");
///a-metoda bulelor
cout<<"Numarul de elemente: ";
fin>>n;
cout<<n<<endl;
///sortare crescatoare
do
{
f=0;
for(int i=0; i<n-1; i++)
if(a[i]>a[i+1])
{
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
f=1;
}
}
while(f);
cout<<"Sirul sortat crescator este: " <<endl;
for(int i=0; i<n; i++)
cout<<a[i]<<" ";
///sortare descrescatoare
cout<<endl;
do
-26-
{
f=0;
for(int i=0; i<n-1; i++)
if(a[i]<a[i+1])
{
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
f=1;
}
}
while(f);
cout<<"Sirul sortat descerescator este: " <<endl;
for(int i=0; i<n; i++)
cout<<a[i]<<" ";
fin.close();
cout<<endl;
///b-metoda selectiei directe
///sortare crescatoare
///sortarea descrescatoare
for(int i=0; i<n-1; i++)
for(int j=i+1; j<n; j++)
if(b[i]<b[j])
{
aux=b[i];
-27-
b[i]=b[j];
b[j]=aux;
}
g.close();
///metoda insertiei
cout<<endl;
cout<<"Numarul de elemente: ";
d>>n;
cout<<n<<endl;
///sortatre crescatoare
for(int i=1; i<n; i++)
{
j=i-1;
aux=c[i];
while(aux<c[j] && j>=0)
{
c[j+1]=c[j];
j--;
}
c[j+1]=aux;
}
///sortatre descrescatoare
cout<<endl;
for(int i=1; i<n; i++)
{
j=i-1;
aux=c[i];
while(aux>c[j] && j>=0)
{
c[j+1]=c[j];
j--;
}
c[j+1]=aux;
}
-28-
cout<<"Tabloul sortat descrescator: "<<endl;
for(int i=0; i<n; i++)
cout<<c[i]<<" ";
d.close();
return 0;
}
-29-
-30-
-31-
//Lungu Sergiu
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int n,f,aux,j;
char a[100], b[100], c[100];
int main()
{
ifstream fin("caractere.in");
ifstream g("caractere.in");
ifstream d("caractere.in");
///a-metoda bulelor
fin.getline(a,100);
n=strlen(a);
cout<<endl;
///sortare crescatoare
do
{
f=0;
for(int i=0; i<n-1; i++)
if(a[i]>a[i+1])
{
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
f=1;
}
}
while(f);
cout<<"Sirul sortat crescator este: " <<endl;
for(int i=0; i<n; i++)
cout<<a[i]<<" ";
///sortare descrescatoare
cout<<endl;
do
{
f=0;
for(int i=0; i<n-1; i++)
-32-
if(a[i]<a[i+1])
{
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
f=1;
}
}
while(f);
cout<<"Sirul sortat descerescator este: " <<endl;
for(int i=0; i<n; i++)
cout<<a[i]<<" ";
fin.close();
cout<<endl;
///b-metoda selectiei directe
g.getline(b,100);
n=strlen(b);
///sortare crescatoare
///sortarea descrescatoare
for(int i=0; i<n-1; i++)
for(int j=i+1; j<n; j++)
if(b[i]<b[j])
{
aux=b[i];
b[i]=b[j];
-33-
b[j]=aux;
}
g.close();
///metoda insertiei
d.getline(c,100);
n=strlen(c);
cout<<endl;
cout<<"Numarul de elemente: ";
d>>n;
cout<<n<<endl;
///sortatre crescatoare
for(int i=1; i<n; i++)
{
j=i-1;
aux=c[i];
while(aux<c[j] && j>=0)
{
c[j+1]=c[j];
j--;
}
c[j+1]=aux;
}
///sortatre descrescatoare
cout<<endl;
for(int i=1; i<n; i++)
{
j=i-1;
aux=c[i];
while(aux>c[j] && j>=0)
{
c[j+1]=c[j];
j--;
}
c[j+1]=aux;
}
-34-
cout<<"Tabloul sortat descrescator: "<<endl;
for(int i=0; i<n; i++)
cout<<c[i]<<" ";
d.close();
return 0;
}
-35-
-36-
-37-
//Lungu Sergiu
#include <iostream>
#include <fstream>
using namespace std;
int a[100],n,k,aux;
int main()
{
ifstream fin("vector.in");
cout<<"Initial:"<<endl;
for(int i=0; i<n; i++)
cout<<a[i]<<" ";
fin.close();
cout<<endl;
cout<<"Valaorea lui k: ";
cin>>k;
cout<<"Dupa sortare:"<<endl;
for(int i=0; i<n; i++)
cout<<a[i]<<" ";
-38-
return 0;
}
-39-
//Lungu Sergiu
#include <iostream>
#include <fstream>
using namespace std;
int a[100],n,k,aux;
int main()
{
ifstream fin("vector.in");
cout<<"Initial:"<<endl;
for(int i=0; i<n; i++)
cout<<a[i]<<" ";
fin.close();
cout<<endl;
cout<<"Valaorea lui k: ";
cin>>k;
cout<<"Dupa sortare:"<<endl;
for(int i=0; i<n; i++)
cout<<a[i]<<" ";
return 0;
}
-40-
-41-
//Lungu Sergiu
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{
int n;
ifstream fin("cuvinte.in");
char t[100], aux[13];
char vectorCuv[6][13];
int total=0;
fin.getline(t,100);
n=strlen(t);
cout<<"Initial:"<<endl;
for(int i=0; i<n; i++)
cout<<t[i];
cout<<endl;
cout<<"Sortat:"<<endl;
-42-
return 0;
}
-43-
//Lungu Sergiu
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{
int t[20][20],aux,d;
int n,m;
ifstream fin("matrice.in");
fin>>n>>m;
fin.close();
cout<<"Ordinea originala:"<<endl;
for(int i=0; i<n; i++)
{
for(int j=0; j<m; j++)
{
cout<<t[i][j]<<" ";
}
cout<<endl;
}
-44-
cout<<"sortat:"<<endl;
for(int i=0; i<n; i++)
{
for(int j=0; j<m; j++)
{
cout<<t[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
-45-
-46-
//Sergiu Lungu
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{
char t[100][100], aux[100];
int n,m;
ifstream f("matrice.in");
f>>n>>m;
cout<<"Cuvintele sortate:"<<endl;
for(int i=0; i<n; i++)
cout<<t[i]<<endl;
return 0;
}
-47-
-48-
3. Tipul de date structură
3.1 Probleme rezolvate în cadrul orelor de laborator și tema pentru acasă
//Lungu Sergiu
#include <iostream>
#include <cstring>
using namespace std;
int main()
{ int t1,t2,t3;
struct data
{int ziua;
int luna;
int anul;
};
struct copil
{char nume[20];
data datan;};
copil c1,c2,c3;
cout<<"Introdu datele despre copii"<<endl;
cout<<"Introdu datele primului copil(numele; ziua,luna,anul nasterii)"<<endl;
cin>>c1.nume;
cin>>c1.datan.ziua>>c1.datan.luna>>c1.datan.anul;
cout<<"Introdu datele celui de-al doilea copil(numele; ziua,luna,anul nasterii)"<<endl;
cin>>c2.nume;
cin>>c2.datan.ziua>>c2.datan.luna>>c2.datan.anul;
cout<<"Introdu datele celui de-al treilea copil(numele; ziua,luna,anul nasterii)"<<endl;
cin>>c3.nume;
cin>>c3.datan.ziua>>c3.datan.luna>>c3.datan.anul;
t1=c1.datan.anul*365+c1.datan.luna*30+c1.datan.ziua;
t2=c2.datan.anul*365+c2.datan.luna*30+c2.datan.ziua;
t3=c3.datan.anul*365+c3.datan.luna*30+c3.datan.ziua;
copil cmax;
if(t1<t2 && t1<t3) cmax=c1;
else if(t2<t1 && t2<t3) cmax=c2;
else cmax=c3;
copil cmin;
if(t1>t2 && t1>t3) cmin=c1;
else if(t2>t1 && t2>t3) cmin=c2;
-49-
else cmin=c3;
copil c;
if((t1<t2) && (t1>t3) || (t1<t3) && (t1>t2)) c=c1;
if((t2<t1) && (t2>t3) || (t2<t3) && (t2>t1)) c=c2;
if((t3<t2) && (t3>t1) || (t3<t1) && (t3>t2)) c=c3;
return 0;
}
-50-
//Lungu Sergiu
#include <iostream>
using namespace std;
int main()
s1=t1.an*365+t1.luna*31+t1.zi;
s2=t2.an*365+t2.luna*31+t2.zi;
sum=s1+s2;
dif=s1-s2;
return 0;
}
-51-
//Lungu Sergiu
#include <iostream>
using namespace std;
int main()
t1=h1.ore*3600+h1.minute*60+h1.secunde;
t2=h2.ore*3600+h2.minute*60+h2.secunde;
sum=t1+t2;
dif=t1-t2;
return 0;
}
-52-
//Lungu Sergiu
//A
#include <iostream>
#include <math.h>
using namespace std;
struct coordonate{
int x,y;} varful1, varful2, varful3;
int main()
{
float latura1, latura2, latura3, perimetru, aria;
cout<<"Introduceti primul varf"<<endl;
cout<<"x= ";cin>>varful1.x;
cout<<"y= ";cin>>varful1.y;
-53-
cout<<endl<<"Introduceti al doilea varf"<<endl;
cout<<"x= ";cin>>varful2.x;
cout<<"y= ";cin>>varful2.y;
cout<<endl<<"Introduceti al treilea varf"<<endl;
cout<<"x= ";cin>>varful3.x;
cout<<"y= ";cin>>varful3.y;
latura1=sqrt(pow((varful2.x-varful1.x),2)+pow((varful2.y-varful1.y),2));
latura2=sqrt(pow((varful3.x-varful2.x),2)+pow((varful3.y-varful2.y),2));
latura3=sqrt(pow((varful1.x-varful3.x),2)+pow((varful1.y-varful1.y),2));
perimetru=latura1+latura2+latura3;
if((latura1+latura2>latura3)&&(latura2+latura3>latura1)&&(latura1+latura3>latura2)){
cout<<"Un triunghi poate fi format"<<endl;
cout<<"Perimetrul: "<<perimetru<<endl;
cout<<"Aria: "<<sqrt(perimetru/2*(perimetru/2-latura1)*(perimetru/2-latura2)*(perimetru/2-
latura3))<<endl;
if((latura1>latura2) && (latura1>latura3)){
if(latura1==sqrt(latura2+latura3)){
cout<<"Triunghi dreptunghic"<<endl;}
else if(latura1<sqrt(latura2+latura3)){
cout<<"Triunghi ascutit"<<endl;}
return 0;
}
//Lungu Sergiu
//B
#include <iostream>
#include <math.h>
using namespace std;
struct coordonate {
int x,y;
}centrul1, centrul2;
int main()
{
int raza1, raza2, dist;
cout<<"Introduceti coordonatele centrului primului cerc:"<<endl;
cout<<"Coordonata x: "; cin>>centrul1.x;
cout<<"Coordonata y: "; cin>>centrul1.y;
cout<<"Raza primului cerc: "; cin>>raza1;
cout<<"Introduceti coordonatele centrului celui de-al doilea cerc:"<<endl;
cout<<"Coordonata x: "; cin>>centrul2.x;
cout<<"Coordonata y: "; cin>>centrul2.y;
cout<<"Raza celui de-al doilea cerc: "; cin>>raza2;
cout<<endl<<"Lungimea primului cerc: "<<M_PI*2*raza1<<endl;
-54-
cout<<"Lungimea celui de-al doilea cerc: "<<M_PI*2*raza2<<endl;
cout<<"Aria discului primului cerc: "<<M_PI*pow(raza1,2)<<endl;
cout<<"Aria discului celui de-al doilea cerc: "<<M_PI*pow(raza2,2)<<endl;
dist=sqrt(sqrt(pow((centrul1.x-centrul2.x),2)+pow((centrul1.y-centrul2.y),2)));
if(raza1+raza2<dist){
cout<<"Cercurile nu se intersecteaza";
}
else if(raza1+raza2==dist){
cout<<"Cercurile sunt tangente (un punct comun)";
}
else if(raza1+raza2>dist){
cout<<"Cercurile sunt tangente (doua puncte comune)";
}
return 0;
}
-55-
-56-
//Lungu Sergiu
//5
#include <iostream>
-58-
-59-
//Lungu Sergiu
//6
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
struct coordonate{
int x,y;
}puncte[100],aux;
int main()
{
int n;
fstream file;
file.open("puncte.in",ios::in);
file>>n;
for(int i=0; i<n; i++){
file>>puncte[i].x;
file>>puncte[i].y;
}
file.close();
for(int i=0; i<n; i++){
for(int j=i+1; j<n; j++){
if (sqrt(pow(puncte[i].x, 2) + pow(puncte[i].y, 2)) > sqrt(pow(puncte[j].x, 2) + pow(puncte[j].y,
2))) {
aux = puncte[i];
puncte[i] = puncte[j];
puncte[j] = aux;
}
}
}
cout << "Punctele sortate crescator: "<<endl;
for (int i = 0; i < n; i++) {
cout<< "Punctul "<<i + 1<<":"<<endl;
cout<<"x= "<< puncte[i].x <<"; y="<<puncte[i].y<<endl;
cout<<"Distanta= "<<sqrt(pow(puncte[i].x, 2)+pow(puncte[i].y, 2))<<endl<<endl;
}
return 0;
}
-60-
-61-
//Lungu Sergiu
#include <iostream>
#include<cstring>
#include <fstream>
using namespace std;
int main()
{ int n,d, aux,f,p;
char m[20], auxm[20];
struct telefon
{
char marca[20];
char culoare[20];
int an;
int pret;
};
ifstream fin("date.in");
fin>>n;
for(int i=0; i<n; i++)
{
fin>>LT[i].marca;
fin>>LT[i].culoare;
fin>>LT[i].an;
fin>>LT[i].pret;
}
cout<<endl;
cout<<"1.Afisarea tuturor telefoanelor: " << endl;
cout<<"2.Afisarea telefoanelor cu cel mai mare an: "<<endl;
cout<<"3.Afisarea celor mai scumpe telefoane: "<<endl;
-62-
cout<<"4.Cautarea telefoanelor dupa marca: "<<endl;
cout<<"5.Cautarea telefoanelor dupa pret, cu indicarea pretului minim si maxim: "<<endl;
cout<<"6.Sortarea telefoanelor descrescator dupa anul fabricarii: "<<endl;
cout<<"7.Sortarea telefoanelor crescator dupa marca: "<<endl;
cout<<"Alege o optiune din meniu, tastand 1-7: "<<endl;
cin>>d;
switch(d)
{
case 1: for(int i=0; i<n; i++) cout<<LT[i].marca<<" "; break;
case 2: for(int i=0; i<n; i++)
if(LT[i].an> LTanmax.an) {LTanmax.an=LT[i].an; cout<<LT[i].marca<<"
"<<LT[i].culoare<<" "<<LT[i].an<<" "<<LT[i].pret;} break;
case 3: for(int i=0; i<n; i++)
if(LT[i].pret> LTpretmax.pret) {LTpretmax.pret=LT[i].pret; cout<<LT[i].marca<<"
"<<LT[i].culoare<<" "<<LT[i].an<<" "<<LT[i].pret;} break;
case 6: do
{
f=0;
for(int i=0; i<n-1; i++)
if(LT[i].an<LT[i+1].an)
{
aux=LT[i].an;
LT[i].an=LT[i+1].an;
LT[i+1].an=aux;
f=1;
}
} while(f);
case 7: do
{
f=0;
for(int i=0; i<n-1; i++)
if (strcmp(LT[i].marca,LT[i+1].marca)==1)
-63-
{
strcpy(auxm,LT[i].marca);
strcpy(LT[i].marca, LT[i+1].marca);
strcpy(LT[i+1].marca,auxm);
f=1;
}
} while(f);
return 0;
}
-64-
-65-
4. Pointeri
4.1 (Partea I) Variabilele pointer
//Lungu Sergiu
//9, pag 4
#include <iostream>
int main()
{
int a,b,c;
int *pa=&a, *pb=&b, *pc=&c;
cout<<"Introduceti 3 cifre de la tastatura"<<endl;
cout<<"a= "; cin>>*pa;
cout<<"b= "; cin>>*pb;
cout<<"c= "; cin>>*pc;
cout<<*pa<<" + "<<*pb<<" = "<<*pa+*pb<<endl;
cout<<*pa<<" + "<<*pc<<" = "<<*pa+*pc<<endl;
cout<<*pb<<" + "<<*pc<<" = "<<*pb+*pc<<endl;
return 0;
}
-66-
//Lungu Sergiu
//10, pag 5
#include <iostream>
int main()
{
int n;
int *pn=&n;
cout<<"n= "; cin>>*pn;
for(int i=1; i<=10; i++){
cout<<*pn<<" * "<<i<<" = "<<*pn*i<<endl;
}
return 0;
}
-67-
//Lungu Sergiu
//7, pag 10
#include <iostream>
int main()
{
int n,s;
int *pn=&n, *ps=&s;
*ps=0;
for(int i=0; i<7; i++){
cout<<"Cate ore a privit in ziua "<<i+1<<" ? ";
cin>>*pn;
*ps+=*pn;
}
if(*ps>20){
cout<<"Va fi pedepsit";
}
else{
cout<<"Nu va fi pedepsit";
}
return 0;
}
-68-
//Lungu Sergiu
//8 pag 10
#include <iostream>
int main()
{
int inaltimea, varsta;
char sexul;
int *pinaltimea=&inaltimea, *pvarsta=&varsta;
char *psexul=&sexul;
float greutatea, *pgreutatea=&greutatea;
cout<<"Introduceti inaltimea"<<endl;
cin>>*pinaltimea;
cout<<"Introduceti varsta"<<endl;
cin>>*pvarsta;
cout<<"Introduceti sexul"<<endl;
cin>>*psexul;
*pgreutatea=50+0.75*(*pinaltimea-150)+(*pvarsta-20)/4;
if(*psexul=='f') *pgreutatea-=10;
cout<<"Greutatea ideala este: "<<*pgreutatea;
return 0;
}
-69-
//Lungu Sergiu
//4 pag 14
#include <iostream>
int main()
{
float a,b;
char op, *pop=&op;
float *pa=&a,*pb=&b;
cout<<"a= "; cin>>*pa;
cout<<"b= "; cin>>*pb;
cout<<"operatorul= "; cin>>*pop;
switch(*pop){
-70-
case '+': cout<<*pa<<" + "<<*pb<<" = "<<*pa+*pb; break;
case '-': cout<<*pa<<" - "<<*pb<<" = "<<*pa-*pb; break;
case '*': cout<<*pa<<" * "<<*pb<<" = "<<*pa**pb; break;
case '/': cout<<*pa<<" / "<<*pb<<" = "<<*pa/(*pb); break;
default: cout<<"EROARE"; }
return 0;
}
//Lungu Sergiu
//5 pag 16
#include <iostream>
int main()
{
int n, *pn=&n;
bool prim, *pprim=&prim;
-71-
cout<<"n= "; cin>>*pn;
*pprim=true;
-72-
4.2 (Partea II) Alocarea dinamică de memorie
//Lungu Sergiu
//3 pag 22
#include <iostream>
int main()
{
int n;
cout<<"Cate elemente are vectorul? "; cin>>n;
int t[n], *pt=t;
-73-
//Lungu Sergiu
//6 pag 25
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int n,m,aux=0,s=0,maxim;
cout<<"n= ";cin>>n;
cout<<"m= ";cin>>m;
int **x=new int*[n];
for(int i=0; i<n; i++){
x[i]=new int[m];
for(int j=0;j<m;j++){
x[i][j]=i+j;
cin>>x[i][j];
}
}
cout<<"Elementele matricei:"<<endl;
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
cout<<setw(10)<<x[i][j]<<" ";
}cout<<endl;
}
for(int i=0; i<n; i++){
for(int j=0;j<m;j++){
aux+=x[i][j];
}
if(aux>s){
s=aux;
maxim=i;
}
aux=0;
}
cout<<endl<<"Randul cu suma cea mai mare:"<<endl;
for(int i=0; i<m; i++){
cout<<x[maxim][i]<<" ";
}
for(int i=0; i<m; i++){
delete[]x[i];
}
delete[]x;
return 0;
}
-74-
-75-
Tema 5 Subprograme cu tip și fără tip.
//Sergiu Lungu
#include <iostream>
using namespace std;
int num(int x)
{
int k = 0;
while (x>0)
{
x /= 10;
k++;
}
return k;
}
int par(int x)
{
int k = 0, z;
while (x > 0)
{
z = x % 10;
x /= 10;
if (z % 2 == 0)
{
k++;
}
}
return k;
}
int imp(int x)
{
int k = 0, z;
while (x > 0)
{
z = x % 10;
x /= 10;
-76-
if (z % 2 != 0)
{
k++;
}
}
return k;
}
int sum(int x)
{
int z, sum=0;
while (x > 0)
{
z = x % 10;
x /= 10;
sum += z;
}
return sum;
}
int max(int x)
{
int z, max=0;
while (x > 0)
{
z = x % 10;
x /= 10;
if (z > max)
{
max = z;
}
}
return max;
}
int min(int x)
{
int z, min = x;
while (x > 0)
{
z = x % 10;
x /= 10;
if (z < min)
{
min = z;
}
}
return min;
}
float med(int x)
{
int z, k = 0;
float med, sum = 0;
while (x > 0)
-77-
{
z = x % 10;
x /= 10;
sum += z;
k++;
}
med = sum / k;
return med;
}
void cif(int x)
{
int k = 0, z, tz[50], i = 0, m = 0, l = 0;
while (x > 0)
{
z = x % 10;
x /= 10;
k++;
tz[i] = z;
i++;
}
for (int i = 0; i < k; i++)
{
for (int j = 0; j < k; j++)
{
if (tz[i] == tz[j])
{
m++;
}
}
if (m >= 2)
{
cout << tz[i] << " ";
tz[i] = 10;
l++;
}
m = 0;
}
if (l == 0) cout << "Lipsesc";
}
void spat(int x)
{
int k = 0, z, tz[50], i = 0, m = 0;
while (x > 0)
{
z = x % 10;
x /= 10;
k++;
tz[i] = z;
i++;
}
for (int i = k-1; i >= 0 ; i--)
-78-
{
cout << tz[i] << " ";
}
}
void diviz(int x)
{
for (int i = 1; i <= x / 2; i++)
{
if (x % i == 0)
{
cout << i << " ";
}
}
}
void invr(int x)
{
int z;
while (x > 0)
{
z = x % 10;
x /= 10;
cout << z;
}
}
void cmm(int x)
{
int k = 0, z, tz[50], i = 0, s;
while (x > 0)
{
z = x % 10;
x /= 10;
k++;
tz[i] = z;
i++;
}
for (int i = 0; i < k - 1; i++)
{
for (int j = i + 1; j < k; j++)
{
if (tz[i] < tz[j])
{
s = tz[j];
tz[j] = tz[i];
tz[i] = s;
}
}
}
for (int i = 0; i < k; i++)
{
cout << tz[i];
}
-79-
}
void prim(int x)
{
int k = 0;
for (int i = 1; i <= x; i++)
{
if (x % i == 0)
{
k++;
}
}
if (k == 2)
{
cout << "\nPRIM";
}
}
int main()
{
int a;
cout << "Introdu un numar: ";
cin >> a;
cout << "Numarul de cifre: " << num(a) << endl;
cout << "Numarul de cifre pare: " << par(a) << endl;
cout << "Numarul de cifre impare: " << imp(a) << endl;
cout << "Suma cifrelor: " << sum(a) << endl;
cout << "Cifra maxima: " << max(a) << endl;
cout << "Cifra minima: " << min(a) << endl;
cout << "Media aritmetica a cifrelor: " << med(a) << endl;
cout << "Cifrele care se repeta de cel putin 2 ori: "; cif(a);
cout << "\nCifrele numarului separate printrun singur spatiu: "; spat(a);
cout << "\nDivizorii numarului: "; diviz(a);
cout << "\nInversul numarului: "; invr(a);
prim(a);
cout << "\nCel mai mare numar posibil creat din aceste cifre:"; cmm(a);
}
-80-
-81-
-82-
-83-
-84-
-85-
#include <iostream>
using namespace std;
int sum(int z, int x)
{
int sum = z + x;
return sum;
}
int prod(int z, int x)
{
int prod = z * x;
return prod;
}
float med(float z, float x)
{
float med = (z + x)/2;
return med;
}
int cmmdc(int z, int x)
{
while (z != x)
{
if (z > x)
z = z - x;
else
x = x - z;
}
int cmmdc = z;
return cmmdc;
-86-
}
int cmmmc(int z, int x)
{
int a = z, b = x;
while (a != b)
{
if (a > b) a = a - b;
else b = b - a;
}
int cmmmc = (z * x) / a;
return cmmmc;
}
int max(int z, int x)
{
int max;
if (z > x)
{
max = z;
}
else
{
max = x;
}
return max;
}
int min(int z, int x)
{
int min;
if (z > x)
{
min = x;
}
else
{
min = z;
}
return min;
}
void diviz(int x, int z)
{
int min;
if (x>z) min = z;
else min = x;
for ( int i = 1; i <= min/2; i++)
{
if (x % i == 0 && z % i == 0)
{
cout << i<<" ";
}
}
if (x % min == 0 && z % min == 0)
-87-
{
cout << min;
}
}
void mult(int x, int z)
{
int k = 0;
for (int i = 1; k<5; i++)
{
for (int j = 0; j <= x*i; j++)
{
if (x * i == z * j)
{
cout << x * i << " ";
k++;
}
}
}
}
void cif(int x, int z)
{
int tx[50], tz[50], i = 0, k = 0, m = 0, l = 0;
while (x > 0)
{
tx[i] = x % 10;
x /= 10;
i++;
k++;
}
i = 0;
while (z > 0)
{
tz[i] = z % 10;
z /= 10;
i++;
m++;
}
for (int i = 0; i < k; i++)
{
for (int j = 0; j <m; j++)
{
if (tx[i] == tz[j])
{
cout << tx[i] << " ";
l++;
}
}
}
if (l == 0) cout << "Lipsesc";
}
void cif_2(int x, int z)
-88-
{
int tx[50], tz[50], i = 0, k = 0, m = 0, l = 0, p=0;
while (x > 0)
{
tx[i] = x % 10;
x /= 10;
i++;
k++;
}
i = 0;
while (z > 0)
{
tz[i] = z % 10;
z /= 10;
i++;
m++;
}
for (int i = 0; i < k; i++)
{
for (int j = 0; j < m; j++)
{
if (tx[i] == tz[j])
{
p++;
}
}
if (p == 0)
{
cout << tx[i] << " ";
l++;
}
p = 0;
}
if (l == 0) cout << "Lipsesc";
}
void prieten(int x, int z)
{
int k = 0, m = 0;
for (int i = 1; i <= x; i++) {
if (x % i == 0)
{
k++;
}
}
for (int i = 1; i <= z; i++) {
if (z % i == 0)
{
m++;
}
}
if (k==m)
-89-
{
cout << "\nPRIETENE";
}
}
int main()
{
int a, b;
cout << "Introdu 2 numere: ";
cin >> a >> b;
cout << "Suma: " << sum(a, b) << endl;
cout << "Produsul: " << prod(a, b) << endl;
cout << "Media aritmetica: " << med(a, b) << endl;
cout << "Cel mai mare divizor comun: " << cmmdc(a, b) << endl;
cout << "Cel mai mic multiplu comun: " << cmmmc(a, b) << endl;
cout << "Numarul minim: " << min(a, b) << endl;
cout << "Numarul maxim: " << max(a, b) << endl;
cout << "Suma numerelor in formatul a+b=c: " << a << "+" << b << "=" << sum(a, b) << endl;
cout << "Produsul numerelor in formatul a*b=c: " << a << "*" << b << "=" << prod(a, b) << endl;
cout << "Toti divizori comuni: "; diviz(a, b);
cout << "\nCinci multipli comuni: "; mult(a, b);
cout << "\nCifrele care se contin in ambele numere: "; cif(a, b);
cout << "\nCifrele care sunt in primul numar si nu sunt in al doilea numar: "; cif_2(a, b);
prieten(a, b);
}
-90-
-91-
-92-
-93-
//Lungu Sergiu
#include <iostream>
#include <math.h>
using namespace std;
int cmmdc(int z, int x, int c)
{
int min, cmmdc = 0;
if (z > x) min = x;
else min = z;
if (c < min) min = c;
for (int i = 1; i <= min / 2; i++)
{
if (z % i == 0 && x % i == 0 && c % i == 0)
{
if (cmmdc < i)
{
cmmdc = i;
}
}
}
if (z % min == 0 && x % min == 0 && c % 1 == 0)
-94-
{
if (cmmdc < min)
{
cmmdc = min;
}
}
return cmmdc;
}
int cmmmc(int z, int x, int c)
{
int cmmmc = 0;
for (int i = 1; cmmmc == 0; i++)
{
for (int j = 0; j <= z * i; j++)
{
if (z * i == x * j)
{
for (int l = 0; l < z * i; l++)
{
if (z * i == c * l)
{
cmmmc = z * i;
}
}
}
}
}
return cmmmc;
}
int max(int z, int x, int c)
{
int max = 0;
if (z > x) max = z;
else max = x;
if (max < c) max = c;
return max;
}
int min(int z, int x, int c)
{
int min = 0;
if (z > x) min = x;
else min = z;
if (min > c) min = c;
return min;
}
void diviz(int z, int x, int c)
{
int min;
if (z > x) min = x;
else min = z;
-95-
if (c < min) min = c;
for (int i = 1; i <= min / 2; i++)
{
if (z % i == 0 && x % i == 0 && c % i == 0)
{
cout << i << " ";
}
}
if (z % min == 0 && x % min == 0 && c % 1 == 0)
{
cout << min;
}
}
void mult(int z, int x, int c)
{
int k = 0;
for (int i = 1; k<3; i++)
{
for (int j = 0; j <= z * i; j++)
{
if (z * i == x * j)
{
for (int l = 0; l < z * i; l++)
{
if (z * i == c * l)
{
cout << z * i << " ";
k++;
}
}
}
}
}
}
void triangle(int z, int x, int c)
{
int k = 0;
if (z < x + c && x < z + c && c < z + x)
{
cout << "Da";
k++;
}
else cout << "Nu";
if (k == 1)
{
int p = (z + x + c) / 2;
cout <<"\nAria triunghiului: " << sqrt(p * (p - z) * (p - x) * (p - c));
cout << "\nPerimetru triunghiului: " << p*2;
}
-96-
}
void ecu(int z, int x, int c)
{
int delt = pow(x, 2) - 4 * z * c;
if (delt > 0)
{
cout <<(float) ((x - (2 * x)) + sqrt(delt)) / (2 * z) << " ";
cout <<(float) ((x - (2 * x)) - sqrt(delt)) / (2 * z);
}
if (delt == 0) cout << (x - (2 * x)) / 2 * z;
if (delt < 0) cout << "Nu exista solutii";
}
int main()
{
int a, b, c;
cout << "Introdu 3 numere: ";
cin >> a >> b >> c;
cout << "Cel mai mare divizor comun: " << cmmdc(a, b, c) << endl;
if (a > 0 && b > 0 && c > 0)cout << "Cel mai mic multiplu comun: " << cmmmc(a, b, c) << endl;
cout << "Valoarea maxima: " << max(a, b, c) << endl;
cout << "Valoarea minima: " << min(a, b, c) << endl;
if (a > 0 && b > 0 && c > 0)
{
cout << "Toti divizorii comuni: "; diviz(a, b, c);
cout << "\n3 cei mai mici multipli comuni: "; mult(a, b, c);
}
cout << "\nNumerele date pot forma un triunghi? "; triangle(a, b, c);
cout << "\nsolutiile reale ale ecuatiei ax^2 + bx + c = 0: "; ecu(a, b, c);
}
-97-
-98-
-99-
-100-
Tema 6 Subporograme. Domenii de vizibilitate. Efecte colaterale.
//Lungu Sergiu
#include <iostream>
using namespace std;
///citirea datelor
void citire(int &x)
{
cout<<"Introduceti un numar ";
cin>>x;
}
///afisarea datelor
void afisare2(int x)
{
cout<<x<<endl;
}
///a
int suma(int x, int y, int &s)
{
s=x+y; return s;
}
///b
int produsul(int x, int y, int &pr)
-101-
{
pr=x*y; return pr;
}
///c
float med (int x, int y, int &med)
{
med=(x+y)/2;
return med;
}
///d
int cmmdc (int x, int y)
{
while(x!=y)
{
if(x>y)
x=x-y;
else
y=y-x;
}
return x;
}
///e
int cmmmc(int x,int y, int &z)
{
int x1,y1;
x1=x;
y1=y;
while(x1!=y1)
{
if(x1>y1)
x1=x1-y1;
else
y1=y1-x1;
}
z=(x*y)/x1;
return z;
}
///f
int vmax(int x, int y, int &vmax)
{
if(x>y) vmax=x;
else vmax=y;
return vmax;
}
///g
int vmin (int x, int y, int &vmin)
-102-
{
if(x>y) vmin=y;
else vmin=x;
return vmin;
}
int main()
{
int x,y;
citire (x);
citire (y);
///a
int sum;
sum = suma(x,y,sum);
cout<<"Suma este: "; afisare2(sum);
///b
int pr;
pr = produsul(x,y,pr);
cout<<"Produsul este: "; afisare2(pr);
///c
int media;
media=float(med(x,y,media));
cout<<"Media este: "; afisare2(media);
///d
int d;
d = cmmdc(x,y);
cout<<"Cel mai mare divizor comun este: "; afisare2(d);
///e
int e;
e = cmmmc(x,y,e);
cout<<"Cel mai mic multiplu comun este: "; afisare2(e);
///f
int maxim;
maxim = vmax(x,y,maxim);
cout<<"Numarul maxim este: "; afisare2(maxim);
///g
int minim;
minim = vmin(x,y,minim);
cout<<"Numarul minim este: "; afisare2(minim);
return 0;
}
-103-
#include <iostream>
#include <iomanip>
using namespace std;
struct data{int ore, min, sec;} d1, d2, d3, d4, d5;
///a
void citire(data &a)
{
cout<<"Introduceti datele ora:min:sec: ";
cin>>a.ore>>a.min>>a.sec;
}
///b
void afisare(data &a)
{
cout<<a.ore<<":"<<a.min<<":"<<a.sec<<endl;
}
///c
void suma(data a, data b, data &c)
{
c.sec=a.sec+b.sec;
if(c.sec>60) {c.min++; c.sec-=60;}
-104-
c.min=a.min+b.min;
if(c.min>60) {c.ore++; c.min-=60;}
c.ore+=a.ore+b.ore;
if(c.ore >= 24)c.ore-=24;
}
///d
void diferenta(data a, data b, data &c)
{
c.ore=a.ore-b.ore;
c.min=a.min-b.min;
if(c.min<0) {c.ore--; c.min+=60;}
c.sec=a.sec-b.sec;
if(c.sec<0) {c.min--; c.sec+=60;}
}
///e
///f
int main()
{
citire(d1);
citire(d2);
afisare(d1);
afisare(d2);
-105-
suma(d1, d2, d3);
afisare(d3);
vmax(d1,d2,d4);
vmin(d1,d2,d5);
diferenta(d4,d5,d3);
afisare(d3);
vmax(d1,d2,d3);
afisare(d3);
vmin(d1,d2,d3);
afisare(d3);
return 0;
}
#include <iostream>
#include <iomanip>
using namespace std;
///b
void afisare(data &a)
{
-106-
cout<<a.an<<":"<<a.luna<<":"<<a.zi<<endl;
}
///c
void suma(data a, data b, data &c)
{
c.zi=a.zi+b.zi;
if(c.zi>30) {c.luna++; c.zi-=30;}
c.luna=a.luna+b.luna;
if(c.luna>12) {c.an++; c.luna-=12;}
c.an+=a.an+b.an;
}
///d
void diferenta(data a, data b, data &c)
{
c.an=a.an-b.an;
c.luna=a.luna-b.luna;
if(c.luna<1) {c.an--; c.luna+=12;}
c.zi=a.zi-b.zi;
if(c.zi<=0) {c.luna--; c.zi+=30;}
}
///e
///f
int main()
{
citire(d1);
citire(d2);
-107-
afisare(d1);
afisare(d2);
vmax(d1,d2,d4);
vmin(d1,d2,d5);
diferenta(d4,d5,d3);
afisare(d3);
vmax(d1,d2,d3);
afisare(d3);
vmin(d1,d2,d3);
afisare(d3);
return 0;
}
-108-
Tema 7 Subprograme cu parametri de tip tablou.
#include <iostream>
#include <iomanip>
int i,j;
using namespace std;
-111-
#include <iostream>
#include <iomanip>
int A[100],B[100],c[200],d[100],i,y,h,z,n_A,n_B;
using namespace std;
void citire(int t[], int &n)
{
cout<<"numarul de elemente " ; cin>>n;
for(i=0;i<n;i++) {
cout<<"t["<<i<<"]="; cin>>t[i];
} cout<<endl;
}
void afisare(int t[], int a)
{
cout<<"elementele tabloului " <<endl;
for(i=0;i<a;i++)
cout<<setw(5)<<t[i]; cout<<endl;
}
-112-
int suma(int t[], int&n)
{
int sum=0;
for(i=0;i<n;i++)
sum+=t[i];
cout<<"suma tabloului este "<<sum<<endl;
}
int diferenta(int t[], int&n)
{
int dif=0;
for(i=0;i<n;i++)
dif-=t[i];
cout<<"diferenta tabloului este "<<dif<<endl;
}
int tablou(int t[],int i, int a[], int y,int c[], int&z)
{
int w;
z=i+y;
for( w=0;w<i;w++)
c[w]=t[w];
for(int s=0;s<z;w++,s++)
c[w]=a[s];
}
int comun(int t[],int i,int a[],int y, int d[], int &h)
{
int w;
for( w=0;w<i;w++)
for(int j=0;j<y;j++)
if(t[w]==a[j]) d[h++]=t[w];
}
int main()
{
citire(A,n_A);
citire(B,n_B);
afisare(A,n_A);
afisare(B,n_B);
suma(A,n_A);
suma(B,n_B);
diferenta(A,n_A);
diferenta(B,n_B);
tablou(A,n_A,B,n_B,c,z);
afisare(c,z);
comun(A,n_A,B,n_B,d,h);
afisare(d,h);
return 0;
}
-113-
-114-
#include <iostream>
#include <iomanip>
int t[100][100], n,m,i,j;
using namespace std;
-116-
int main()
{
citire(t,n,m);
afisare(t,n,m);
maxim(t,n,m);
minim(t,n,m);
nrdemax(t,n,m);
nrdemin(t,n,m);
sumlinii(t,n,m);
sumcoloane(t,n,m);
sortare(t,n,m);
perimetru(t,n,m);
return 0;
}
-117-
Tema 8 Subprograme recursive.
#include <iostream>
#include <math.h>
using namespace std;
int p_a(int z)
{
if (z == 1)return 1;
else return 2 * z - 1 + p_a(z - 1);
}
int p_b(int z)
{
if (z == 1)return 1;
else return 2 * z + p_b(z - 1);
}
float p_e(int z)
{
if (z == 1)return 1;
else return 1.0 / (5 * z - 3) + p_e(z - 1);
}
int p_d(int z)
{
if (z == 1)return 1;
else return 4 * z - 3 + p_d(z - 1);
}
int p_c(int z)
{
if (z == 1)return 1;
else return 3 * z - 1 + p_c(z - 1);
}
float p_f(int z)
{
if (z == 1)return 1;
else return 1.0 / (5 * z - 2) + p_f(z - 1);
}
float p_g(int z)
{
if (z == -1)return -1;
-118-
else return (pow(-1, z) * (1 / pow(2, z))) + p_g(z - 1);
}
int main()
{
int a;
cout << "Introdu un numar: "; cin >> a;
cout << "1+3+5+...+2n-1 - " << p_a(a) << endl;
cout << "2+4+6+...+2n; - " << p_b(a) << endl;
cout << "2+5+8+...+3n-1 - " << p_c(a) << endl;
cout << "1+5+9+...+4n-3 - " << p_d(a) << endl;
cout << "1/2+1/7+1/12...+1/5n-3 - " << p_e(a) << endl;
cout << "1/3+1/8+1/13+...+1/5n-2 - " << p_f(a) << endl;
cout << "-1/2+1/4-1/8+1/16-...+(-1)^n*1/2^n - " << p_g(a) << endl;
}
#include <iostream>
using namespace std;
-119-
void citire(int t[], int n)
{
if (n == 1)
{
cin >> t[n - 1];
}
else
{
cin >> t[n - 1];
citire(t, n - 1);
}
}
void afisare(int t[], int n)
{
if (n == 1)
{
cout << " " << t[n - 1];
}
else
{
cout << " " << t[n - 1];
afisare(t, n - 1);
}
}
void afisare_inv(int t[], int n, int i)
{
if (n == 1)
{
cout << " " << t[i - n];
}
else
{
cout << " " << t[i - n];
afisare_inv(t, n - 1, i);
}
}
int suma(int t[], int n)
{
int s = 0;
if (n == 0) return s;
else
{
s += t[n - 1];
return s + suma(t, n - 1);
}
}
int suma_imp(int t[], int n)
{
int s = 0;
if (n == 0) return s;
else
-120-
{
if (t[n - 1] % 2 != 0)
{
s += t[n - 1];
}
return s + suma_imp(t, n - 1);
}
}
int suma_par(int t[], int n)
{
int s = 0;
if (n == 0) return s;
else
{
if (t[n - 1] % 2 == 0)
{
s += t[n - 1];
}
return s + suma_par(t, n - 1);
}
}
void e_par(int t[], int n)
{
if (n == 0)
{
if (t[n] % 2 == 0 && t[n] != 0)
{
cout << " " << t[n];
}
}
else
{
if (t[n-1] % 2 == 0 && t[n-1] != 0)
{
cout << " " << t[n - 1];
}
e_par(t, n - 1);
}
}
void e_imp(int t[], int n)
{
if (n == 0)
{
if (t[n] % 2 != 0)
{
cout << " " << t[n];
}
}
else
{
if (t[n] % 2 != 0)
-121-
{
cout << " " << t[n];
}
e_imp(t, n - 1);
}
}
void exista_n(int t[], int n, int k)
{
int i = 0;
if (n == 1 && i == 0) cout << "Nu exista";
else if (t[n - 1] == k)
{
cout << "Exista";
i = 1;
}
else if (t[n - 1] != k)
{
return exista_n(t, n - 1, k);
}
}
void exista_p(int t[], int n)
{
int i = 0;
if (n == 0 && i == 0) cout << "Nu exista";
else if (t[n] % 2 == 0)
{
cout << "Exista";
i = 1;
}
else if (t[n - 1] % 2 != 0)
{
return exista_p(t, n - 1);
}
}
int main()
{
int t[50], n, i, k;
cout << "n="; cin >> n;
i = n;
cout << "Introduceti elementele tabluilui: " << endl;
citire(t, n);
cout << "Elementele tabloului: " << endl; afisare(t, n); cout << endl;
cout << "Elementele tabloului invers: " << endl; afisare_inv(t, n, i); cout << endl;
cout << "Suma elementelor: " << suma(t, n);
cout << "\nSuma elementelor impare: " << suma_imp(t, n);
cout << "\nSuma elementelor pare: " << suma_par(t, n);
cout << "\nElementele pare: "; e_par(t, n);
cout << "\nElementele impare: "; e_imp(t, n);
cout << "\nIntroduceti un numar: "; cin >> k;
cout << "Exista in tablou numarul introdus: "; exista_n(t, n, k);
cout << "\nExista in tablou numere pare: "; exista_p(t, n);}
-122-
#include <iostream>
using namespace std;
int produs(int a, int b)
{
int prod = 0;
if (a == 0) return prod;
else
{
prod += b;
return prod + produs(a - 1, b);
}
}
int cat(int a, int b)
{
int k = 0;
if (a == 0 || a < b) return k;
else
{
k++;
return k + cat(a - b, b);
}
-123-
}
int rest(int a, int b)
{
if (a == 0 || a < b) return a;
else
{
return rest(a - b, b);
}
}
int main()
{
int a, b;
cout << "Introdu 2 numere intregi: "; cin >> a; cin >> b;
cout <<"Produs: " << produs(a, b) << endl;
cout <<"Cat: " << cat(a, b) << endl;
cout <<"Rest: " << rest(a, b);
}
-124-