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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


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

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Duda ordenar estructuras c++
« en: 31 Enero 2016, 12:12 pm »

Hola buenas , voy directo al grano , llevo ya dandole vueltas a como ordenar una estructura  y nada me da errores y tal , os pongo el codigo , yo por ahora no encuentro el fallo

//OS PONGO TAMBIEN EL CARGAR Y MOSTRAR NO VAYA A SER QUE ESTE AHI EL FALLO .

//BIBLIOTECAS
#include <iostream>
using namespace std;
#include <string>
#include <fstream>

//VARIABLES CONSTANTES Y DEFINICIONES TYPEDEF
const int MAX_JUGADORES = 10;

typedef struct{

   string name;
   float puntuacion;

}tJugador;

//PROTOTIPOS
int cargarLista(tJugador players[]);
void mostrar(tJugador players[] , int num);
void ordenar(tJugador player[]);

//PROGRMA
int cargarLista(tJugador players[]){
ifstream cargar;
   bool centinela;

   int contador, numJugadores;

   contador= 0;
   numJugadores = 0;

   centinela = false;

   cargar.open("top.txt");

   if (cargar.is_open()) {

      cargar >> players[contador].name;

      if (players[contador].name == "-1")//-1 centinela

         centinela = true;

      while ((centinela == false) && (num < MAX_JUGADORES)) {

         cargar >> players[contador].puntuacion;

         contador++;
         numJugadores++;

         cargar >> players[contador].name;

         if (players[contador].name == "-1")

            centinela = true;
      }
   }
   else  cout << "Error al cargar el fichero" << endl;





   cargar.close();
return numJugadores;//PODRIAMOS DEVOLVER DIRECTAMENTE LA VARIABLE contador.
}

void mostrar(tJugador players[] , int num){


for(int contador = 0; contador < num; contador++) {
            cout << players[contador].name << "  " << players[contador].puntuacion << endl;
         }
         cout << endl;

}
void ordenar(tJugador player[]){

//-------------- Método de ordenación -----------------------------
         for (int contador = 0; contador < MAX_JUGADORES - 1; contador++) {  //SERIA MAX_JUGADORES O LE PASO LA VARIABLE NUM?
         // Desde el primer elemento hasta el penúltimo
            for (int j = MAX_JUGADORES - 1; j > contador; j--) {
            // Desde el último hasta el siguiente a contador
               if (players[cont].puntuacion < lista[cont - 1].puntuacion) {
                  int tmp;
                  tmp = players[cont].puntuacion;
                  players[cont].puntacion = players[cont - 1].puntuacion;
                  players[cont - 1].puntuacion = tmp;
               }
            }
         }
         //-----------------------------------------------------------------

}
//MAIN
int main(){
int num =0;
tJugador players[MAX_JUGADORES + 1];
   //+1 debido a que contacmos con el jugador conectado.
num=cargarLista(players);
ordenar(players)
mostrar(players, num)

return 0;
}


//FICHERO
el fichero top.txt seria :


daniel 99
alfonso 77
pedro 100
laura 5
-1

//PUEDE QUE HABER ALGUN ERROR DE SINTAXIS , DEFINICION O ALGUN CARACTER , POR QUE LO HECHO POR ENCIMA , LA COSA ES SI EL ALGORITMO ESTA BIEN PLANTEADO


« Última modificación: 31 Enero 2016, 12:42 pm por dbr69 » En línea

fary


Desconectado Desconectado

Mensajes: 1.062



Ver Perfil WWW
Re: Duda ordenar estructuras c++
« Respuesta #1 en: 31 Enero 2016, 21:37 pm »

Me cuesta creer que el código sea tuyo porque esque tiene tantos fallos que ni compila...  :xD


« Última modificación: 31 Enero 2016, 21:43 pm por fary » En línea

Un byte a la izquierda.
furciorifa

Desconectado Desconectado

Mensajes: 94


Ver Perfil
Re: Duda ordenar estructuras c++
« Respuesta #2 en: 1 Febrero 2016, 03:56 am »

Es una cochinada tú código , ponlo en etiquetas GeSHI
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Duda ordenar estructuras c++
« Respuesta #3 en: 1 Febrero 2016, 09:12 am »

Dices que te dá errores. Qué errores te da y en qué líneas.

Citar
PUEDE QUE HABER ALGUN ERROR DE SINTAXIS , DEFINICION O ALGUN CARACTER , POR QUE LO HECHO POR ENCIMA , LA COSA ES SI EL ALGORITMO ESTA BIEN PLANTEADO

Eso solo complica más las cosas. Haz un código simple para probar el algoritmo, luego impleméntalo.

https://es.wikipedia.org/wiki/Ordenamiento_de_burbuja
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[C] - Duda estructuras « 1 2 »
Programación C/C++
h0oke 14 6,633 Último mensaje 21 Mayo 2010, 22:34 pm
por Littlehorse
Ordenar Estructuras
Programación C/C++
Ezio_Auditore 0 2,293 Último mensaje 15 Diciembre 2010, 09:25 am
por Ezio_Auditore
[Duda] Estructuras « 1 2 »
ASM
xv0 15 8,750 Último mensaje 12 Febrero 2013, 10:18 am
por fary
Duda con estructuras
Dudas Generales
fins94 1 1,945 Último mensaje 4 Junio 2013, 18:55 pm
por ivancea96
ordenar estructuras en c
Programación C/C++
javieer 5 3,509 Último mensaje 16 Abril 2018, 12:00 pm
por javieer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines