#include <stdio.h>
#include <math.h>
#define i 4
#define j 4
double point(int ii, int jj);
double sum_u(double(*array)[4][4], double *A, double *B);
void main()
{
double array[i][j] = { 0 };
double b[i] = { 0 };
double E[i][j] = { 0 };
double E_inv[i][j] = { 0 };
array[0][0] = 21.; array[0][1] = -3.; array[0][2] = 1.; array[0][3] = 7.;
array[1][0] = 4.; array[1][1] = 15.; array[1][2] = -2.; array[1][3] = 0.;
array[2][0] = 1.; array[2][1] = 2.; array[2][2] = 15.; array[2][3] = 1.;
array[3][0] = 1.; array[3][1] = 6.; array[3][2] = 2.; array[3][3] = 13.;
b[0] = 9.; b[1] = 33.; b[2] = 8.; b[3] = 41.;
double n = 3;
int ii = 0;
int jj = 0;
for (ii = 0; ii < n + 1; ii = ii + 1)
{
for (jj = 0; jj < n + 1; jj = jj + 1)
{
E_inv[ii][jj] = point(ii, jj);
}
}
sum_u(E, E_inv, array);
printf("E행렬\n");
for (ii = 0; ii < n + 1; ii = ii + 1)
{
for (jj = 0; jj < n + 1; jj = jj + 1)
{
printf("%f ", E[ii][jj]);
}
printf(" %f\n ", b[ii]);
}
}
double point(int ii, int jj)
{
double y = 0;
if (ii == jj)
{
y = 1;
}
if (ii < jj)
{
y = 0;
}
return(y);
}
double sum_u(double(*E)[i][j], double (*A)[i][j], double(*B)[i][j])
{
int ii = 0;
int jj = 0;
double y = 0;
for (ii = 0; ii < 4; ii++)
{
for (jj = 0; jj < 4; jj++)
{
*E[ii][jj] = *A[ii][jj] + *B[ii][jj];
}
}
}
/////////////////////////////////////////////////////////////////////////////////////////
식인데 지금 sum_u라는 sub함수로 배열끼리 함수의 합을 더하려고하는데요
계속 오류가 떠서 질문드립니다. ㅜㅜㅜ
문제가 뭘까요...포인터 오류같은데...