float dobutok(float A,float B)
{ unsigned int i,k,l;
a=(float**)malloc(A*sizeof(float*));
for(i=0;i<A;i++)
a[i]=(float*)malloc(A*sizeof(float));
for(i=0;i<A;i++)
for(k=0;k<A;k++)
{
printf("VVidit a[%u][%u]=",i,k);
scanf("%f",&a[i][k]);
}
for(i=0;i<A;i++)
{ for(k=0;k<A;k++)
printf("%.0f ",a[i][k]);
puts("");
}
b=(float**)malloc(A*sizeof(float*));
for(k=0;k<A;k++)
b[i]=(float*)malloc(B*sizeof(float));
for(k=0;k<A;k++)
for(j=0;j<B;j++)
{
printf("VVidit a[%u][%u]=",k,j);
scanf("%f",&a[k][j]);
}
for(i=0;i<A;i++)
{ for(j=0;j<B;j++)
printf("%.0f ",a[i][j]);
puts("");
}
c=(float **)malloc(A*sizeof(float*));
if (c==NULL) return;
for(i=0;i<A;i++)
c[i]=(float*)malloc(B*sizeof(float));
for(i=0;i<A;i++)
for(j=0;j<B;j++)
for(k=0;k<A;k++)
c[i][j]+=a[i][k]*b[k][j];
puts("\nMatrucia dobutku:\n");
for(i=0;i<A;i++)
{ for(j=0;j<B;j++)
printf("%.0f ",c[i][j]);
puts("");
}
}
Нужно умножить две матрици...квадратную на прямоугольную..и вывести на екран
Я не правильно выделил память? или она не выделилась..потому-что я её не чистил?(
Сообщение отредактировано: Marya -