SlideShare a Scribd company logo
1 of 3
Download to read offline
#include <iostream>
#include <ctime>

using namespace std;

int inicial (int o[], int c);
void llenar (int b[10]);
void menu();
void mostrar(int x[10]);
void copia(int n[10], int m[10]);
void burbuja(int k[10]);
void seleccion(int k[10]);
void insercion(int k[10]);
void intercambio(int b[],int x, int y);
void quicksort(int b[],int inf, int sup);

int main(){
      system("cls");
      int c[10], cop[10],z;
      cout << "METODOS DE ORDENAMIENTO"<<endl;
      llenar(c);
      menu();
      cin>>z;

     switch(z){
           case 1:
                 cout<<"el ordenamiento por burbuja paso a paso es:"<<endl;
                 copia(c,cop);
                 burbuja(cop);
                 break;
           case 2:
                 cout<<"el ordenamiento por seleccion paso a paso es: "<<endl;
                 copia(c,cop);
                 seleccion(cop);
                 break;
           case 3:
                 cout<<"El ordenamiento por insercion paso a paso es: "<<endl;
                 copia(c,cop);
                 insercion(cop);
                 break;
           case 4:
                 cout<<"El ordenamiento por Quick Sort paso a paso es: "<<endl;
                 copia(c,cop);
                 quicksort(cop,0,9);
                 break;
           default:
                 cout<<"Opcion no valida"<<endl;
                 break;
     }
     system("pause");
     return 0;
}

void llenar(int b[10]){
      int num;
      rand();
      for (int i=0;i<10;i++){
            num=rand()%100;
            if(i>0){
                  for(int j=0;j<i;j++)
                        if(num==b[j]){
                              num=rand()%100;
                              j=-1;
                        }
}
           b[i]=num;
     }
}

void menu(){
      cout<<"INGRESE SU OPCION SEGUN EL METODO DE ORDENAMIENTO DESDEADO:"<<endl;
      cout<<"1 - BURBUJA"<<endl;
      cout<<"2 - SELECCION"<<endl;
      cout<<"3 - INSERCION"<<endl;
      cout<<"4 - QUICK SORT"<<endl;
}

void mostrar(int x[]){
      for(int h=0;h<10;h++)
            cout<<x[h]<<"t";
      cout<<endl;
}

void copia(int n[10], int m[10]){
      for(int h=0;h<10;h++) m[h]=n[h];
}
void burbuja(int k[10]){
      int b;
      for(int x=0;x<10;x++){
            for(int y=0;y<9;y++){
                  if(k[y]>k[y+1]){
                        b=k[y];
                        k[y]=k[y+1];
                        k[y+1]=b;
                  }
            }
      mostrar(k);
      }
}

int inicial(int o[], int c){
      int p=c;
      int d=o[c];
      for(int h=c;h<10;h++){
            if(o[h]<d){
                  d=o[h];
                  p=h;
            }
      }
      return p;
}

void seleccion(int k[10]){
      int m,pos_m;
      for(int l=0;l<9;l++){
            pos_m = inicial(k,l);
            if(k[l]<k[pos_m]){
                  m=k[l];
                  k[l]=k[pos_m];
                  k[pos_m]=m;
            }
      mostrar(k);
      }
}

void insercion(int k[10]){
      int m, pos_m;
for(int l=0;l<9;l++){
           pos_m=inicial(k,l);
           if(k[l]>k[pos_m]){
                 m=k[pos_m];
                 for(int g=pos_m-1;g>=1;g--){
                       k[g+1]=k[g];
                 }
                 k[l]=m;
           }
           mostrar(k);
     }
}

void intercambio(int b[],int x, int y){
      int temp;
      temp=b[x];
      b[x]=b[y];
      b[y] = temp;
}


void quicksort(int b[], int inf, int sup){
      int i,j,div;
      i=inf;
      j=sup-1;
      div=b[sup];
      while(i<=j){
            if(b[i]>div && b[j]<div){
                  intercambio(b,i,j);
            }else{
                  if(b[i]<=div) i++;
                  if(b[j]<=div) j--;
            }
      }
      intercambio(b,i,sup);
      mostrar(b);
      if(inf<i-1)quicksort(b,inf,i-1);
      if(i+1<sup)quicksort(b,i+1,sup);
}

More Related Content

What's hot

What's hot (20)

Zadatak
ZadatakZadatak
Zadatak
 
Programacion
ProgramacionProgramacion
Programacion
 
Como crear una matriz de 3x3 con c++ con menu
Como crear una matriz de 3x3 con c++ con menu Como crear una matriz de 3x3 con c++ con menu
Como crear una matriz de 3x3 con c++ con menu
 
Bcsl 033 data and file structures lab s1-2
Bcsl 033 data and file structures lab s1-2Bcsl 033 data and file structures lab s1-2
Bcsl 033 data and file structures lab s1-2
 
Passato
PassatoPassato
Passato
 
Fcfs Cpu Scheduling With Gantt Chart
Fcfs Cpu Scheduling With Gantt ChartFcfs Cpu Scheduling With Gantt Chart
Fcfs Cpu Scheduling With Gantt Chart
 
Los fantastico
Los fantasticoLos fantastico
Los fantastico
 
Kelompok 2.6
Kelompok 2.6Kelompok 2.6
Kelompok 2.6
 
Rafael torrest
Rafael torrestRafael torrest
Rafael torrest
 
C Program : Sorting : Bubble,
C Program : Sorting : Bubble, C Program : Sorting : Bubble,
C Program : Sorting : Bubble,
 
Luis cuñas programacion
Luis cuñas programacionLuis cuñas programacion
Luis cuñas programacion
 
Absolute Loader
Absolute LoaderAbsolute Loader
Absolute Loader
 
c ++ informe Nº5 ucsm
c ++ informe Nº5 ucsmc ++ informe Nº5 ucsm
c ++ informe Nº5 ucsm
 
Kruskal algorithm
Kruskal algorithmKruskal algorithm
Kruskal algorithm
 
Kelompok 2.6
Kelompok 2.6Kelompok 2.6
Kelompok 2.6
 
Kasus 3.3 akar
Kasus 3.3 akarKasus 3.3 akar
Kasus 3.3 akar
 
Sujet bac info 2012 g1, g2 et g3 avec correction
Sujet bac info 2012 g1, g2 et g3 avec correctionSujet bac info 2012 g1, g2 et g3 avec correction
Sujet bac info 2012 g1, g2 et g3 avec correction
 
python-geohex
python-geohexpython-geohex
python-geohex
 
Kelompok 2.5
Kelompok 2.5Kelompok 2.5
Kelompok 2.5
 
Corridas
CorridasCorridas
Corridas
 

Viewers also liked

1111 13.紅海潛水艇觀海底世界.胡加達城市自由活動
1111 13.紅海潛水艇觀海底世界.胡加達城市自由活動1111 13.紅海潛水艇觀海底世界.胡加達城市自由活動
1111 13.紅海潛水艇觀海底世界.胡加達城市自由活動溫秀嬌
 
Slidecast FABIAN HERNANDEZ MATIZ
Slidecast FABIAN HERNANDEZ MATIZSlidecast FABIAN HERNANDEZ MATIZ
Slidecast FABIAN HERNANDEZ MATIZfabianhernandez1030
 
JSTOR & Aaron Swartz
JSTOR & Aaron SwartzJSTOR & Aaron Swartz
JSTOR & Aaron SwartzZoe Fisher
 
Medicina alternativa y complementariaclases2013
Medicina alternativa y complementariaclases2013Medicina alternativa y complementariaclases2013
Medicina alternativa y complementariaclases2013cmazariegos56
 

Viewers also liked (8)

Sin título 2
Sin título 2Sin título 2
Sin título 2
 
Play station 4
Play station 4Play station 4
Play station 4
 
1111 13.紅海潛水艇觀海底世界.胡加達城市自由活動
1111 13.紅海潛水艇觀海底世界.胡加達城市自由活動1111 13.紅海潛水艇觀海底世界.胡加達城市自由活動
1111 13.紅海潛水艇觀海底世界.胡加達城市自由活動
 
Slidecast FABIAN HERNANDEZ MATIZ
Slidecast FABIAN HERNANDEZ MATIZSlidecast FABIAN HERNANDEZ MATIZ
Slidecast FABIAN HERNANDEZ MATIZ
 
Chorei ao ver isso
Chorei ao ver issoChorei ao ver isso
Chorei ao ver isso
 
JSTOR & Aaron Swartz
JSTOR & Aaron SwartzJSTOR & Aaron Swartz
JSTOR & Aaron Swartz
 
Medicina alternativa y complementariaclases2013
Medicina alternativa y complementariaclases2013Medicina alternativa y complementariaclases2013
Medicina alternativa y complementariaclases2013
 
Actividad económica
Actividad económicaActividad económica
Actividad económica
 

More from UVM

Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programaciónUVM
 
Portafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaPortafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaUVM
 
Eficiencia en uso tiempo
Eficiencia en uso  tiempoEficiencia en uso  tiempo
Eficiencia en uso tiempoUVM
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosUVM
 
Practica de arreglos
Practica de arreglosPractica de arreglos
Practica de arreglosUVM
 
Otra introducción a apuntadores
Otra introducción a apuntadoresOtra introducción a apuntadores
Otra introducción a apuntadoresUVM
 
Ejemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlEjemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlUVM
 
Breve repaso de apuntadores
Breve repaso de apuntadoresBreve repaso de apuntadores
Breve repaso de apuntadoresUVM
 
Arreglos conceptos básicos
Arreglos conceptos básicosArreglos conceptos básicos
Arreglos conceptos básicosUVM
 
Resolución práctica de tipos de datos
Resolución práctica de tipos de datosResolución práctica de tipos de datos
Resolución práctica de tipos de datosUVM
 
Resumen de funciones
Resumen de funcionesResumen de funciones
Resumen de funcionesUVM
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funcionesUVM
 
Manejo de bits
Manejo de bitsManejo de bits
Manejo de bitsUVM
 
Aclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreAclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreUVM
 
Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3UVM
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuarioUVM
 
Función main()
Función main()Función main()
Función main()UVM
 
Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++UVM
 
Algunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoAlgunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoUVM
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++UVM
 

More from UVM (20)

Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programación
 
Portafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaPortafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación Avanzada
 
Eficiencia en uso tiempo
Eficiencia en uso  tiempoEficiencia en uso  tiempo
Eficiencia en uso tiempo
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
 
Practica de arreglos
Practica de arreglosPractica de arreglos
Practica de arreglos
 
Otra introducción a apuntadores
Otra introducción a apuntadoresOtra introducción a apuntadores
Otra introducción a apuntadores
 
Ejemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlEjemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stl
 
Breve repaso de apuntadores
Breve repaso de apuntadoresBreve repaso de apuntadores
Breve repaso de apuntadores
 
Arreglos conceptos básicos
Arreglos conceptos básicosArreglos conceptos básicos
Arreglos conceptos básicos
 
Resolución práctica de tipos de datos
Resolución práctica de tipos de datosResolución práctica de tipos de datos
Resolución práctica de tipos de datos
 
Resumen de funciones
Resumen de funcionesResumen de funciones
Resumen de funciones
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funciones
 
Manejo de bits
Manejo de bitsManejo de bits
Manejo de bits
 
Aclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreAclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembre
 
Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuario
 
Función main()
Función main()Función main()
Función main()
 
Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++
 
Algunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoAlgunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agosto
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++
 

Practica 4 errores

  • 1. #include <iostream> #include <ctime> using namespace std; int inicial (int o[], int c); void llenar (int b[10]); void menu(); void mostrar(int x[10]); void copia(int n[10], int m[10]); void burbuja(int k[10]); void seleccion(int k[10]); void insercion(int k[10]); void intercambio(int b[],int x, int y); void quicksort(int b[],int inf, int sup); int main(){ system("cls"); int c[10], cop[10],z; cout << "METODOS DE ORDENAMIENTO"<<endl; llenar(c); menu(); cin>>z; switch(z){ case 1: cout<<"el ordenamiento por burbuja paso a paso es:"<<endl; copia(c,cop); burbuja(cop); break; case 2: cout<<"el ordenamiento por seleccion paso a paso es: "<<endl; copia(c,cop); seleccion(cop); break; case 3: cout<<"El ordenamiento por insercion paso a paso es: "<<endl; copia(c,cop); insercion(cop); break; case 4: cout<<"El ordenamiento por Quick Sort paso a paso es: "<<endl; copia(c,cop); quicksort(cop,0,9); break; default: cout<<"Opcion no valida"<<endl; break; } system("pause"); return 0; } void llenar(int b[10]){ int num; rand(); for (int i=0;i<10;i++){ num=rand()%100; if(i>0){ for(int j=0;j<i;j++) if(num==b[j]){ num=rand()%100; j=-1; }
  • 2. } b[i]=num; } } void menu(){ cout<<"INGRESE SU OPCION SEGUN EL METODO DE ORDENAMIENTO DESDEADO:"<<endl; cout<<"1 - BURBUJA"<<endl; cout<<"2 - SELECCION"<<endl; cout<<"3 - INSERCION"<<endl; cout<<"4 - QUICK SORT"<<endl; } void mostrar(int x[]){ for(int h=0;h<10;h++) cout<<x[h]<<"t"; cout<<endl; } void copia(int n[10], int m[10]){ for(int h=0;h<10;h++) m[h]=n[h]; } void burbuja(int k[10]){ int b; for(int x=0;x<10;x++){ for(int y=0;y<9;y++){ if(k[y]>k[y+1]){ b=k[y]; k[y]=k[y+1]; k[y+1]=b; } } mostrar(k); } } int inicial(int o[], int c){ int p=c; int d=o[c]; for(int h=c;h<10;h++){ if(o[h]<d){ d=o[h]; p=h; } } return p; } void seleccion(int k[10]){ int m,pos_m; for(int l=0;l<9;l++){ pos_m = inicial(k,l); if(k[l]<k[pos_m]){ m=k[l]; k[l]=k[pos_m]; k[pos_m]=m; } mostrar(k); } } void insercion(int k[10]){ int m, pos_m;
  • 3. for(int l=0;l<9;l++){ pos_m=inicial(k,l); if(k[l]>k[pos_m]){ m=k[pos_m]; for(int g=pos_m-1;g>=1;g--){ k[g+1]=k[g]; } k[l]=m; } mostrar(k); } } void intercambio(int b[],int x, int y){ int temp; temp=b[x]; b[x]=b[y]; b[y] = temp; } void quicksort(int b[], int inf, int sup){ int i,j,div; i=inf; j=sup-1; div=b[sup]; while(i<=j){ if(b[i]>div && b[j]<div){ intercambio(b,i,j); }else{ if(b[i]<=div) i++; if(b[j]<=div) j--; } } intercambio(b,i,sup); mostrar(b); if(inf<i-1)quicksort(b,inf,i-1); if(i+1<sup)quicksort(b,i+1,sup); }