elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda algoritmo de ordenacion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda algoritmo de ordenacion  (Leído 2,080 veces)
0and6

Desconectado Desconectado

Mensajes: 49


Ver Perfil
Ayuda algoritmo de ordenacion
« en: 1 Agosto 2015, 03:51 am »

Ola tengo un problema, es que estoy haciendo un algoritmo para ordenar un arreglo, lo estoy haciendo de la siguiente manera se que existen maneras mas rapidas, pero apenas comienzo y quiero hacerlo por mi cuenta, asi que se hizo el siguiente algoritmo el problema es que no ordena el primer numero, asi que si tienen una solucion para este algoritmo les agradeceria


#include<iostream>
Código
  1. #include<stdio.h>
  2. using namespace std;
  3.  
  4. int main(int argc, char *argv[]){
  5.    int enteros[] = {10,9,7,4,2,6,3,5,8,1} ;
  6.    int aux, c;
  7.  
  8.    for(c = 0; c < 10 ; c++){
  9.        if(enteros[c] > enteros[c+1]){
  10.            aux = enteros[c];
  11.            enteros[c] = enteros[c+1];
  12.            enteros[c+1] = aux;
  13.            c = 0;
  14.        }
  15.    }
  16.  
  17.    for(int i = 0; i < 10; i++){
  18.        printf("%d\n",enteros[i]);
  19.    }
  20.    return 0;
  21. }

Mod: Los códigos deben ir en etiquetas GeSHi


« Última modificación: 1 Agosto 2015, 03:59 am por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Ayuda algoritmo de ordenacion
« Respuesta #1 en: 1 Agosto 2015, 04:05 am »

los errores de tu algoritmo...

Código:
for(c = 0; c < 10 ; c++){
        if(enteros[c] > enteros[c+1]){

tu algoritmo tiene 10 elementos (del 0 al 9) si c = 9; entonces se traducirá en

Código:
enteros[9] > enteros[9+1]

causando una violación de memoria...

segundo... en linea 13
Citar
c = 0;

tu algoritmo hará un ciclo infinito

tercero... el algoritmo que intentas hacer se llama "ordenamiento de (o por) burbuja"
el asunto es que un solo ciclo no basta...
despues de comparar tu arreglo
Código:
{10,9,7,4,2,6,3,5,8,1}
quedaría
Código:
{10,9,7,4,6,3,5,8,2,1}

solo habría flotado el 2... tienes que hacer doble ciclo
Código:
for(...
  for(..


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
0and6

Desconectado Desconectado

Mensajes: 49


Ver Perfil
Re: Ayuda algoritmo de ordenacion
« Respuesta #2 en: 1 Agosto 2015, 07:27 am »

 :D oye la neta pues gracias ya he bucado ese algoritmo y la neta esta chido he podido solucionar mi problema  gracias  ;-) ;-) ;-)

ah y por editar el codigo es que no sabia que era con esas etiquetas
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[SOLUCIONADO] duda algoritmo ordenacion c#
.NET (C#, VB.NET, ASP)
CrÄsH 5 6,187 Último mensaje 27 Marzo 2009, 00:50 am
por CrÄsH
[ASM]Algoritmo de Ordenacion Quicksort
ASM
ny0x 9 12,755 Último mensaje 26 Junio 2009, 19:20 pm
por ny0x
Algun algoritmo para la ordenacion del source?
Programación C/C++
taul 5 3,294 Último mensaje 4 Mayo 2010, 18:43 pm
por bizco
Problemas al intentar hacer mas eficiente un algoritmo de ordenacion « 1 2 »
Programación C/C++
Dark00 10 5,772 Último mensaje 14 Noviembre 2012, 23:24 pm
por Dark00
Algoritmo de ordenación.
Programación C/C++
Leafar77 1 1,977 Último mensaje 11 Marzo 2015, 17:16 pm
por NOIS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines