[SOLUCIONADO] Duda Multiplicacion de Matrices

Iniciado por ZanGetsu, Diciembre 01, 2013, 04:13:54 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Diciembre 01, 2013, 04:13:54 AM Ultima modificación: Mayo 19, 2014, 10:35:33 PM por Expermicid
Hola chicos, si alguien me puede ayudar en esto,
tengo el codigo que multiplica 2 matrices de 3 x 3 bueno eso esta todo hecho,
pero ademas al terminar el codigo, quiero agregar algo que diga

Desea multiplicar otro numero?, si es "s" que vuelva a realizar el codigo y si es "n" que salga del programa
les dejo el codigo :

Código: c
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int numa[3][3];
    int numb[3][3];
    int multi[3][3];
    int a,b;
    for(a=0;a<3;a++){
        for(b=0;b<3;b++){
             printf("Ingrese un valor para la primera matriz, fila %d columna %d: ",a+1,b+1);
    scanf("%d",&numa[a][b]);
       }
    }
         printf("\n");
        printf("\n");
                     printf("Primera Matriz ingresada\n");
                        printf("\n");
         for(a=0;a<3;a++){
        for(b=0;b<3;b++){
        printf("\t%d",numa[a][b]);
}   printf("\n");
}   printf("\n");
    printf("\n");
    for(a=0;a<3;a++){
        for(b=0;b<3;b++){
            printf("Ingrese un valor para la segunda matriz, fila %d columna %d: ",a+1,b+1);
    scanf("%d",&numb[a][b]);
        }
    }
     printf("\n");
        printf("\n");
        printf("Segunda Matriz ingresada:\n");
                        printf("\n");
         for(a=0;a<3;a++){
        for(b=0;b<3;b++){
        printf("\t%d",numb[a][b]);
}   printf("\n");
}   printf("\n");
    printf("\n");
    printf("Resultado Multiplicacion de 2 Matrices:\n");
                        printf("\n");
     for(a=0;a<3;a++){
        for(b=0;b<3;b++){
                            multi[a][b]=numa[a][b]*numb[a][b];
        printf("\t%d",multi[a][b]);
}   printf("\n");
}   printf("\n");
    printf("\n");
    getch();
}


De ante mano, muchas gracias !

Yo lo haría de esta manera:

Código: c
#include <stdio.h>
#include <stdlib.h>

int calc()
{
    int numa[3][3];
    int numb[3][3];
    int multi[3][3];
    int a,b;
    for(a=0;a<3;a++){
        for(b=0;b<3;b++){
             printf("Ingrese un valor para la primera matriz, fila %d columna %d: ",a+1,b+1);
    scanf("%d",&numa[a][b]);
       }
    }
         printf("\n");
        printf("\n");
                     printf("Primera Matriz ingresada\n");
                        printf("\n");
         for(a=0;a<3;a++){
        for(b=0;b<3;b++){
        printf("\t%d",numa[a][b]);
}   printf("\n");
}   printf("\n");
    printf("\n");
    for(a=0;a<3;a++){
        for(b=0;b<3;b++){
            printf("Ingrese un valor para la segunda matriz, fila %d columna %d: ",a+1,b+1);
    scanf("%d",&numb[a][b]);
        }
    }
     printf("\n");
        printf("\n");
        printf("Segunda Matriz ingresada:\n");
                        printf("\n");
         for(a=0;a<3;a++){
        for(b=0;b<3;b++){
        printf("\t%d",numb[a][b]);
}   printf("\n");
}   printf("\n");
    printf("\n");
    printf("Resultado Multiplicacion de 2 Matrices:\n");
                        printf("\n");
     for(a=0;a<3;a++){
        for(b=0;b<3;b++){
                            multi[a][b]=numa[a][b]*numb[a][b];
        printf("\t%d",multi[a][b]);
}   printf("\n");
}   printf("\n");
    printf("\n");
}
int main(){
// inicializamos la funcion calc()
calc();

// declaramos una variable para la respuesta
int resp;
printf("Desea usted multiplicar otro numero? 1.Si | 2.No");
scanf("%i", &resp);

// si responden "1" se vuelve a llamar a la función
if(resp == 1)
{
calc();
}
// por el contrario se finaliza
else
{
printf("Finalizado\n");
}

}


Lo que antes se llamaba main() ahora lo hemos renombrado como calc(), como función independiente, posteriormente creamos el main() que se encargara de ejecutar la función calc, hacer y validar la pregunta y actuar frente a una respuesta.


PD: El código que has pegado es muy mejorable
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Muchisimas gracias sanko, me sirvio el codigo gracias !

Pueden cerrar el tema esta solucionado :D

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Fíjate que hay tenes algunos códigos que te pueden llegar a servir para poder multiplicar la matriz sin estar restringido a que tenga que ser de 3x3

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Fíjate que hay tenes algunos códigos que te pueden llegar a servir para poder multiplicar la matriz sin estar restringido a que tenga que ser de 3x3

En realidad 3 x 3 es lo que me solicitaron, :D