Código C++:
Ver original
#include<stdio.h> #include<stdlib.h> int menu(); void leerv(int t,int *a); void sumarv(int t,int *a); void imprv(int t,int *a); void leerm(int f,int c,int **a); void imprm(int f,int c,int **a); void sumam(int f,int c,int **a,int **b); void multim(int m,int s,int **b,int **d,int **e); int menu(){ int x; do{ }while(x<1&&x>4); return x; } void leerv(int t,int *a){ for(int i=0;i<t;i++){ } } void sumarv(int t,int *a,int *b){ for(int i=0;i<t;i++){ a[i]=a[i]+b[i]; } } void imprv(int t,int *a){ for(int i=0;i<t;i++){ } } void leerm(int f,int c,int **a){ for(int i=0;i<f;i++){ for(int j=0;j<c;j++){ } } } void imprm(int f,int c,int **a){ for(int i=0;i<f;i++){ for(int j=0;j<c;j++){ } } } void sumam(int f,int c,int **a,int **b){ for(int i=0;i<f;i++){ for(int j=0;j<c;j++){ a[i][j]=a[i][j]+b[i][j]; } } } void multim(int m,int n,int s,int **b,int **d,int **e){ for(int i=0;i<m;i++){ for(int j=0;j<s;j++){ for(int k=0;k<n;k++){ e[i][j]=e[i][j]+b[i][k]*d[k][j]; } } } } main(){ int c,f,i,j,x,t,m,n,q,s; int *a,**b,**e,*d,**g; x=menu(); switch(x){ leerv(t,a); leerv(t,d); imprv(t,a); imprv(t,d); sumarv(t,a,d); imprv(t,a); break; for(j=0;j<c;j++){ } leerm(f,c,b); leerm(f,c,e); imprm(f,c,b); imprm(f,c,e); sumam(f,c,b,e); imprm(f,c,b); break; case 3: do{ }while(n!=q); for(j=0;j<n;j++){ } for(j=0;j<s;j++){ } for(i=0;i<m;i++){ for(j=0;j<s;j++){ g[i][j]=0; } } leerm(m,n,b); leerm(q,s,e); multim(m,n,s,b,e,g); imprm(m,s,g); break; } }
La duda que tengo es cuando pongo los siguientes datos:
1.- elijo la opcion 3
2.- en numero de filas de la matriz A pongo 2
3.- en numero de columnas de la matriz A pongo 3
4.- en numero de filas de la matriz B pongo 3
5.- en numero de columnas de la matriz B pongo 2
y luego me pide los datos
Elementos de la matriz A
[0][0] = 1
[0][1] = 1
[0][2] = 1
[1][0] = 1
[1][1] = 1
[1][2] = 1
Elementos de la matriz B
[0][0] = 2
[0][1] = 2
[1][0] = 2
[1][0] = 2
[1][1] = 2
[2][0] = 2
luego de dar intro el programa pone una pantalla de "El programa dejo de funcionar". No entiendo porque deja de funcionar. Le pregunte a mi profe y dice que no debe de hacer eso el llama a eso "romperse" pero no me dice en donde esta mal y lo revise pero no veo un error espero poder contar con su ayuda