Autor Tema: Ejercicios resueltos en C lenguajeC arreglos o arrays (matriz) sizeof funciones  (Leído 677 veces)

jMatias2995

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
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;
}
« Última modificación: 18 de Octubre 2020, 19:15 por Ogramar »

elendur14

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Re:Array (matriz) en C
« Respuesta #1 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;

}


 

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".