C/C++の宿題を片付け ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
312:デフォルトの名無しさん 07/09/26 08:39:29 >>281 >>306 の修正版 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4973.c 313:デフォルトの名無しさん 07/09/26 12:16:23 なにかIOCCC風な高度のテクニックを使っているプログラムを教えてください。 お題はなんでもいいです。 314:デフォルトの名無しさん 07/09/26 12:22:53 >>313 IOCCC見てくればいいじゃん 315:よこ ◆2LEFd5iAoc 07/09/26 12:27:16 【質問テンプレ】 [1] 授業単元:システム演習 [2] 問題文(含コード&リンク):行列の乗算のプログラムを作ってみよ。大きな行列要素(1000×1000)でも実行できるように作っておくこと。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: ([2007年09月26日17:00まで] [5] その他の制限: 制限はないです。お願いします。 316:デフォルトの名無しさん 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; }
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5293日前に更新/230 KB
担当:undef