Ejercicio final del tp6

Ejercicio final del tp6

de GUZMAN, Valentin -
Número de respuestas: 1

Hola profe como anda tengo un par de problemas para que me quede el ejercicio, uno es que los consumos no me quedan intercalados, y se me duplican las calles en el punto b y no me da el punto e, se me complica a la hora de colocar el max_calles[N], le adjunto una imagen del problema y de como lo intente realizar.







#include <iostream>


using namespace std;


const int N = 2;


void cargar_consumos(double consumos[N][N])

{

    for(int i=0; i<N; i++ ){

        for(int j=0; j<N; j++){

            

            cin >>consumos[i][j];

            while(consumos[i][j]>1000){

                

                cin >>consumos[i][j];

            }

            if(consumos[i][j]<0){

                

                consumos[i][j]=0;

            }

            

        }

        

        

    }

}


void reporte_consumos(double consumos[N][N])

{

    for(int i=0; i<N; i++){

        int cant=0;

        for(int j=0; j<N; j++){

            if(consumos[i][j]!=0.0){

                cant+=1;

                

            }

            

        }

        

        cout<<"Calle "<< i <<" tiene "<< cant <<" registros de "<< N <<": ";

        

        for(int j=0; j<N; j++){

            

            if(consumos[i][j]!=0.0){

                cout<< consumos[i][j]<<" ";

                

            }

        }

    

        cout<<endl;

    }  

    

}



double consumo_promedio(double consumos[N][N])

{

    double promedio=0.0;

    int cant=0;

    

    for(int i=0; i<N; i++){

        for(int j=0; j<N; j++){

            

            

            

            if(consumos[i][j]!=0){

                

                promedio+=consumos[i][j];

                

                cant++;

            }

            

            

        }

        

    }

    

    promedio= promedio/cant;

    

    return promedio;

}




int contar_consumos(double consumos[N][N], double referencia)

{

    

    int resultante=0;

    for(int i=0; i<N; i++){

        for(int j=0; j<N; j++){

            

            if(consumos[i][j]>referencia){

                

                resultante+=1;

            }

            

        }

    }

    

    return resultante;

}




void maximos_consumos(double consumos[N][N], double max_calles[N])

{

    int maximo;

    

    for(int i=0; i<N; i++){

        maximo = consumos[i][0];

        for(int j=0; j<N; j++){

            if(consumos[i][j] > maximo)

            {

               maximo = consumos[i][j];

                }

        }

        

        max_calles[i]=maximo;

    }

}




int main() {

    double Matriz[N][N];

    

    cout<<"Ingrese los consumos:"<<endl;

    

    for(int i=0; i<N; i++){

        

        for(int j=0; j<N; j++){

        

        cout<<"Ingrese el consumo de las viviendas entre las calles "<<i<<" y "<<j<<" :"<<endl;

        

        }

        

    }

    

    cargar_consumos(Matriz);

    

    

    cout<<"Reporte de consumos"<<endl;

    

    

    

    

    for(int i=0; i<N; i++){

        

        for(int j=0; j<N; j++){

        

        

        

        }

        reporte_consumos(Matriz);

    }

    

    cout<<"El consumo promedio es "<<consumo_promedio(Matriz)<<endl;

    

    

    cout<<"Cantidad de consumos por encima del promedio "<<contar_consumos(Matriz, consumo_promedio(Matriz))<<endl;

    

    

    

    

    

    return 0;

    

    

}