• Lunes 8 de Julio de 2024, 06:26

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Belialx3

Páginas: [1]
1
C/C++ / Re: Problemas con Bubble sort
« en: Martes 21 de Octubre de 2008, 00:13 »
:S al final el problema era otro jejeje, use el strcpy para lograr eso y me quedó asi:

Código: Text
  1.                                        
  2. for(ai=a-1;ai>=0;ai--){
  3. for(aj=1;aj<=ai;aj++){
  4. if(autos[aj-1].precio>autos[aj].precio){
  5. auxa=autos[aj-1].precio;
  6. autos[aj-1].precio=autos[aj].precio;
  7. autos[aj].precio=auxa;
  8.  
  9. auxa=autos[aj-1].modelo;
  10. autos[aj-1].modelo=autos[aj].modelo;
  11. autos[aj].modelo=auxa;
  12.  
  13. auxa=autos[aj-1].codigo;
  14. autos[aj-1].codigo=autos[aj].codigo;
  15. autos[aj].codigo=auxa;
  16.  
  17. strcpy(auxab,autos[aj-1].marca);
  18. strcpy(autos[aj-1].marca,autos[aj].marca);
  19. strcpy(autos[aj].marca,auxab);
  20. }
  21. }
  22. }
  23.  
  24.  

y la variable auxab la declare como vector:    auxab[20].

aun asi muchisimas gracias por responder, y una disculpa por no responder antes, pero no tuve tiempo. saludos

2
C/C++ / Re: Problemas con Bubble sort
« en: Jueves 16 de Octubre de 2008, 20:09 »
gracias por responder. la segunda opcion me parecio bien, pero al aplicarlo me aparece el siguiente error:

Código: Text
  1. Lvalue required in function main()
  2.  

estuve investigando, y por lo que encontré, es debido a que quiero asignarle un valor a una constante (o algo asi). ese error me lo marca en estas partes:

Código: Text
  1. auxab=autos[aj-1].marca;
  2. autos[aj-1].marca=autos[aj].marca;<----aqui
  3. autos[aj].marca=auxab;<----aqui
  4.  
  5. auxab=autos[aj-1].precio;
  6. autos[aj-1].precio=autos[aj].precio;<----aqui
  7. autos[aj].precio=auxab;<----aqui
  8.  
  9. auxab=autos[aj-1].modelo;
  10. autos[aj-1].modelo=autos[aj].modelo; <----- aqui
  11. autos[aj].modelo=auxab;<----aqui
  12.  
  13.  

6 errores en total. bueno, eso seria todo por el momento jeje. :P

3
C/C++ / Problemas con Bubble sort
« en: Jueves 16 de Octubre de 2008, 05:08 »
hola, haciendo un programa de metodos de ordenamiento, me encontré con este problema:

el programa consiste en una especie de base de datos de automoviles (bastante primitiva), donde el usuario da el "Codigo", "modelo", "año", "precio". estoy utilizando estructuras, esta escrutura es:

Código: Text
  1.  
  2. autos{
  3.      int codigo;
  4.      char modelo[10];
  5.      char año[4];
  6.      char precio[10];
  7. } autos[100];
  8.  
  9.  

 para ordenar mis datos usando bubble sort, usé el campo de "codigo" como base para hacerlo, ya que se trata de unicamente numeros. el problema es que unicamente me ordena ese campo (el de codigo) pero los otros  campos(nombre,direccion, telefono), nos deja en su posicion original.

mi pregunta es: como hago para que se mueva el registro completo a la posicion deseada?...

esta es la parte del codigo encargada del ordenamiento

Código: Text
  1.     
  2. for(ai=a-1;ai>=0;ai--){  //a es el total de datos(autos) en la lista
  3.      for(aj=1;aj<=ai;aj++){
  4.     if(autos[aj-1].codigo>autos[aj].codigo){
  5.          auxa=autos[aj-1].codigo;
  6.          autos[aj-1].codigo=autos[aj].codigo;
  7.          autos[aj].codigo=auxa;
  8.  
  9.     }
  10.      }
  11. }
  12. // esta es la parte del despliegue
  13. for(ai=1;ai<a;ai++){
  14.     gotoxy(1,3+ai); cout<<ai;
  15.     gotoxy(6,3+ai); cout<<autos[ai].codigo;
  16.     gotoxy(25,3+ai); cout<<autos[ai].marca;
  17.     gotoxy(45,3+ai); cout<<autos[ai].modelo;
  18.     gotoxy(65,3+ai); cout<<autos[ai].precio;
  19. }
  20.  
  21. cout<<"nn   Presione "ENTER" para continuar...";
  22. getch();
  23.  
  24.  

se que unicamente estoy cambiando la posicion del vector codigo, y que por esa razon los otros quedan en su posicion original, pero como soluciono esto? gracias.

Páginas: [1]