Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: jMatias2995 en 27 de Mayo 2020, 17:11

Título: Ejercicios resueltos en C lenguajeC arreglos o arrays (matriz) sizeof funciones
Publicado por: jMatias2995 en 27 de Mayo 2020, 17:11
Hola, necesito ayuda con el 3er punto, por favor...

CONSIGNA:

La empresa Flybondi posee datos de la cantidad de pasajeros de sus vuelos realizados en el mes de enero 2020, sobre su recorrido Corrientes-CABA.

1ro- Generar un vector con la cantidad de pasajeros de cada día del mes de enero.

2do- Obtener el promedio de pasajeros que volaron en este mes.

3ro- Detectar e informar que día viajo la mayor cantidad de pasajeros y a que día corresponde.

*Para simplificar la prueba considere solo los primeros 8 días del mes de enero.

MI CODIGO:

Código: [Seleccionar]
#include <stdio.h>

/*Prototipos de funciones*/
int fun(int[]);
float promedioDeArreglo(int[], int);

/*Declaracion y asignacion de variable global*/
int indice=0;

int main(){

/*Declaracion y asignacion de vector con la cantidad de pasajeros de los primeros 8 dias de enero...*/
int pasajerosEnero[8]={17, 24, 21, 14, 32, 27, 19, 24};

printf("En los primeros 8 dias de enero viajaron:\n");
fun(pasajerosEnero);

int cantidadDeElementos = sizeof(pasajerosEnero) / sizeof(pasajerosEnero[0]);
    float promedio = promedioDeArreglo(pasajerosEnero, cantidadDeElementos);
    printf("El promedio es: %%%.2f pasajeros\n", promedio);

return 0;
}

/*Desarrollo de las funciones*/
int fun(int pasajerosEnero[8]){

for(indice=0; indice<8; indice++){
printf("El %d de enero: %d pasajeros\n", indice+1, pasajerosEnero[indice]);
}
}

float promedioDeArreglo(int pasajerosEnero[8], int cantidadDeElementos){
    float suma=0;
    for (indice=0; indice<cantidadDeElementos; indice++){
        suma = suma + pasajerosEnero[indice];
    }
    return suma / cantidadDeElementos;
}
Título: Re:Array (matriz) en C
Publicado por: elendur14 en 14 de Junio 2020, 21:57
Hola Matias.
Con respeto al nombre del tema deberias de cambiarlo checando las normas del foro ya que se pierde la informacion y no se entiende si es alguna clase de esta pagina.

Con respecto a tu codigo se ve bien, yo tambien estoy empezando con C aunque ya traigo alguna experiencia.

En la funcion fun te falto hacer un return 1 ya que se debe de retornar algo, el compilador marca un warning.

Tome tu codigo y realice el punto tres. Mediante dos ciclos for hice un  barrido del array para ver cual es el numero de pasajeros mas alto en el Array.
Modifique algunos parametros del array para testearlo.

Código: [Seleccionar]
#include <stdio.h>

/*Prototipos de funciones*/
int fun(int[]);
float promedioDeArreglo(int[], int);
int mayorNumeroPasajeros(int[], int);

/*Declaracion y asignacion de variable global*/
int indice=0;

int main()
{

    /*Declaracion y asignacion de vector con la cantidad de pasajeros de los primeros 8 dias de enero...*/
    int pasajerosEnero[8]= {100, 400, 120, 140, 150, 200, 250, 300};

    printf("En los primeros 8 dias de enero viajaron:\n");
    fun(pasajerosEnero);

    int cantidadDeElementos = sizeof(pasajerosEnero) / sizeof(pasajerosEnero[0]);
    float promedio = promedioDeArreglo(pasajerosEnero, cantidadDeElementos);
    printf("\nEl promedio es: %.2f pasajeros\n", promedio);

    int mayor = mayorNumeroPasajeros(pasajerosEnero, cantidadDeElementos);
    printf("\nEl mayor numero de pasajeros fue el %d de enero \n", mayor);

    return 0;
}

/*Desarrollo de las funciones*/
int fun(int pasajerosEnero[])
{
    for(indice=0; indice < 8; indice++)
    {
        printf("El %d de enero: %d pasajeros\n", indice+1, pasajerosEnero[indice]);
    }
    return 0;
}

float promedioDeArreglo(int pasajerosEnero[], int cantidadDeElementos)
{
    float suma=0;
    for (indice=0; indice<cantidadDeElementos; indice++)
    {
        suma = suma + pasajerosEnero[indice];
    }
    return suma / cantidadDeElementos;
}

int mayorNumeroPasajeros(int pasajeroEnero[],int cantidadElementos)
{
    int mayor = 0;

    for(int i = 0; i < cantidadElementos; i++)
    {
        for(int x = 0; x < cantidadElementos; x++)
        {
            if(pasajeroEnero[i] > pasajeroEnero [mayor])
            {
                mayor = i;
            }
        }
    }
    return mayor + 1;

}