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();}