Documente Academic
Documente Profesional
Documente Cultură
/
/ CMMMC
#include<iostream.h>
int a,b,x,y;
void main()
{
cin>>x>>y;
a=x; b=y;
while(x!=y)
if(x>y)
x=x-y;
else y=y-x;
cout<<"CMMC="<<(a*b)/x;}
CĂUTAREA BINARĂ cin>>a[i];
#include<iostream.h> }
#include<math.h> for(i=1;i<=n;i++)
int v[25]; {
int i,n,li,ls,mij,gasit,x; cout<<"b["<<i<<"]=";
void main() cin>>b[i];
{ }
cout<<"n="; //Interclasarea
cin>>n; i=1;
cout<<"Cauta elementul ="; j=1;
cin>>x; k=0;
for(i=1;i<=n;i++) while((i<=m)&&(j<=n))
{cout<<"v["<<i<<"]="; cin>>v[i];} {if(a[i]<b[j])
for(i=1;i<=n;i++) {
cout<<v[i]<<" "; k++;
cout<<endl; c[k]=a[i]; // adaug la sirul c un element din a
li=1; //limita inferioara i++;
ls=n; //limita superioara }else {
gasit=0; k++;
// Cautarea binara are loc numai in cazul in care c[k]=b[j];
tabloul este ordonat crescator j++;
while((li<=ls)&&(!gasit)) }}
{ // Adaugam elementele ramase neparcurse
mij=floor((li+ls)/2); //aflam indicele care reprezinta if(i<=m)
mijlocul tabloului. {
if(x==v[mij]) while(i<=m)
{ {
cout<<"L-am gasit pe pozitia "<<mij; k++;
gasit=1; c[k]=a[i]; // copiez la sfarsitul sirului c elementele
} ramase din a
else if(x>v[mij]) // Cautare se face in dreapta i++;
li=mij+1; // Actualizare li }
else ls=mij-1; // Cautarea se face in stanga }
} if(j<=n)
if(gasit==0) {
cout<<x<<"Elementul cautat nu se gaseste in tablou"; while(j<=n)
} {
k++;
INTERCLASAREA A DOI VECTORI c[k]=b[j]; // copiez la sfarsitul sirului c elementele
// Interclasarea a doua tablouri unidimensionala in C+ ramase din b
+ j++;
#include<iostream.h> }
int a[25],b[25],c[50]; }
int n,m,i,j,k; //Afisez vectorul interclasat
void main(void) for(i=1;i<=k;i++) // sirul c are lungimea k=m+n
{ cout<<c[i]<<" ";
cout<<"Introduceti lungimile celor 2 vectori a si b= "; }
cin>>m>>n;
//Cititi elementele celor 2 vectori ordonati crescatori
for(i=1;i<=m;i++)
{
cout<<"a["<<i<<"]=";
SORTARE
#include<iostream.h>
int v[25];
int i, n, ok, aux;
void main()
{
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i];
}
for(i=1;i<=n;i++)
cout<<v[i]<<" ";
//Sortarea crescatoare
do
{
ok=1;
for(i=1;i<=n-1;i++)
if(v[i]>v[i+1])
{
//Interschimbare
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
ok=0;
}
}while(ok!=1);
cout<<endl;
for(i=1;i<=n;i++)
cout<<v[i]<<" ";
}