Ayuda con arreglos sencillos a bidimensional en un programa

Iniciado por SlateMark, 10 Agosto 2016, 18:07 PM

0 Miembros y 1 Visitante están viendo este tema.

SlateMark

Que tal amigos bueno estoy haciendo este programa donde le pregunta a 5 jueces la calificacion de 8 competidores y tiene que hacer distintas operaciones. mi duda es como hacer este programa de arreglo sencillo a bidimensional.

Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;

void Leer(float *competidor)
{
   cout<<"***** Tabla de resultados de una competicion ***** \n\n "<<endl;
   for (int i = 0; i<5; i++) {
       cout<<endl<<"Lectura de juez # "<<i+1<<endl<<endl;
       for (int j = 0; j<8; j++) {
           cout<<"Ingrese Lectura del competidor "<<j+1<<" : ";
           cin>>competidor[j];
           
       }
       
   }
   
}

void Calcular(float *competidor){

   float suma = 0;
   
   for (int j = 0; j<8; j++) {
       suma = suma + competidor[j];
   }
   cout<<"Puntaje total: "<<suma<<endl;
   cout<<"Promedio de calificacion: "<<suma/8<<endl;
   
   float Mayor = 0;
   float Menor = 0;
   int juezMayor = 0;
   int competidorMenor = 0;
   int MenoresProm=0;
   
   Menor = competidor[0];
   
   for ( int j = 0; j<8; j++) {
       if (competidor[j] < (suma/18) ) {
           MenoresProm++;
       }
 
       if (competidor[j] > Mayor) {
           Mayor = competidor[j];
           juezMayor = j+1;
       }
     
       if (competidor[j] < Menor) {
           Menor = competidor[j];
           competidorMenor = j+1;
       }
   }
   
   cout<<"competidor con menor promedio:  "<<MenoresProm<<endl;
   cout<<"Juez con mayor promedio "<<juezMayor<<" cal : "<<Mayor<<endl;
   cout<<"competidor con menor promedio "<<competidorMenor<<" cal: "<<Menor<<endl;
   
}

int main() {  
   
   float *competidor = new float[8];  
   Leer(competidor);
   Calcular(competidor);  
   return 0;
}


Espero su ayuda amigos. muchas gracias  ;-)

AlbertoBSD

Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

Yoel Alejandro

Como te dijo Alberto, declara el arreglo calificaciones de 5x8, en el main() del programa, en lugar del arreglo competidor que tienes. Luego por ejemplo el leer() quedaría así:

Código (cpp) [Seleccionar]

void Leer( int calificaciones[][8] )
{
    cout<<"***** Tabla de resultados de una competicion ***** \n\n "<<endl;
    for (int i = 0; i<5; i++) {
        cout<<endl<<"Lectura de juez # "<<i+1<<endl<<endl;
        for (int j = 0; j<8; j++) {
            cout<<"Ingrese Lectura del competidor "<<j+1<<" : ";
            cin>>calificaciones[i][j];
        }
    }
}


Similarmente modifica la función calcular, para que la reciba el arreglo bidimensional e imprima las estadísticas de las puntuaciones de los 5 jueces para cada competidor.
Saludos, Yoel.
P.D..-   Para mayores dudas, puedes enviarme un mensaje personal (M.P.)