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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Una manera distinta de ordenar arreglos/vectores.-?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Una manera distinta de ordenar arreglos/vectores.-?  (Leído 788 veces)
DanielPy

Desconectado Desconectado

Mensajes: 145



Ver Perfil
¿Una manera distinta de ordenar arreglos/vectores.-?
« en: 3 Diciembre 2013, 21:03 pm »

Hola amigos.
Estoy en un verdadero inconveniente con esto de ordenar un arreglo, no pretendo redescubrir la rueda, simplemente estoy practicando y hace mucho tiempo se me antojó esta manera de ordenar pero no logro que funcione.-
Con respecto a la cantidad de elementos del arreglo y hacerlo en una función luego lo arreglo, el tema es que alguna mente iluminada me diga dónde está el error.-
Debo aclarar que en algunos casos funciona, me parece que el error se produce cuando el menor/mayor arrancan muy cerca de los extremos.-   

Código
  1. #include <stdio.h>
  2.  
  3. void mostrar(int numeros[]);
  4.  
  5.  
  6. int main(void){
  7. int numeros[] = {77,58,7,19,62,99,44,49,15,33};
  8. int menor=9999, mayor=0, pos_men=0, pos_may=0, men_cam=0, may_cam=0,i, j=0, m=9;
  9.  
  10. printf("\n\n");
  11. mostrar(numeros);
  12. printf("\n\n");
  13.  
  14. for(i=0; i<5; i++){
  15. men_cam = numeros[i];
  16. may_cam = numeros[m];
  17. for(j=i; j<=m; j++){
  18. if(numeros[j] < menor){
  19. menor = numeros[j];
  20. pos_men = j;
  21. }
  22. if(numeros[j] > mayor){
  23. mayor = numeros[j];
  24. pos_may = j;
  25. }
  26. }
  27. numeros[i] = menor;
  28. numeros[pos_men] = men_cam;
  29.  
  30. numeros[m] = mayor;
  31. numeros[pos_may] = may_cam;
  32. mostrar(numeros);
  33. printf("--> Menor=%d [%d] --- Mayor=%d [%d]", menor, pos_men+1, mayor, pos_may+1);
  34. menor=9999;
  35. mayor=0;
  36. m--;
  37. }
  38. printf("\n\n");
  39. mostrar(numeros);
  40.  
  41. return 0;
  42. }
  43.  
  44.  
  45. void mostrar(int numeros[]){
  46. int t;
  47. printf("\n");
  48. for(t=0; t<10; t++){
  49. printf(" %3d ", numeros[t]);
  50. }
  51. }
  52.  



Bueno espero ayuda.-
Saludos.
Daniel


En línea

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor
y cuando lo abrazas dejan de causar dolor.-
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
vectores o arreglos
Programación C/C++
spardandrews 1 1,006 Último mensaje 5 Julio 2013, 20:19 pm
por CCross
Crear dos vectores/arrays/arreglos con los datos de uno
Java
Browwwnnn 6 2,581 Último mensaje 22 Octubre 2014, 19:22 pm
por Browwwnnn
Duda para ordenar arreglos en Ruby.
Scripting
Saito_25 5 3,032 Último mensaje 29 Marzo 2015, 15:54 pm
por Saito_25
MOVIDO: Duda para ordenar arreglos en Ruby.
Programación General
Eleкtro 0 738 Último mensaje 29 Marzo 2015, 10:14 am
por Eleкtro
arreglos con vectores
Programación C/C++
brickolmos 1 1,076 Último mensaje 6 Junio 2015, 06:16 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines