Optimización de Consumo en Articulaciones: Programación en C
Clasificado en Informática
Escrito el en español con un tamaño de 3,7 KB
Optimización de Consumo en Articulaciones
#include <stdio.h>
#define N 86400
#define ARTICULACIONES 6
double CONSUMO[N][ARTICULACIONES];
int main() {
inicializarDatos(CONSUMO);
char opcion;
do {
printf("\nMENU DE USUARIO\n");
printf("A. Determinar datos max, min, medias\n");
printf("B. Determinar articulación con un consumo mayor\n");
printf("C. Determinar similitudes en articulaciones\n");
printf("D. Salir\n");
printf("Seleccione una opción: ");
scanf(" %c", &opcion);
clear_input_buffer();
switch (opcion) {
case 'A':
case 'a':
calcularDatos(CONSUMO);
break;
case 'B':
case 'b':
determinarMayorConsumo(CONSUMO);
break;
case 'C':
case 'c':
printf("Introduzca el tipo de articulación (T, R o C): ");
char tipo;
scanf(" %c", &tipo);
clear_input_buffer();
determinarSimilitudes(CONSUMO, toupper(tipo));
break;
case 'D':
case 'd':
printf("FIN DE PROGRAMA\n");
break;
default:
printf("Opción no válida\n");
}
} while (opcion != 'D' && opcion != 'd');
return 0;
}
Funciones de Matrices
void sumarMatrices(int a[SIZE][SIZE], int b[SIZE][SIZE], int res[SIZE][SIZE]) {
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
res[i][j] = a[i][j] + b[i][j];
}
}
}
void multiplicarMatrices(int a[SIZE][SIZE], int b[SIZE][SIZE], int res[SIZE][SIZE]) {
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
res[i][j] = 0;
for (int k = 0; k < SIZE; k++) {
res[i][j] += a[i][k] * b[k][j];
}
}
}
}
Cálculos Estadísticos
double calcularMedia(int datos[], int n) {
int suma = 0;
for (int i = 0; i < n; i++) {
suma += datos[i];
}
return (double)suma / n;
}
double calcularVarianza(int datos[], int n) {
double media = calcularMedia(datos, n);
double suma = 0;
for (int i = 0; i < n; i++) {
suma += (datos[i] - media) * (datos[i] - media);
}
return suma / n;
}
int calcularMaximo(int datos[], int n) {
int max = datos[0];
for (int i = 1; i < n; i++) {
if (datos[i] > max) {
max = datos[i];
}
}
return max;
}
Operaciones con Vectores
void leerVector(int vector[SIZE], char nombre) {
printf("Introduce los elementos del vector %c:\n", nombre);
for (int i = 0; i < SIZE; i++) {
printf("Elemento %d: ", i + 1);
scanf("%d", &vector[i]);
}
}
void imprimirVector(int vector[SIZE]) {
for (int i = 0; i < SIZE; i++) {
printf("%d ", vector[i]);
}
printf("\n");
}
void operarVectores(int a[SIZE], int b[SIZE], int res[SIZE], char op) {
for (int i = 0; i < SIZE; i++) {
if (op == '+') res[i] = a[i] + b[i];
else if (op == '-') res[i] = a[i] - b[i];
}
}