marți, 4 decembrie 2012

Turnurile din Hanoi

//Turnurile din Hanoi


#include<iostream.h>
#include<conio.h>

long double nr;

int hanoi(int n, int a,int b, int  c)
{if(n)
   {hanoi(n-1,a,c,b);
     cout<<a<<"->"<<b<<endl;
     nr++;
     hanoi(n-1,c,b,a);}
}

int main ()
{int n;
cout<<"n= ";cin>>n;
//n este numarul de piese;
hanoi(n,1,2,3);
cout<<"numarul total de mutari a fost "<<nr;
getche();}

Aria unui triunghi

//Aria unui triunghi
#include<iostream.h>
#include<conio.h>
#include<math.h>

int main()
{float a,b,c,p,A;

cout<<"a= ";cin>>a;
cout<<"b= ";cin>>b;
cout<<"c= ";cin>>c;
if((a+b>c)&&(a+c>b)&&(c+b>a))
{p=(a+b+c)/2;
A=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<"Aria este: "<<A;
}
else
cout<<"Triunghiul nu poate fi format cu laturile a,b,c.";

getche();
}

ASCII

//ASCII
#include<iostream.h>
#include<string.h>
#include<conio.h>
#include<iomanip.h>
int main()
{char i;
int j;
cout<<"Codul ASCII al literelor mari este"<<endl;
for(i='A';i<='Z';i++)
for(j='A';j<='Z';j++)
if(i==j)
cout<<i<<setw(4)<<j<<endl;
cout<<"Codul ASCII al literelor mici este"<<endl;
for(i='a';i<='z';i++)
for(j='a';j<='z';j++)
if(i==j)
cout<<i<<setw(4)<<j<<endl;
getche();}

Ecuatia de gradul 2

//ecuatia de gradul 2
#include<conio.h>
#include<iostream.h>
#include<math.h>
int main()
{float a,b,c,d,X1,X2;
cout<<"aX^2+bX+c=0"<<endl;
cout<<"Introduceti valori lui a,b si c: "<<endl;
cout<<"a= ";cin>>a;
cout<<"b= ";cin>>b;
cout<<"c= ";cin>>c;
d=pow(b,2)-4*a*c;
if(d>=0)
{X1=(-b+sqrt(d))/2*a;
X2=(-b-sqrt(d))/2*a;
cout<<"X1= "<<X1<<endl<<"X2= "<<X2;
}
else
{cout<<"X1="<<-b/2*a<<"+i"<<sqrt(d)/2*a<<endl;
cout<<"X2="<<-b/2*a<<"-i"<<sqrt(d)/2*a<<endl;
cout<<"X1 , X2 APARTINE LUI C(numere complexe)";
}
getche();
}

Sir caractere - transformare litere

//litere mari-> mici
#include<iostream.h>
#include<conio.h>
#include<string.h>
int main()
{char sir[100];
cout<<"Introduceti sirul: "<<endl;
cin.get(sir,100);
strlwr(sir);
cout<<sir;
getche();}


//litere mici->mari
#include<iostream.h>
#include<conio.h>
#include<string.h>
int main()
{char sir[100];
cout<<"Introduceti sirul: "<<endl;
cin.get(sir,100);
strupr(sir);
cout<<sir;
getche();}

maximul si minimul ce se pot forma din cifrele unui numar

//minimul si maximul ce se pot forma din cifrele unui numar
//OBS:numarul nu trebuie sa contina cifra 0
#include<iostream.h>
#include<conio.h>
int main()
{long  n,aux;
int x[100],nr=0,i=1,terminat=0,c;

cout<<"n= ";cin>>n;
while(n!=0)
{x[i]=n%10;
n=n/10;
i++;
nr++;
}
while(!terminat)
{terminat=1;
for(i=1;i<nr;i++)
{if(x[i]>x[i+1])
{aux=x[i];x[i]=x[i+1];x[i+1]=aux;terminat=0;}}
}
n=0;
for(i=1;i<=nr;i++)
n=n*10+x[i];
cout<<"Numarul minim care se poate forma din cifrele lui n este: "<<n<<endl;
aux=0;
while(n!=0)
{c=n%10;
aux=aux*10+c;
n=n/10;}
cout<<"Numarul maxim care se poate forma din cifrele lui n este: "<<aux;
getche();}

sâmbătă, 24 noiembrie 2012

Suma elementelor sub diagonala secundara

/*
Suma elementelor sub diagonala secundara
*
/

#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<iomanip.h>

int main()
{int x[100][100],i,j,n,s=0;

fstream f1("matrice.txt" ,ios::in);
fstream f2("rezolvare.txt" ,ios::out);

f1>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
f1>>x[i][j];

f2<<"Matricea este:"<<endl<<endl;
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
f2<<setw(4)<<x[i][j];
f2<<endl;}

for(i=2;i<=n;i++)
for(j=n+2-i;j<=n;j++)

s=s+x[i][j];
f2<<endl<<"Suma elementelor sub diagonala secundara este: "<<s;
 
getche();
}



//Programul este realizat in DevC++ 4.9.9.2
//Pentru realizarea programului in visual studio c++ este nevoie de inlocuirea functiei principale int main() in void main() , iar functia getche() de la sfarsitul programului trebuie stearsa . :D

P.S. Programul foloseste fisiere asa ca este nevoie de crearea unei matrici intr-un fisier txt .(conform programului fisierul txt trebuie denumit "matrice"

Suma elementelor deasupra diagonalei secundare

/*
Suma elementelor deasupra diagonalei secundare
*/

#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#include<fstream.h>

int main()
{int x[100][100],i,j,n,s=0;

fstream f1("matrice.txt" ,ios::in);
fstream f2("rezolvare.txt" ,ios::out);

f1>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
f1>>x[i][j];

f2<<"Matricea este:"<<endl<<endl;
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
f2<<setw(4)<<x[i][j];
f2<<endl;}


for(i=1;i<=n-1;i++)
for(j=1;j<=n-i;j++)

s=s+x[i][j];
f2<<endl<<"Suma elementelor deasupra diagonalei secundare este: "<<s;

getche();
}


//Programul este realizat in DevC++ 4.9.9.2
//Pentru realizarea programului in visual studio c++ este nevoie de inlocuirea functiei principale int main() in void main() , iar functia getche() de la sfarsitul programului trebuie stearsa . :D

P.S. Programul foloseste fisiere asa ca este nevoie de crearea unei matrici intr-un fisier txt .(conform programului fisierul txt trebuie denumit "matrice"

Suma elementelor de pe diagonala secundara

/*
Suma elementelor de pe diagonala secundara
*/

#include<iomanip.h>
#include<conio.h>
#include<fstream.h>
#include<iostream.h>

int main()
{int x[100][100],i,j,n,s=0;

fstream f1("matrice.txt" ,ios::in);
fstream f2("rezolvare.txt" ,ios::out);

f1>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
f1>>x[i][j];

f2<<"Matrice este:"<<endl<<endl;
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
f2<<setw(4)<<x[i][j];
f2<<endl;}

for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==n-j+1)
s=s+x[i][j];

f2<<endl<<"Suma elementelor de pe diagonala secundara este: "<<s;

getche();
}


//Programul este realizat in DevC++ 4.9.9.2
//Pentru realizarea programului in visual studio c++ este nevoie de inlocuirea functiei principale int main() in void main() , iar functia getche() de la sfarsitul programului trebuie stearsa . :D

P.S. Programul foloseste fisiere asa ca este nevoie de crearea unei matrici intr-un fisier txt .(conform programului fisierul txt trebuie denumit "matrice")

Suma elementelor sub diagonala principala

/*
Suma elementelor sub diagonala principala
*/


#include<conio.h>
#include<iomanip.h>
#include<iostream.h>
#include<fstream.h>

int main()
{int x[100][100],n,i,j,s=0;

fstream f1("matrice.txt" ,ios::in);
fstream f2("rezolvare.txt" ,ios::out);

f1>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
f1>>x[i][j];

f2<<"Matricea este:"<<endl<<endl;
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
f2<<setw(4)<<x[i][j];
f2<<endl;}

for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i>j)

s=s+x[i][j];
f2<<endl<<"Suma elementelor sub diagonala principala este: "<<s;
getche();
}



//Programul este realizat in DevC++ 4.9.9.2
//Pentru realizarea programului in visual studio c++ este nevoie de inlocuirea functiei principale int main() in void main() , iar functia getche() de la sfarsitul programului trebuie stearsa . :D

P.S. Programul foloseste fisiere asa ca este nevoie de crearea unei matrici intr-un fisier txt .(conform programului fisierul txt trebuie denumit "matrice")

Suma elementelor deasupra diagonalei principale

/*
Suma elementelor deasupra diagonalei principale
*/


#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#include<fstream.h>

int main()
{int x[100][100],n,i,j,s=0;

fstream f1("matrice.txt" ,ios::in);
fstream f2("rezolvare.txt" ,ios::out);

f1>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
f1>>x[i][j];

f2<<"Matricea este:"<<endl<<endl;
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
f2<<setw(4)<<x[i][j];
f2<<endl;}

for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i<j)

s=s+x[i][j];

f2<<"Suma elementelor deasupra diagonalei principale este: "<<s;

getche();
}



//Programul este realizat in DevC++ 4.9.9.2
//Pentru realizarea programului in visual studio c++ este nevoie de inlocuirea functiei principale int main() in void main() , iar functia getche() de la sfarsitul programului trebuie stearsa . :D

P.S. Programul foloseste fisiere asa ca este nevoie de crearea unei matrici intr-un fisier txt .(conform programului fisierul txt trebuie denumit "matrice")

Suma elementelor de pe diagonala principala

//Suma elementelor de pe diagonala principala

#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#include<fstream.h>

int main()
{int x[100][100],i,j,n,s=0;

fstream f1("matrice.txt" ,ios::in);
fstream f2("rezolvare.txt" ,ios::out);

f1>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
f1>>x[i][j];

f2<<"Matricea este:"<<endl<<endl;
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
f2<<setw(4)<<x[i][j];
f2<<endl;}

for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==j)
s=s+x[i][j];


f2<<endl<<"Suma elementelor de pe diagonala principala este: "<<s;

getche() ;
}


//Programul este realizat in DevC++ 4.9.9.2
//Pentru realizarea programului in visual studio c++ este nevoie de inlocuirea functiei principale int main() in void main() , iar functia getche() de la sfarsitul programului trebuie stearsa . :D

P.S. Programul foloseste fisiere asa ca este nevoie de crearea unei matrici intr-un fisier txt .(conform programului fisierul txt trebuie denumit "matrice")

Suma elementelor unei matrici

/*
suma elementelor dintr-o matrice
*/

#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#include<fstream.h>

int main()
{int x[100][100],n,i,j,s=0;

fstream f1("matrice.txt" ,ios::in);
fstream f2("rezolvare.txt" ,ios::out);

f1>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
f1>>x[i][j];

f2<<"Matricea este:"<<endl<<endl;
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
f2<<setw(4)<<x[i][j];
f2<<endl;}

for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
s=s+x[i][j];
f2<<endl<<"Suma elementelor este: "<<s;

getche();
}

vineri, 16 noiembrie 2012

Parcurgeri matrici(6 parcurgeri)

//cele 6 parcurgeri a unei matrici

#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#include<fstream.h>

int main()
{int x[100][100],i,j,n;

fstream f1("matrice.txt" ,ios::in);
fstream f2("rezolvare.txt" ,ios::out);

f1>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
f1>>x[i][j];

f2<<"Matricea este:"<<endl<<endl;
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
f2<<setw(4)<<x[i][j];
f2<<endl;}

f2<<endl<<"Elementele de pe diagonala principala sunt:"<<endl<<endl;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==j)
f2<<x[i][j]<<" ";

f2<<endl<<"Parcurgerea matricei deasupra diagonalei principale:"<<endl<<endl;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i<j)
f2<<x[i][j]<<" ";

f2<<endl<<"Elementele de sub diagonala principala sunt:"<<endl<<endl;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i>j)
f2<<x[i][j]<<" ";

f2<<endl<<"Elementele de pe diagonala secundara sunt:"<<endl<<endl;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==n-j+1)
f2<<x[i][j]<<" ";

f2<<endl<<"Elementele deasupra diagonalei secundare sunt:"<<endl<<endl;
for(i=1;i<=n-1;i++)
for(j=1;j<=n-i;j++)
f2<<x[i][j]<<" ";

f2<<endl<<"Elementele sub diagonala secundara:" <<endl<<endl;
for(i=2;i<=n;i++)
for(j=n+2-i;j<=n;j++)
f2<<x[i][j]<<" ";

getche();
}

//Programul este realizat in DevC++ 4.9.9.2
//Pentru realizarea programului in visual studio c++ este nevoie de inlocuirea functiei principale int main() in void main() , iar functia getche() de la sfarsitul programului trebuie stearsa . :D

P.S. Programul foloseste fisiere asa ca este nevoie de crearea unei matrici intr-un fisier txt .(conform programului fisierul txt trebuie denumit "matrice")

Metoda bulelor

// sortarea unui vector (metoda bulelor)

#include<iostream.h>
#include<conio.h>

int main()
{int x[100],i,aux,n,terminat=0;
   cout<<"n= ";cin>>n;
   cout<<"Introduceti valori elementelor vectorului: "<<endl;
   for(i=1;i<=n;i++)
   {cout<<"x["<<i<<"]=";cin>>x[i];}
   cout<<endl<<endl<<"Vectorul este: "<<endl;
   for(i=1;i<=n;i++)
   cout<<x[i]<<" ";
  
   //sortarea se face in modul urmator
  
   while(!terminat)
   {terminat=1;
   for(i=1;i<n;i++)
   if(x[i]>x[i+1])
   {aux=x[i];
   x[i]=x[i+1];
   x[i+1]=aux;
   terminat=0;}
   }
  
   //afisarea vectorului sortat
   cout<<endl<<endl<<"Vectorul sortat este: "<<endl;
   for(i=1;i<=n;i++)
   cout<<x[i]<<" ";
  
   getche();
    }

//Programul este realizat in DevC++ 4.9.9.2
//Pentru realizarea programului in visual studio c++ este nevoie de inlocuirea functiei principale int main() in void main() , iar functia getche() de la sfarsitul programului trebuie stearsa . :D

Aflarea numarului de cifre a unui numar

//Aflarea numarului de cifre a unui numar
#include<iostream.h>
#include<conio.h>
int main()
{int n,nr=0;
cout<<"n= ";cin>>n;
while(n!=0)
{nr++;
n=n/10;}
cout<<"numar de cifre: "<<nr;
getche();
}


//Programul este realizat in DevC++ 4.9.9.2
//Pentru realizarea programului in visual studio c++ este nevoie de inlocuirea functiei principale int main() cu void main() , iar functia getche() de la sfarsitul programului trebuie stearsa . :D

Algoritm de separare a cifrelor unui numar

// Algoritm de separare a cifrelor unui numar
#include<iostream.h>
#include<conio.h>
int main()
{int c;
long n;
cout<<"n= ";cin>>n;
while(n!=0)
{c=n%10;
n=n/10;
cout<<c<<" ";}
getche();
}

//Programul este realizat in DevC++ 4.9.9.2
//Pentru realizarea programului in visual studio c++ este nevoie de inlocuirea functiei principale int main() cu void main() , iar functia getche() de la sfarsitul programului trebuie stearsa . :D

Cautare secventiala

 // Cautarea secventiala a unui numar
#include<iostream.h>
#include<conio.h>
int main()
{int x[100],n,a,i,gasit=0;
cout<<"n= ";cin>>n;
for(i=1;i<=n;i++)
{cout<<"x["<<i<<"]= ";cin>>x[i];}
cout<<endl<<"a= ";cin>>a;
for(i=1;i<=n;i++)
{if(a==x[i])
gasit=1;}
if(gasit==1)
cout<<"Numarul "<<a<<" se gaseste in sir.";
else
cout<<"Numarul "<<a<<" nu se gaseste in sir.";
getche();
}


//Programul este realizat in DevC++ 4.9.9.2
//Pentru realizarea programului in visual studio c++ este nevoie de inlocuirea functiei principale int main() cu void main() , iar functia getche() de la sfarsitul programului trebuie stearsa . :D

cmmdc- Algoritmul lui Euclid

//cmmdc(cel mai mare divizor comun)
//Algoritmul lui Euclid

#include<iostream.h>
#include<conio.h>
int main()
{ int x,y,aux,r=1,cmmdc;
cout<<"x= ";cin>>x;
cout<<"y= ";cin>>y;
if(x<y)
{aux=x;
x=y;
y=aux;}
 while(r!=0)
{r=x%y;
x=y;
y=r;} 
cmmdc=x;
cout<<"cel mai mare divizor comun este: "<<cmmdc;
getche();
}

//Programul este realizat in DevC++ 4.9.9.2
//Pentru realizarea programului in visual studio c++ este nevoie de inlocuirea functiei principale int main() cu void main() , iar functia getche() de la sfarsitul programului trebuie stearsa . :D
            

cmmdc (varianta prin scaderi repetate)

//cmmdc (varianta prin scaderi repetate)
#include<iostream.h>
#include<conio.h>
int main()
{int a,b;
cout<<"a= ";cin>>a;
cout<<"b= ";cin>>b;
while(a!=b)
{if(a>b)
a=a-b;
   else
b=b-a;}
cout<<"Cel mai mare divizor comun este: "<<a;
getche();
    }



//Programul este realizat in DevC++ 4.9.9.2
//Pentru realizarea programului in visual studio c++ este nevoie de inlocuirea functiei principale int main() cu void main() , iar functia getche() de la sfarsitul programului trebuie stearsa . :D