tanks now i have a run time error
hello' thank you for the answer!
i have a run time error now....
it stops when it spouse to print marix O.
Code:
#include <stdio.h>
#include <math.h>
void scaling(double* P[],double B[], int i, int j,int order);
void printA(double A[30][30], int m,int n);
void printO(double* O[30], double B[30],int m,int n);
int main()
{
double A[30][30];
double B[30];
double* O[30];
int i,j,m,n,order;
printf("enter the number of rows and columns: \n");
scanf("%d%d",&i,&j);
printf("enter %d*%d matrix\n:",i,j);
for (m=0 ; m<i ; m++)
for(n=0 ; n<j ; n++)
scanf("%lf",&(A[m][n]));
printf("enter %d vector: \n",i);
for (m=0 ; m<i ; m++)
scanf("%lf",&(B[m]));
for(order=0;order<i;order++);
{
scaling(O,B,i,j,order);
printA(A,i,j);
printO(O,B,i,j);
}
return 0;
}
void scaling(double* P[],double B[], int i, int j,int order)
{
int m,n,maxrow;
double max[30], maxi=0,temp2;
double* temp;
for (m=order;m<i;m++)
for(n=order;n<j && fabs(P[m][n])>max[m];n++)
max[m]=fabs(P[m][n]);
for (m=order;m<i;m++)
if ((fabs(P[m][order])/max[m])>maxi)
{
maxi=(fabs(P[m][order]/max[m]));
maxrow=m;
}
if(maxrow!=order)
{
temp=P[maxrow];
P[maxrow]=P[order];
P[order]=temp;
temp2=B[maxrow];
B[maxrow]=B[order];
B[order]=temp2;
}
}
void printA(double A[30][30], int m,int n)
{
int i,j;
printf("original coefficients matrix:\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%.2lf ",A[i][j]);
printf("\n");
}
printf("\n");
}
void printO(double* O[30], double B[30], int m,int n)
{
int i,j;
printf("current matrix:\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%f ",O[i][j]);
printf("| %f",B[i]);
printf("\n");
}
printf("\n");
}