[表示 : 全て 最新50 1-99 2chのread.cgiへ]
Update time : 05/09 09:18 / Filesize : 13 KB / Number-of Response : 60
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け(入門篇) Part 40



1 名前:デフォルトの名無しさん [2008/11/26(水) 22:13:31 BE:236678055-PLT(31170)]
C言語の入門者向け解説スレです。

教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
  C/C++の宿題を片付けます 118代目
  pc11.2ch.net/test/read.cgi/tech/1226847424/

・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
・開発環境や動作環境も晒すと答えが早いかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

前スレ
  C言語なら俺に聞け(入門篇) Part 39
  pc11.2ch.net/test/read.cgi/tech/1226693085/
過去スレ
  makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000

45 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 22:53:30 ]
>>42
うまくいかないソースくらい貼れ

46 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 22:53:49 ]
a[3]って配列を宣言した時普通ならa[0], a[1], a[2]ってなるのが0オリジン
数学とかで使う普通の配列が1オリジンでa[1], a[2], a[3]ってなるやつです

47 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 22:53:57 ]
  1 2 3
1 9 3 1
2 6 4 8
3 1 5 5

こんな感じだとエスパーしてみた。

48 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 22:55:18 ]
>>45
#include <stdio.h>
int main(void)
{
float a[3][3]={{1.0,2.0,3.0},{4.0,5.0,6.0},{7.0,8.0,9.0}};
int i, j;
float *mp;
mp = &a[0]-1;
for(i=1; i<=3; i++){
for(j=1; j<=3; j++){
printf("mp[%d][%d]=%d ", i, j, mp[i][j]);
}
printf("\n");
}
return 0;
}

あと行を1オリジンにするだけだと思うのだけど……まったくわからない

49 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 22:57:52 ]
>>48
#define ORIGIN1(matrix, row, col) matrix[row-1][col-1]

50 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 22:58:30 ]
floatを%dで吐くな

51 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 22:59:46 ]
mpの型が違う。それと、得る物が少ないからお勧めしない。
Cだとサイズを変えられないし、C++ならなんでもありだからね。

52 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 23:00:03 ]
>>46
根本的に勘違いしているようだが、Cは0オリジンであって、1オリジンの添字を使うことはできない。

単に表示を1オリジンにしたいだけなら添字に1加えること。

53 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 23:02:17 ]
>>48
言語には言語の流儀ってものがあるからバカなこと考えずに0オリジンでやれ



54 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 23:05:33 ]
1オリジンと言うと Numerical Recipes in C を思い出すな。
FORTRAN 用の本を C 用にしたものだから
1オリジンで強引にやってた気がする。
しかもいくつかバグが・・・。

まあ内部的に0オリジンで扱って、
表示する時は必要に応じて1オリジンで表示する、
ってのがC的だな。

55 名前:デフォルトの名無しさん [2008/11/27(木) 23:08:05 ]
恣意的

56 名前:初心者 [2008/11/27(木) 23:14:42 ]
C++初心者です。
現在、独習C++で勉強しています。
中級者向けの本、お勧めの本などありましたら
教えていただければ幸いです。

57 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 23:16:53 ]
>>56
スレ違いです。つーか、マルチすんな。

58 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 23:17:46 ]
>>49
加減算より優先順位の低い演算子等が入ってくるとおかしくなるぞ。
((matrix)[(row)-1][(col)-1])
にしとけ。

59 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 00:38:01 ]
C言語を利用してモデリングの勉強したいのでつが
何かいい本ないですかね?8月に出たロボコンの本とかどうなのかな?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<13KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef