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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


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

Desconectado Desconectado

Mensajes: 6



Ver Perfil
Ayuda con ordenación plis!
« en: 22 Febrero 2011, 00:51 am »

Hola y de antemano gracias!

Mi duda es la siguiente: Tengo que ordenar alfabeticamente una lista, el problema que tengo es que la tengo que ir ordenando mientra va leyendo las palabras. No puedo guardarlas todas en una lista y posteriormente ordenarlas. Se deben de ir ordenando segun se va leyendo.

Lo maximo que podio hacer es que me ordene una pequeña parte pero luego la mitad de las palabras no me las ordena y en pantalla solo salen 0.

Aqui os dejo el código:
Código
  1.  
  2. #include <iostream>
  3. #include <string.h>
  4.  
  5. using namespace std;
  6.  
  7. const int MAX_PARAULES=2500;
  8. const string M_FI="#";
  9.  
  10. struct Paraula
  11. {
  12. string paraula;
  13. int llarg;
  14. int rep;
  15. };
  16.  
  17. typedef Paraula TaulaParaula[MAX_PARAULES];
  18.  
  19. void mostrarParaules(TaulaParaula t, int n)
  20. {
  21. for(int i=0; i<n; i++)
  22. {
  23. cout<<t[i].paraula<<" "<<t[i].llarg<<" "<<t[i].rep<<endl;
  24. }
  25. }
  26.  
  27. void introduirParaules(TaulaParaula t, int&n)
  28. {
  29. string c;
  30. cin>>c;
  31. Paraula temp;
  32. int rep;
  33.  
  34. while(c != M_FI)
  35. {
  36. rep=0;
  37. if(n>0){
  38. for (int i=0; i<n; i++){
  39. if(c.compare(t[i].paraula)<0){
  40. temp=t[i];
  41. t[i].paraula=c;
  42. t[i].llarg=c.length();
  43. t[i].rep=1;
  44.  
  45. for(int x=n; x>i; x--){
  46. t[x+1]=t[x];
  47. }
  48. t[i+1]=temp;
  49. rep=1;
  50. }
  51. }
  52. if(rep==0) {
  53. t[n].paraula=c;
  54. t[n].llarg=c.length();
  55. t[n].rep=1;
  56. }
  57.  
  58. } else {
  59. t[n].paraula=c;
  60. t[n].llarg=c.length();
  61. t[n].rep=1;
  62. }
  63. n++;
  64. cin>>c;
  65. }
  66. }
  67.  
  68. int main()
  69. {
  70. TaulaParaula paraules;
  71. int n=0;
  72.  
  73. cout << "ENTRA EL TEXT A ANALITZAR" << endl;
  74. introduirParaules(paraules,n);
  75.  
  76. cout << "PARAULES LLEGIDES PER ORDRE ALFABETIC" << endl;
  77. mostrarParaules(paraules,n);
  78.  
  79. return 0;
  80. }
  81.  

Perdonen si es un fallo tonto pero llevo ya tantas horas mirando haber como lo hago que ya no se como hacerlo. Gracias


En línea

Ten en muy en cuenta tus objetivos!!!
Puede ser que sea lo único que te de ánimos para continuar!!
mihina

Desconectado Desconectado

Mensajes: 6



Ver Perfil
Re: Ayuda con ordenación plis! resuelto
« Respuesta #1 en: 22 Febrero 2011, 13:25 pm »

Al final lo he conseguido el código es el siguiente por si a alguien le interesa:

Código
  1. while(c != M_FI)
  2.    {
  3.        ordenado = false;
  4.        i = 0;
  5.        while ((!ordenado) && (i<n))
  6.        {
  7.            if(c.compare(t[i].paraula)<=0)
  8.            {
  9.                for (j = n-1; j>=i; j--)
  10.                {
  11.                    t[j+1] = t[j];
  12.                }
  13.  
  14.                t[i].paraula=c;
  15.                t[i].llarg=c.length();
  16.                t[i].rep=1;
  17.  
  18.                ordenado = true;
  19.             }
  20.             i++;
  21.        }
  22.        if (!ordenado)
  23.        {
  24.            t[n].paraula=c;
  25.            t[n].llarg=c.length();
  26.            t[n].rep=1;
  27.        }
  28.        n++;
  29.        cin>>c;
  30.    }
  31.  
  32.  


En línea

Ten en muy en cuenta tus objetivos!!!
Puede ser que sea lo único que te de ánimos para continuar!!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda sobre ordenacion en C#
.NET (C#, VB.NET, ASP)
F3RN1 4 4,424 Último mensaje 2 Julio 2008, 13:25 pm
por kargarof
ayuda metodo de ordenacion...
Java
PsyAcCes 1 2,177 Último mensaje 14 Junio 2010, 02:08 am
por Leyer
Ayuda con metodo de ordenacion
Programación C/C++
Rilax 9 4,376 Último mensaje 21 Junio 2010, 15:45 pm
por cbug
Ayuda algoritmo de ordenacion
Programación C/C++
0and6 2 2,110 Último mensaje 1 Agosto 2015, 07:27 am
por 0and6
Ayuda con una ordenacion de un array please? :P
Programación C/C++
valeeen 6 2,611 Último mensaje 13 Diciembre 2015, 20:01 pm
por valeeen
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines