16/11/2022 ; 5:28 PM

This commit is contained in:
2022-11-16 17:55:35 -04:00
parent 0d04c5afd9
commit 033cc60b7c
13 changed files with 1080 additions and 0 deletions

View File

@@ -0,0 +1,107 @@
#include <stdio.h>
/* Universidad.
El programa, al recibir información sobre el número de alumnos que han ingresado
➥a sus ocho diferentes carreras en los dos semestres lectivos de los últimos
➥cinco años, obtiene información útil para el departamento de escolar. */
#define F 8
#define C 2
#define P 5
/* Se declaran constantes para la fila, la columna y la profundidad. */
void Lectura(int[][C][P], int, int, int);
void Funcion1(int[][C][P], int, int, int);
void Funcion2(int[][C][P], int, int, int);
void Funcion3(int[][C][P], int, int, int);
/* Prototipo de funciones. Cada prototipo de función corresponde a uno de los
➥incisos. */
void main(void)
{
int UNI[F][C][P];
Lectura(UNI, F, C, P);
Funcion1(UNI, F, C, P);
Funcion2(UNI, F, C, P);
Funcion3(UNI, 6, C, P);
/* Se coloca el 6 como parámetro ya que es la clave de la Ingeniería en
➥Computación. */
}
void Lectura(int A[][C][P], int FI, int CO, int PR)
/* La función Lectura se utiliza para leer un arreglo tridimensional de tipo
➥entero de FI filas, CO columnas y PR profundidad. Observa que al ser
➥tridimensional se necesitan tres ciclos para recorrer el arreglo. */
{
int K, I, J;
for (K = 0; K < PR; K++)
for (I = 0; I < FI; I++)
for (J = 0; J < CO; J++)
{
printf("Año: %d\tCarrera: %d\tSemestre: %d" , K + 1, I + 1, J + 1);
scanf("%d", &A[I][J][K]);
}
}
void Funcion1(int A[][C][P], int FI, int CO, int PR)
/* Esta función se utiliza para determinar el año en el que ingresó el mayor
➥número de alumnos a la universidad. Observa que el primer ciclo externo
➥corresponde a los años. */
{
int K, I, J, MAY = 0, AO = -1, SUM;
for (K = 0; K < PR; K++)
/* Por cada año se suma el ingreso de los dos semestres de las ocho carreras.
*/
{
SUM = 0;
for (I = 0; I < FI; I++)
for (J = 0; J < CO; J++)
SUM += A[I][J][K];
if (SUM > MAY)
{
MAY = SUM;
AO = K;
}
}
printf("\n\nAño con mayor ingreso de alumnos: %d Alumnos: %d", AO + 1, MAY);
}
void Funcion2(int A[][C][P], int FI, int CO, int PR)
/* Esta función se utiliza para determinar la carrera que recibió el mayor
➥número de alumnos el último año. Observa que no se utiliza un ciclo para los
➥planos de la profundidad, ya que es un dato (PR). */
{
int I, J, MAY = 0, CAR = -1, SUM;
for (I = 0; I < FI; I++)
{
SUM = 0;
for (J = 0; J < CO; J++)
SUM += A[I][J][PR - 1];
if (SUM > MAY)
{
MAY = SUM;
CAR = I;
}
}
printf("\n\nCarrera con mayor numero de alumnos: %d Alumnos: %d", CAR + 1, MAY);
}
void Funcion3(int A[][C][P], int FI, int CO, int PR)
/* Esta función se utiliza para determinar el año en el que la carrera
➥Ingeniería en Computación recibió el mayor número de alumnos. Observa que no
➥se utiliza un ciclo para trabajar con las filas, ya que es un dato (FI). */
{
int K, J, MAY = 0, AO = -1, SUM;
for (K = 0; K < PR; K++)
{
SUM = 0;
for (J = 0; J < CO; J++)
SUM += A[FI - 1][J][K];
if (SUM > MAY)
{
MAY = SUM;
AO = K;
}
}
printf("\n\nAño con mayor ingreso de alumnos: %d Alumnos: %d", AO + 1, MAY);
}