952 :
928 :2006/11/30(木) 23:15:59
>>950 確かにそうですね。ありがとうございます。
しかし下のエラーが出てしまいます。初心者ですいません。
error C2440: '=' : 'unsigned char' から 'unsigned char [3]' に変換できません。
>>951 ppm形式の画像を出力して表示したいと言うことです。
ちなみにソフトはACDSee v3.1vです。
>>952 宣言部もちゃんと変えた?
画像の問題じゃなくて配列がまともに扱えないだけじゃないのか
954 :
デフォルトの名無しさん :2006/11/30(木) 23:36:12
>>952 g[v][c]=f[v][i][c];
を
g[v][0][c]=f[v][i][c];
とすればいいじゃない?
とりあえず画像をどうこうしたいなら多次元配列の勉強を先にしたほうがいい。
>error C2440: '=' : 'unsigned char' から 'unsigned char [3]' に変換できません。
これで困っているようなら、多次元配列を扱うのも早すぎる気がする。
956 :
928 :2006/11/30(木) 23:43:14
>>953 その通りです。
>>955 解答ありがとうございます。
地道な努力をしようとしなかった自分が甘ちゃんでした。
勉強して出直してきます。
>勉強して出直してきます。 やっぱ最初から答えが聞きたかっただけじゃねえか
cpadだとファイルの入出力ができないんですか?
>958 できます
2進数で入力した文字を16進数で出力するにはどうやればいいんですか?
16で割ればいい
>960 printf("%x", n);
>>962 二進数文字列だからそれじゃダメ。
printf("%x",strtol(str,NULL,2));
964 :
767 :2006/12/01(金) 20:02:15
少し話題がずれるかもしれないのですが 皆さんはCをどのくらいの期間勉強してるんですか?
965 :
デフォルトの名無しさん :2006/12/01(金) 21:29:21
1〜10までの乱数を10個発生させて表示させる。ただし、1度出た数字は除外する」 という課題を出されたのですが、教科書を見ながら解いても 同じ数字が重複して表示されてしまうプログラムになってしまいどうしていいかわかりません。 どなたか教えていただけませんでしょうか
>>965 同じ数字が重複して表示されることを許してるからじゃないの?
>965 1.チェック用の配列を用意して既に選んだものを選ばないようにする。 2.一つの数字を選ぶたびにその数字を抜き取って配列を詰めなおし、そこから選ぶ
3. 1-10の数字が並んでいる配列を用意し、乱数で(要素同士を入れ替えるなどして)適当に並べ替える。
969 :
デフォルトの名無しさん :2006/12/01(金) 21:54:06
#include<stdio.h> #include<stdlib.h> int main (void) { int i , n; srand((unsigned)time(NULL)); printf(0〜10:\n"); for (i=1; i<=10;i++) printf("%d",rand()); としてみたのですが重複してしまいます
971 :
デフォルトの名無しさん :2006/12/02(土) 00:05:33
C仕事にしようとする場合、数学の知識はどの程度必要でしょうか?
972 :
デフォルトの名無しさん :2006/12/02(土) 00:08:54
いるのは精神力と体力と忍耐力
973 :
ぴゅあ :2006/12/02(土) 00:24:54
>>969 >としてみたのですが重複してしまいます
それが
>ただし、1度出た数字は除外する
で"やりなさい"と言われている部分のことになるのではないですか?
重複してしまうというのはそこをやっていないから…というところは把握できてます?
楽に(&効率良く)片付けるには
>>967-968 の言っている中で3のような手段がいいだろうと思うけど
最初(初歩的?)な段階のロジックを理解させようとしているのだとすれば1のような手段かも知れないと思ったりもするけど…
或いは各々がどんなロジックを考え出すかというようなことを求めているものなんでしょうか
あるロジックの考え方の理解を深めるために出された課題だとするなら
答えを導き出す元になるものがその中には足りないようにも思えるし
その中>{1〜10までの乱数を10個発生させて表示させる。ただし、1度出た数字は除外する。}
その課題が出される前にあった講義の中にそれがあったりはしないんでしょうか
(講義の中で出された課題ということですし
どういう経緯でその課題が出されたかに沿ってないと答えを提出しても通らないと思ったりもするので…)
974 :
デフォルトの名無しさん :2006/12/02(土) 00:28:01
ロジック(・∀・)まで読んだ
答える必要ないよ 2chから個人サイトまでマルチポストしまくり
C言語を作るのにおすすめのフリーソフトはありませんか?
yaccとflex。
yaccとbisonてどこが違うの?
979 :
デフォルトの名無しさん :2006/12/02(土) 00:53:23
>>978 yaccは生で食べれない
bisonは刺身で食べれる
あと仕入れ値がbisonはyaccより1.8倍ぐらい高め
flexのDL場所がみつからないよ
981 :
ぴゅあ :2006/12/02(土) 00:55:42
そろそろ誰か次スレたてようね〜
>>976 日本語なら文法や意味があいまいだったり間違えて書いたりしても
読む側が推測してある程度は理解してもらえるけど、
C言語のコンパイラはそんなことないからな。
頑張れ。
987 :
デフォルトの名無しさん :2006/12/02(土) 06:01:20
これ、もっと効率良い書き方ありませんか? fprintf(output2,"%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\n",bin[0],bin[1],bin[2], bin[3],bin[4],bin[5],bin[6],bin[7],bin[8], bin[9],bin[10],bin[11],bin[12],bin[13], bin[14]);
>>987 int i;
for (i = 0; i < 15 - 1; i++)
fprintf(output2, "%d\t", bin[i]);
fprintf(output2, "%d\n", bin[i]);
989 :
デフォルトの名無しさん :2006/12/02(土) 06:17:48
ごめん、説明不足だった。
>>988 のは立に数値が保存されてくじゃないですか。
1 2 3 4 みたいに
横に並べて保存したいのです。
FILE *output2;
output2=fopen("1ca_dist.dat","a");
てしたので、シミュレーションする毎にデータに追加されて、
何十回かシミュレーションして各ビンの平均値を出したいのですが。
なにか、うまいこと出来ないかのう?
991 :
デフォルトの名無しさん :2006/12/02(土) 06:44:27
アーー
992 :
デフォルトの名無しさん :2006/12/02(土) 06:46:11
ごめん、そんなんでOKだったとは知らなかった。
>987を書くような人間が>988をそんなんてw
こりゃ将来苦労するタイプだな。人の意見がなかなか耳に入らない奴。 早とちり。
int main(void) { int yorn[10]; int i; for (i = 0; i < 10; i++) { yorn[rand()-1] = 1; } for (i = 0; i < 10; i++) { if (yorn[i] == 1) { printf("%d\t", i); } } } //rand()のところは1-10を生成するようにする
そういや、次スレは?
>995 何がしたいのかわからん
>>998 を悩ませたいんだと思う
1000は譲るよ
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。