#include <stdio.h>
#include <stdlib.h>
Go to the source code of this file.
|
| double * | crearMat (int r, int c) |
| int | capturar (double *M, int r, int c, char *str) |
| int | imprimir (double *M, int r, int c) |
| double * | multiplicar (double *M1, int r1, int c1, double *M2, int r2, int c2) |
| int | main (int argc, char *argv[]) |
◆ capturar()
| int capturar |
( |
double * | M, |
|
|
int | r, |
|
|
int | c, |
|
|
char * | str ) |
Definition at line 13 of file Ejemplo039.c.
14{
15 int i, j;
16 for(i=0; i<r; i++)
17 for(j=0; j<c; j++)
18 {
19 printf("%s[%d][%d] = ", str, i+1, j+1);
20 scanf(
"%lf",
M+c*i+j);
21 }
22 return 0;
23}
◆ crearMat()
| double * crearMat |
( |
int | r, |
|
|
int | c ) |
Definition at line 4 of file Ejemplo039.c.
5{
7 M = (
double*)malloc(r*c*
sizeof(
double));
9 return NULL;
11}
◆ imprimir()
| int imprimir |
( |
double * | M, |
|
|
int | r, |
|
|
int | c ) |
Definition at line 25 of file Ejemplo039.c.
26{
27 int i, j;
28 for(i=0; i<r; i++)
29 {
30 for(j=0; j<c; j++)
31 printf(
"%.4lf\t",
M[c*i+j]);
32 printf("\n");
33 }
34 return 0;
35}
◆ main()
| int main |
( |
int | argc, |
|
|
char * | argv[] ) |
Definition at line 59 of file Ejemplo039.c.
60{
61 int rA, rB, cA, cB;
62 double *A, *B, *C;
63 do{
64 printf("Ingrese el numero de renglones de A: ");
65 scanf("%d", &rA);
66 }while(rA<1);
67 do{
68 printf("Ingrese el numero de columnas de A: ");
69 scanf("%d", &cA);
70 }while(cA<1);
72 if(A==NULL)
73 return 1;
75 do{
76 printf("Ingrese el numero de renglones de B: ");
77 scanf("%d", &rB);
78 }while(rB<1);
79 do{
80 printf("Ingrese el numero de columnas de B: ");
81 scanf("%d", &cB);
82 }while(cB<1);
84 if(B==NULL)
85 {
86 free(A);
87 return 2;
88 }
91 if(C==NULL)
92 {
93 free(A);
94 free(B);
95 return 4;
96 }
97 printf("A\n");
99 printf("B\n");
101 printf("C\n");
103 free(A);
104 free(B);
105 free(C);
106 return 0;
107}
int capturar(double *M, int r, int c, char *str)
double * crearMat(int r, int c)
double * multiplicar(double *M1, int r1, int c1, double *M2, int r2, int c2)
int imprimir(double *M, int r, int c)
◆ multiplicar()
| double * multiplicar |
( |
double * | M1, |
|
|
int | r1, |
|
|
int | c1, |
|
|
double * | M2, |
|
|
int | r2, |
|
|
int | c2 ) |
Definition at line 37 of file Ejemplo039.c.
38{
39 int i, j, k;
40 double *M3;
41 if(c1!=r2)
42 {
43 printf("Error: En el tamaño de las matrices.\n");
44 return NULL;
45 }
47 if(M3==NULL)
48 return NULL;
49 for(i=0; i<r1; i++)
50 for(j=0; j<c2; j++)
51 for(k=0, M3[i*c1+j]=0; k<c1; k++)
52 M3[i*c2+j] += M1[i*c1+k]*M2[k*c2+j];
53
54
55
56 return M3;
57}