Programando en C – Operaciones con Arrays
Un pograma bastante sencillo pero completo, con operaciones sobre dos vectores (arrays) pertenecientes de R*3.
#include <stdio.h> #include <conio.h> #include <math.h> #define M 3 int menu(); void sumar(int v1[], int v2[], int suma[], int tam); void leer_vectores(int v1[], int v2[], int tam); void mayor_menor(int v1[], int v2[], int tam, int &mayor1, int &menor1, int &mayor2, int &menor2); void modulo(int v1[], int v2[], int tam); int main() { int v1[M], v2[M], suma[M], opcion=0, i, mayor1, menor1, mayor2, menor2; printf("Introduce dos vectores de R^3.n"); leer_vectores(v1,v2,M); do { opcion=menu(); switch(opcion) { case 1: leer_vectores(v1,v2,M); break; case 2: sumar(v1,v2,suma,M); printf("nLa suma es: [ "); for(i=0;i<M;i++) printf("%d ",suma[i]); printf("]"); printf("nnPulsa una tecla para volver al menu."); getch(); break; case 3: mayor_menor(v1,v2,M,mayor1,menor1,mayor2,menor2); printf("nEl termino mayor de v1 es: %d", mayor1); printf("nEl termino menor de v1 es: %d", menor1); printf("nEl termino mayor de v2 es: %d", mayor2); printf("nEl termino menor de v2 es: %d", menor2); printf("nnPulsa una tecla para volver al menu."); getch(); break; case 4: modulo(v1,v2,M); printf("nnPulsa una tecla para volver al menu."); getch(); break; case 5: break; default: printf("No has introducido un valor correcto."); printf("nPulsa una tecla para volver al menu."); getch(); break; } } while(opcion!=5); printf("nGracias por usar el programa."); getch(); return 0; } int menu() { int opcion; printf("nnMENUn"); printf("n1. Introducir vectores."); printf("n2. Sumar vectores."); printf("n3. Termino mayor y menor."); printf("n4. Modulo de los vectores."); printf("n5. Salir."); printf("nnEscoge una opcion: "); scanf("%d",&opcion); return opcion; } void sumar(int v1[], int v2[], int suma[], int tam) { int i; for (i=0;i<tam;i++) suma[i]=v1[i]+v2[i]; } void leer_vectores(int v1[], int v2[], int tam) { int i; printf("n"); for (i=0;i<tam;i++) { printf("v1[%d] = ",i); scanf("%d",&v1[i]); } for (i=0;i<tam;i++) { printf("v2[%d] = ",i); scanf("%d",&v2[i]); } } void mayor_menor(int v1[], int v2[], int tam, int &mayor1, int &menor1, int &mayor2, int &menor2) { int i; mayor1=menor1=v1[0]; mayor2=menor2=v2[0]; for (i=0;i<tam;i++) { if (v1[i]>mayor1) mayor1=v1[i]; if (v1[i]<menor1) menor1=v1[i]; if (v2[i]>mayor2) mayor2=v2[i]; if (v2[i]<menor2) menor2=v2[i]; } } void modulo(int v1[], int v2[], int tam) { int i,suma1=0,suma2=0; for(i=0;i<tam;i++) { suma1+=v1[i]*v1[i]; suma2+=v2[i]*v2[i]; } printf("nEl modulo de v1 es: %f",sqrt(suma1)); printf("nEl modulo de v2 es: %f",sqrt(suma2)); }
Lo puedes descargar compilado desde aquí.
Recent Comments