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

descompunerea in factori primi

//descompunerea in factori primi

#include<iostream.h>
#include<conio.h>
int main()
{int n,p,d=2;
cout<<"n= ";cin>>n;
while(n!=1)
{p=0;
while(n%d==0)
{p++;
n=n/d;}
if(p!=0)
{cout<<d<<"^"<<p<<"*";}
d++;
}
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

Numar_prim

// determinarea unui numar prim
#include<iostream.h>
#include<conio.h>
int main()
{int n,i,prim=1;
cout<<"n= ";cin>>n;
for(i=2;i<=n/2;i++) // sau for(i=2;i<n;i++)
{if(n%i==0)
prim=0;}
if(prim==0)
cout<<"numarul "<<n<<" nu este prim";
else
cout<<"numarul "<<n<<" este prim";
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

regina

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

int x[100],n,nrsol;

void scriesol ()
{ int i,j;
nrsol++;
cout<<endl<<"Solutia a "<<nrsol<<" este";
for(i=1;i<=n;i++)
{ cout<<endl;
for(j=1;j<=n;j++)
if (x[j]==i) cout<<"X ";
else cout<<"O ";
}
}

int potcont(int k)
{ int  i;
for(i=1;i<=k-1;i++)
if (x[i]==x[k] || k-i==abs(x[k]-x[i])) return 0;
return 1;
}

void back(int k)
{
int i;
for(i=1;i<=n;i++)
{
x[k]=i;
if (potcont(k))
if (k==n) scriesol();
else back(k+1);
}
}

int main()
{
cout<<"n= ";cin>>n;
nrsol=0;
back(1);
cout<<endl<<nrsol<<" solutii";

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

EX.1

/*1.Scrieti un program C/C++ care citeste de la tastatura un numar natural n
(2<n<21) si apoi n linii cu cate n numere întregi de cel mult 7 cifre ce
formeaza un tablou bidimensional a. Sa se afiseze pe ecran diferenta dintre
suma elementelor de pe diagonala principala si suma elementelor de pe diagonala
secundara a matricei a.*/

#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
int main()
{int n,a[20][20],i,j,s1=0,s2=0,d;
cout<<"n= ";cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{cout<<"a["<<i<<"]["<<j<<"]= ";cin>>a[i][j];}
cout<<endl<<"Matricea a[i][j] este: "<<endl;
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
cout<<setw(4)<<a[i][j];
cout<<endl;}
cout<<endl<<endl<<"Elementele de pe diagonala principala sunt: "<<endl;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==j)
{cout<<a[i][j]<<" ";
s1=s1+a[i][j];}
cout<<endl<<endl<<"Suma elementelor de pe diagonala principala este: "<<s1;
cout<<endl<<endl<<"Elementele de pe diagonala secundara sunt: "<<endl;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==n-j+1)
{cout<<a[i][j]<<" ";
s2=s2+a[i][j];}
cout<<endl<<endl<<"Suma elementelor de pe diagonala secundara este: "<<s2;
d=s1-s2;
cout<<endl<<endl<<"Diferenta celor doua sume este: "<<d;
getche();
}

EX.2

/*Scrieti programul C/C++ care citeste de la tastatura un numar natural n (n<100)
 si un sir cu n numere întregi din intervalul [100 ;999] ; programul construieste
 un sir de numere rezultat prin înlocuirea fiecarui numar din ?irul citit cu
 numarul obtinut prin interschimbarea cifrei unitatilor cu cifra sutelor.
 Numerele din noul sir se vor afisa pe ecran separate printr-un singur spatiu.
 De exemplu , pentru n=3 si sirul 123 , 904 , 500 , se afi?eaz? 321 , 409 , 5.*/

 #include<iostream.h>
 #include<conio.h>
 int main()
 {int n,x[100],i,c1,c2;
 cout<<"n= ";cin>>n;
 for(i=1;i<=n;i++)
 {cout<<"x["<<i<<"]= ";cin>>x[i];}
 cout<<endl<<"Sirul initial este: "<<endl;
 for(i=1;i<=n;i++)
 cout<<x[i]<<" ";
 cout<<endl<<endl;
 for(i=1;i<=n;i++)
 {c1=x[i]%10;
 x[i]=x[i]/10;
  c2=x[i]/10;
 x[i]=x[i]%10;
 x[i]=c1*100+x[i]*10+c2;                
                  }
 cout<<"Sirul nou format este: "<<endl;
 for(i=1;i<=n;i++)
 cout<<x[i]<<" ";
 getche();
}                

EX.3

/*Doua tablouri unidimensionale a si b , cu elementele a1 , a2 , … , an ,
respectiv b1 , b2 , … bn sunt in rela?ia a<=b daca : a1<=b1 , a2<=b2 , … , an<=bn.
 Scrie?i program in limbajul C/C++ care cite?te doua tablouri unidimensionale
 a si b cu acela?i num?r de elemente de tip întreg si verifica daca a<=b sau
 b<=a afi?ând un mesaj adecvat.*/

 #include<iostream.h>
 #include<conio.h>
 int main()
 {int n,a[100],b[100],i,nr=0;
 cout<<"n= ";cin>>n;
 for(i=1;i<=n;i++)
 {cout<<"a["<<i<<"]= ";cin>>a[i];}
 cout<<endl;
 for(i=1;i<=n;i++)
 {cout<<"b["<<i<<"]= ";cin>>b[i];}
 for(i=1;i<=n;i++)
 {if(a[i]<=b[i])
 {nr++;}}
 if(nr==n)
 cout<<endl<<"sirul a[i]<=b[i]"<<endl;
 else
 {nr=0;
  for(i=1;i<=n;i++)
 {if(b[i]<=a[i])
 {nr++;}}
 if(nr==n)
 cout<<"sirul b[i]<=a[i]"<<endl;  
 else
 cout<<endl<<"a[i]!=b[i]" ;
 }
 getche();
 
     }

Backtracking

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

 fstream f1("sir2.txt",ios::in);
 fstream f2("solutie.txt",ios::out);

 int k,n,x[20],a[20],i,nr=0;
 
 int tipar(int k)
 { for(i=1;i<=k;i++)
 {f2<<x[i];}
 f2<<endl;
 nr++;
}

int back(int k)
{for(int i=1;i<=n;i++)
{x[k]=a[i];
if(k==n)
tipar(k);
else
back(k+1);
    }
}

int citire()
{f1>>n;
for(i=1;i<=n;i++)
f1>>a[i];
    }

int main()
{citire();
    back(1);
f2<<endl<<"numarul de solutii este: "<<nr;
getche;

marți, 13 noiembrie 2012

citirea si afisarea unei matrici

Citirea si afisarea unei matrici

/*programul foloseste fisiere(vezi varianta fara fisiere mai jos)*/
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<iomanip.h>

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

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

/*mai jos se face citirea matricei din fisierul f1(matrice.txt)*/
f1>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
f1>>x[i][j];

/*mai jos se face afisarea matricei in fisierul f2(rezolvare.txt)
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;}

getche();
}

---------------------------------------------------------
//varianta fara fisiere
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<iomanip.h>

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

cout<<"n= ";cin>>n;
cout<<"m= ";cin>>m;
 

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

{cout<<"x["<<i<<"]["<<j<<"]= ";cin>>x[i][j];}
 

cout<<"Matricea este:"<<endl<<endl;
for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)

cout<<setw(4)<<x[i][j];
cout<<endl;}
getche();
}


/*program realizat in DevC++ / pt Microsoft studio visual c++ trebuie schimbata functia principala "int main()" in "void main()" si trebuie stearsa functia "gerche();" de la sfarsitul programului.*/

sâmbătă, 10 noiembrie 2012

patrat perfect

//patrat perfect

#include<iostream.h>
#include<math.h>
#include<conio.h>
int main()
{int n,c;
cout<<"n= ";cin>>n;
c=sqrt (n);
if(n/c==c)
cout<<"Numarul este patrat perfect.";
else
cout<<"Numarul nu este patrat perfect.";
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

duminică, 28 octombrie 2012

Parcurgerea matricei sub diagonala secundara

/*
Parcurgerea matricei sub diagonala secundara folosind fisiere
*
/

#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<iomanip.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 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"

Parcurgerea matricei deasupra diagonalei secundare

/*
Parcurgerea deasupra diagonalei secundare folosind fisiere
*/

#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 deasupra diagonalei secundare sunt:"<<endl<<endl;
for(i=1;i<=n-1;i++)
for(j=1;j<=n-i;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"

Parcurgerea matricei pe diagonala secundara

/*
Parcurgerea matricei pe diagonala secundara
*/

#include<iomanip.h>
#include<conio.h>
#include<fstream.h>
#include<iostream.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<<"Matrice 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 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]<<" ";

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")

Parcurgerea matricei sub diagonala principala

/*
Parcurgerea matricei sub diagonala principala folosind fisiere
*/


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

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

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 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]<<" ";

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")

Parcurgerea matricei deasupra diagonalei principale

/*
Parcurgerea matricei deasupra diagonalei principale
*/


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

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

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<<"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]<<" ";

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")

Parcurgerea unei matrici pe diagonala principala

//Parcurgerea unei matrici pe diagonala principala folosind fisiere

#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]<<" ";

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")