ProgIng - Programación en Ingeniería
Loading...
Searching...
No Matches
Ejemplo_036.c
Go to the documentation of this file.
1#include<stdio.h>
2#include<stdlib.h>
3
4int main(void)
5{
6 float **A, **B, **C, *pA, *pC;
7 int nA, mA, nB, mB, i, j, k;
8 do{
9 printf("Ingrese el numero de columnas de A: ");
10 scanf("%d", &nA);
11 printf("Ingrese el numro de renglones de A: ");
12 scanf("%d", &mA);
13 }while(nA<1||mA<1);
14 do{
15 printf("Ingrese el numero de columnas de B: ");
16 scanf("%d", &nB);
17 printf("Ingrese el numro de renglones de B: ");
18 scanf("%d", &mB);
19 }while(nB<1||mB<1||nB!=mA);
20 pA = (float*)malloc(nA*mA*sizeof(float));
21 if(pA==NULL)
22 return 1;
23 A = (float**)malloc(nA*sizeof(float*));
24 if(A==NULL)
25 {
26 free(pA);
27 return 2;
28 }
29 for(i=0; i<nA; i++)
30 A[0] = pA+i*mA;
31 B = (float**)malloc(nB*sizeof(float*));
32 if(B==NULL)
33 {
34 free(pA);
35 free(A);
36 return 3;
37 }
38 for(i=0; i<nB; i++)
39 {
40 B[i] = (float*)malloc(mB*sizeof(float));
41 if(B[i]== NULL)
42 {
43 free(pA);
44 free(A);
45 for(--i; i>-1; i--)
46 free(B[i]);
47 free(B);
48 return 4;
49 }
50 }
51 free(B);
52 free(pA);
53 free(A);
54 return 0;
55}
int main(void)
Definition Ejemplo_036.c:4