Está en la página 1de 10

Taller 2 corte 3

EJERCICIO 1

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

int main() {

int matriz1[4][4], matriz2[4][4], suma[4][4], resta[4][4];

// Pedir al usuario que ingrese la primera matriz

printf("\n \t Ingrese la primera matriz de 4x4:\

n"); for (int i = 0; i < 4; i++) {

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

scanf("%d", &matriz1[i][j]);

// Pedir al usuario que ingrese la segunda matriz

printf("\n \t Ingrese la segunda matriz de 4x4:\

n"); for (int i = 0; i < 4; i++) {

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

scanf("%d", &matriz2[i][j]);

// Sumar las matrices

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

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

suma[i][j] = matriz1[i][j] + matriz2[i][j];

}
// Restar las matrices

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

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

resta[i][j] = matriz1[i][j] - matriz2[i][j];

// Mostrar las cuatro

matrices printf("\n \t Matriz

1:\n");

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

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

printf("%d ", matriz1[i][j]);

printf("\n");

printf("\n \t Matriz 2:\n");

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

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

printf("%d ", matriz2[i][j]);

printf("\n");

printf("\n \t Suma de matrices:\n");

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

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

printf("%d ", suma[i][j]);

printf("\n");

printf("\n \t Resta de matrices: \n");


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

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

printf("%d ", resta[i]

[j]);

printf("\n");

printf("\n \t PRESIONE UNA TECLA PARA TERMINAR");

getch();

return 0;

EJERCICIO 2

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

int main() {

int A[5][4], i, j, suma_fila, suma_columna, pares = 0, impares = 0;

printf("\n ==========================================================");

// Ingreso de los valores de la matriz A

printf("\n \t Ingrese los valores de la matriz A: \

n"); for (i = 0; i < 5; i++) {

for (j = 0; j < 4; j++) {

scanf("%d", &A[i][j]);

printf("\n ==========================================================");

// Mostrar la matriz tal como fue ingresada


printf("La matriz A ingresada es: \n");

for (i = 0; i < 5; i++) {

for (j = 0; j < 4; j++) {

printf("%d ", A[i][j]);

printf("\n");

printf("\n =========================================================");

// Calcular la suma de cada una de las filas

printf("\n \t La suma de cada una de las filas es: \

n"); for (i = 0; i < 5; i++) {

suma_fila = 0;

for (j = 0; j < 4; j++) {

suma_fila += A[i][j];

printf("%d\n", suma_fila);

printf("\n =========================================================");

// Calcular la suma de cada una de las columnas

printf("\n \t La suma de cada una de las columnas es: \n");

for (j = 0; j < 4; j++) {

suma_columna = 0;

for (i = 0; i < 5; i++) {

suma_columna += A[i][j];

printf("%d ", suma_columna);

printf("\n");
printf("=========================================================");

// Calcular la cantidad de números pares e impares que contiene la matriz

for (i = 0; i < 5; i++) {

for (j = 0; j < 4; j++) {

if (A[i][j] % 2 == 0) {

pares++;

} else {

impares++;

printf("\n =========================================================");

printf("\n \t La matriz contiene %d numeros pares y %d numeros impares.",

pares, impares);

printf("\n \t Presione una tecla para terminar ");

return 0;

EJERCICIO 3

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define MAX_OFICINAS 100

#define MAX_SERVICIOS 10

#define MAX_NOMBRE_SERVICIO 20

int main() {

int n_oficinas, n_servicios;


char nombre_servicios[MAX_SERVICIOS][MAX_NOMBRE_SERVICIO];

float montos[MAX_OFICINAS][MAX_SERVICIOS];

float facturacion_total_por_inquilino[MAX_OFICINAS] =

{0}; float facturacion_total_por_servicio[MAX_SERVICIOS] =

{0}; float facturacion_total = 0;

float max_pago = 0;

int max_inquilino = 0;

int i, j;

printf("\n =========================================================");

// Pedir el número de oficinas

printf("\n \t Ingrese el numero de oficinas:

"); scanf("%d", &n_oficinas);

// Pedir el número y nombre de los servicios

printf("\n \t Ingrese el numero de servicios: ");

scanf("%d", &n_servicios);

printf("\n \t =========================================================");

for (i = 0; i < n_servicios; i++) {

printf("\n \t Ingrese el nombre del servicio %d: ", i + 1);

scanf("%s", nombre_servicios[i]);

printf("\n \t =========================================================");

// Pedir el monto a pagar por cada inquilino en cada

servicio for (i = 0; i < n_oficinas; i++) {

for (j = 0; j < n_servicios; j++) {


printf("\n \t Ingrese el monto a pagar para el inquilino %d en el servicio %s: ", i + 1,
nombre_servicios[j]);

scanf("%f", &montos[i][j]);

facturacion_total_por_inquilino[i] += montos[i][j];

facturacion_total_por_servicio[j] += montos[i][j];

facturacion_total += montos[i][j];

if (facturacion_total_por_inquilino[i] > max_pago)

{ max_pago = facturacion_total_por_inquilino[i];

max_inquilino = i + 1;

printf("\n =========================================================");

// Mostrar la facturación total por cada inquilino

printf("\n \t Facturacion total por cada inquilino:\

n"); for (i = 0; i < n_oficinas; i++) {

printf("\n \t Inquilino %d: $%.2f\n", i + 1, facturacion_total_por_inquilino[i]);

printf("\n \t =========================================================");

// Mostrar la facturación total por cada servicio

printf("\n \t Facturación total por cada servicio:\

n"); for (i = 0; i < n_servicios; i++) {

printf("%s: $%.2f\n", nombre_servicios[i], facturacion_total_por_servicio[i]);

printf("\n \t =========================================================");

// Mostrar la facturación total

printf("\n \t Facturacion total: $%.2f\n", facturacion_total);

// Mostrar el inquilino que pagó más


printf("\n \t El inquilino que pago más es el %d con un pago de $%.2f\n",

max_inquilino, max_pago);

// Mostrar la facturación total de los servicios en orden ascendente

printf("\n \t Facturacion total de los servicios en orden ascendente:\n");

float servicios_ordenados[MAX_SERVICIOS];

EJERCICIO 4

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define MAX_N 30

#define MAX_NAME_LEN 100

int main() {

int N;

char pacientes[MAX_N][MAX_NAME_LEN];

float gastos[MAX_N][3];

float impuestos[3] = { 0.05, 0.08, 0.12 };

printf("Ingrese el numero de pacientes (maximo %d): ", MAX_N);

scanf("%d", &N);

// Ingreso de datos

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

printf("Ingrese el nombre del paciente %d: ", i+1);

scanf("%s", pacientes[i]);

printf("Ingrese el gasto en atencion medica para %s: $", pacientes[i]);


scanf("%f", &gastos[i][0]);

gastos[i][0] *= (1 + impuestos[0]); // Aplicar impuesto

printf("Ingrese el gasto en alimentacion para %s: $", pacientes[i]);

scanf("%f", &gastos[i][1]);

gastos[i][1] *= (1 + impuestos[1]); // Aplicar impuesto

printf("Ingrese el gasto en alojamiento para %s: $", pacientes[i]);

scanf("%f", &gastos[i][2]);

gastos[i][2] *= (1 + impuestos[2]); // Aplicar impuesto

// Calcular el monto total que la clínica cobró por atención médica

float monto_atencion_medica = 0;

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

monto_atencion_medica += gastos[i][0];

printf("El monto total que la clinica cobro por atencion medica es: $%.2f\n",
monto_atencion_medica);

// Crear una lista de tuplas con los nombres de los pacientes y los montos totales pagados
(incluyendo impuestos)

struct Paciente {

char nombre[MAX_NAME_LEN];

float monto_total;

};

struct Paciente

pacientes_ordenados[MAX_N]; for (int i = 0; i

< N; i++) {

strcpy(pacientes_ordenados[i].nombre, pacientes[i]);

pacientes_ordenados[i].monto_total = gastos[i][0] + gastos[i][1] + gastos[i][2];


}

// Ordenar la lista de pacientes en orden descendente según el monto total pagado

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

for (int j = i+1; j < N; j++) {

if (pacientes_ordenados[j].monto_total > pacientes_ordenados[i].monto_total) {

// Intercambiar los pacientes

struct Paciente temp = pacientes_ordenados[i];

pacientes_ordenados[i] = pacientes_ordenados[j];

pacientes_ordenados[j] = temp;

printf("Lista de pacientes ordenados por monto total pagado (incluyendo impuestos):\n");

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

printf("- %s pago $%.2f\n", pacientes[i], gastos[i]);

return 0;

También podría gustarte