C/C++の宿題を片付けます 96代目at TECH
C/C++の宿題を片付けます 96代目 - 暇つぶし2ch316:デフォルトの名無しさん
07/09/26 12:47:39
>>315
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct tag_matrix_t{
int column, row;
double **data, *data_area;
}matrix_t;
matrix_t *matrix_alloc(int column, int row){
matrix_t *matrix;
int x, y;
matrix=malloc(sizeof(matrix_t));
matrix->column=column;
matrix->row=row;
matrix->data_area=malloc(sizeof(double)*column*row);
matrix->data=malloc(sizeof(double*)*column);
for(y=0;y<column;y++) matrix->data[y]=&matrix->data_area[y*row];
for(x=0;x<row;x++) matrix->data[0][x]=0.0;
for(y=1;y<column;y++) memcpy(matrix->data[y], matrix->data[0], sizeof(double)*row);
return matrix;
}
matrix_t *matrix_mul(matrix_t *a, matrix_t *b){
matrix_t *c;
int i, j, k, x;
if((x=a->row)!=b->column) return NULL;
c=matrix_alloc(a->column, b->row);
for(i=0;i<a->column;i++)
for(j=0;j<b->row;j++)
for(k=0;k<x;k++) c->data[i][j]+=a->data[i][k]*b->data[k][j];
return c;
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch