[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

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

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

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

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