|

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í.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.