ポインタについて
Posted: 2007年2月02日(金) 12:54
また大学の課題なんですけど、
行列A=
a[1][1]=1 a[1][2]=1 a[1][3]=1 a[1][4]=1
a[2][1]=2 a[2][2]=4 a[2][3]=5 a[2][4]=3
a[3][1]=-1 a[3][2]=-3 a[3][3]=-6 a[3][4]=2
a[4][1]=5 a[4][2]=7 a[4][3]=8 a[4][4]=7
ベクトルb=
b[1]=4
b[2]=6
b[3]=2
b[4]=16
のとき、行列Aとベクトルbを配列とポインタを用いて作成し、さらにAx=bの拡大行列を表示して表示するプログラムを作成せよ。
上の課題、配列を用いて作成し、拡大行列を表示することは出来たんですがポインタをどのように使っていいのかが分かりません。ちなみに作成したプログラムは↓↓です。
#include <stdio.h>
#define MYMATRIX_SIZE 4
double matrix[MYMATRIX_SIZE][MYMATRIX_SIZE];
double vector[MYMATRIX_SIZE];
main()
{
int iRow,iCol;
/* A */
matrix[0][0] = 1;
matrix[0][1] = 1;
matrix[0][2] = 1;
matrix[0][3] = 1;
matrix[1][0] = 2;
matrix[1][1] = 4;
matrix[1][2] = 5;
matrix[1][3] = 3;
matrix[2][0] = -1;
matrix[2][1] = -3;
matrix[2][2] = -6;
matrix[2][3] = 2;
matrix[3][0] = 5;
matrix[3][1] = 7;
matrix[3][2] = 8;
matrix[3][3] = 7;
/* b */
vector[0] = 4;
vector[1] = 6;
vector[2] = 2;
vector[3] = 16;
/* 表示 */
printf("拡大行列 = \n");
for(iRow=0; iRow<MYMATRIX_SIZE; iRow++){
for(iCol=0; iCol<MYMATRIX_SIZE; iCol++){
printf("%8.4g",matrix[iRow][iCo[/url]);
if(iCol==3){
printf("%8.4g\n",vector[iRow]);
}
}
}
}
ポインタはすごく苦手でまったく分からないのでよろしくお願いします!!
行列A=
a[1][1]=1 a[1][2]=1 a[1][3]=1 a[1][4]=1
a[2][1]=2 a[2][2]=4 a[2][3]=5 a[2][4]=3
a[3][1]=-1 a[3][2]=-3 a[3][3]=-6 a[3][4]=2
a[4][1]=5 a[4][2]=7 a[4][3]=8 a[4][4]=7
ベクトルb=
b[1]=4
b[2]=6
b[3]=2
b[4]=16
のとき、行列Aとベクトルbを配列とポインタを用いて作成し、さらにAx=bの拡大行列を表示して表示するプログラムを作成せよ。
上の課題、配列を用いて作成し、拡大行列を表示することは出来たんですがポインタをどのように使っていいのかが分かりません。ちなみに作成したプログラムは↓↓です。
#include <stdio.h>
#define MYMATRIX_SIZE 4
double matrix[MYMATRIX_SIZE][MYMATRIX_SIZE];
double vector[MYMATRIX_SIZE];
main()
{
int iRow,iCol;
/* A */
matrix[0][0] = 1;
matrix[0][1] = 1;
matrix[0][2] = 1;
matrix[0][3] = 1;
matrix[1][0] = 2;
matrix[1][1] = 4;
matrix[1][2] = 5;
matrix[1][3] = 3;
matrix[2][0] = -1;
matrix[2][1] = -3;
matrix[2][2] = -6;
matrix[2][3] = 2;
matrix[3][0] = 5;
matrix[3][1] = 7;
matrix[3][2] = 8;
matrix[3][3] = 7;
/* b */
vector[0] = 4;
vector[1] = 6;
vector[2] = 2;
vector[3] = 16;
/* 表示 */
printf("拡大行列 = \n");
for(iRow=0; iRow<MYMATRIX_SIZE; iRow++){
for(iCol=0; iCol<MYMATRIX_SIZE; iCol++){
printf("%8.4g",matrix[iRow][iCo[/url]);
if(iCol==3){
printf("%8.4g\n",vector[iRow]);
}
}
}
}
ポインタはすごく苦手でまったく分からないのでよろしくお願いします!!