1 名前: ◆wJkgNpeM0Y mailto:sage [2009/01/10(土) 14:21:43 ] スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。 過去ログ スレを勃てるまでもないC/C++の質問はここで pc11.2ch.net/test/read.cgi/tech/1167476845/ スレを勃てるまでもないC/C++の質問はここで 2 pc11.2ch.net/test/read.cgi/tech/1178503366/ スレを勃てるまでもないC/C++の質問はここで 3 pc11.2ch.net/test/read.cgi/tech/1187521676/ スレを勃てるまでもないC/C++の質問はここで 4 pc11.2ch.net/test/read.cgi/tech/1221633708/ スレを勃てるまでもないC/C++の質問はここで 5 pc11.2ch.net/test/read.cgi/tech/1230516307/
46 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:29:07 ] int *p,*s,*t; の実態がない?
47 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:31:45 ] >>45 さん int *p,*s,*t; FANS F={{0},{0},{0}}; これじゃポインタの中身pstを初期化できてないんですか??? >>46 int *p,*s,*t; コレを構造体でmainとしたの関数で使いたかったんですが。 配列に入れて配列の足し算をしたくて、こう書いてみたんですが・・・
48 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:32:11 ] >*t = *p; これ?
49 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:34:32 ] >>48 さん *t=*pで下のTANSの中身をAAに入れようと思ってそうやったんですが・・・
50 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:36:33 ] >>47 ulint *p,*s,*t; FANS F={{0},{0},{0}}; p = F.TANS; s = F.AA; t = F.BB; とかしとけばいいかな?
51 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:40:26 ] >>50 さん それでやってみると、エラーでなくワーニングで assignment from incompatible pointer type assignment from incompatible pointer type assignment from incompatible pointer type とでて、ポインタのタイプがおかしいって言われちゃいました・・・
52 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:41:02 ] ウォーニング
53 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:45:29 ] >>49 こんなかね >int *p,*s,*t; ↓ int pe,*p=&pe,se,*s=&se,te,*t=&te;
54 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:47:06 ] そもそも、ポインタである必要があるのか・・・
55 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:47:45 ] >>51 codepad.org/NuAqZ3xB とくに警告とかでないけど?
56 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:50:34 ] >>53 さん これで、tasの関数に飛ばすときはpe,se,teを飛ばせばいいってことですか?? >>54 さん 最終的に無限桁にしたのでポインタと構造体がいいと進められたんです。 >>55 さん Cygwinだからでしょうか・・・
57 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:50:44 ] >>55 >ulint *p,*s,*t; こっちの型を差し替えてないんだろ
58 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:51:55 ] >>56 ポインタの型をint*からulint*に直した?
59 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:53:01 ] そもそも、tasに引数が3つもあるのが意味不明。 tas(&F,&F,&F);としてしか呼び出してないし。
60 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:56:29 ] >>58 さん 大分回るようになりました!! けどやはりAA[2]まで進んだ後でとまりました・・・ >>59 さん tas(&F,&F,&F)でTANS、AA、BBをtasの関数に飛ばすってイメージだったんですが・・・
61 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:58:21 ] >>56 > >>53 さん > これで、tasの関数に飛ばすときはpe,se,teを飛ばせばいいってことですか?? tasとp,s,tは関係ないじゃん
62 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:01:03 ] ユーザがfor文と配列使って異なる数字を標準入力して出来た数列が出来たとき 奇数番目の合計をAに、偶数番目の合計をBに入れるっていうプログラム作りたいのですがどうすればいいのでしょうか… とりあえず、 #include<stdio.h> main() { int n,i,a[i]=100000; scanf("%d",&n); for(i=0;i<=n;i=i++) { printf("i番目");scanf("%d",&a[i]); puts("\n") } まで出来たのですが、同じ数字があったときにやり直しさせるのと、iが奇数番号の数の合計とiが偶数番号の時の合計を代入させるのがわからないです。 だれか、そこを教えてくれないでしょうか。
63 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:06:50 ] >>62 int n,i,a[i]=100000; 怖ぇ・・・たぶん int n,i,a[100000]; って書きたかったに違いない
64 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:12:51 ] >>61 さん *p,*s,*t=TANS,AA,BBってリンクしてるイメージだったんですが違うんですか? ポインタと構造体の関係が本当に分からなくて・・・すみません・・・
65 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:12:55 ] #include <stdio.h> #define TBL_SIZE 100000 int main() { int tbl[TBL_SIZE]; int i, n; printf("入力する回数>"); scanf("%d", &n); for (i = 0; i < n; i++) { printf("%d番目", i); scanf("%d", &tbl[i]); } return 0; } こんな感じだろ?
66 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:16:37 ] >>64 ちがうな。 そもそも、何をしてるプログラムだかさっぱりわからないが。
67 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:19:36 ] >>66 さん プログラムは32bit×32bit=64bitをするために 配列をつかって筆算みたいなやり方で答えを出そうとしてます。 AA+BB=TANSにしてBB=TNASでまたAA+BB=TNASを繰り返そうという考えです。
68 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:35:04 ] >>67 www5.airnet.ne.jp/tomy/cpro/longint.htm
69 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:41:07 ] >>68 さん ちょwwwもろ回答がwwwww 参考にしながら頑張ってみます、一応今ある知識だけで組んでみたいんで。 ありがとうございます!
70 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:43:07 ] >>65 for (i = 0; i < n; i++) { printf("%d番目", i); scanf("%d", &tbl[i]); } の部分を int jを定義しておいて for (i = 0; i < n; i++) { printf("%d番目", i); scanf("%d", &tbl[i]); for(j=0; j < i; j++ ){ if( tbl[i] == tbl[j] ){ printf("重複させんな氏ね\n"); i--;break; } } } にすればいいか
71 名前:sage [2009/01/11(日) 16:29:32 ] >>70 ありがとうございます あとはiが奇数時に配列に入れた数の和と、iが偶数の時に入れた数の和を比べて、多い方をAに入れ、Bに小さい方を入れるってしたいのですが for文使っても、iが偶数の時と奇数の時に分けられないので困ってます。 なんか最初から間違いがあったみたいですがw 本題これでして…
72 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:41:05 ] >>71 ・宿題ならこちらへ C/C++の宿題を片付けます 121代目 pc11.2ch.net/test/read.cgi/tech/1230678123/ ・sageはメール欄に ・i%2でiを2で割った余りという意味。0と1で場合分けすれば偶奇判定できる
73 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:51:39 ] Cの規格書が高いからpdfを手書きで写しているのですが、「写本」という文字をシードにして乱数を生成する高速な方法を教えてください。
74 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:53:02 ] pdfを見ている状況なら、保存すればいいじゃん。 # pdfとしてが無理ならキャプチャしてもいいし。
75 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 17:19:16 ] >>73 char s[] = "写本"; とかやって、s[0]からs[3]までの値をシードにして、ってこと?
76 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:42:12 ] >>72 むしろそこの自然数が書かれたカードがうんたらゲームを自分で作ろうとしてて 部分的な質問を投げるようになったんだと思う。 宿題スレは丸投げ用だと思うからこっちでもいいんじゃないのかな
77 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:44:15 ] 誰か>>73 をお願いします。
78 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 23:17:25 ] >>77 75以上の答えはないだろ
79 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 23:27:12 ] ありがとうございました。 何とか間に合いそうです。
80 名前:デフォルトの名無しさん [2009/01/12(月) 02:24:40 ] まだナンバーサイン野郎は意味も無く、不適切なナンバーサインの使い方をしているの? ♠はトランプのスーツの中で最強ですけど
81 名前:71 mailto:sage [2009/01/12(月) 02:37:44 ] 本当すいません…ここしか頼るとこなくて… とりあえず71さんのヒント使って作ってみたのですが とりあえずint gを定義して for(g=0;g<0;g++){ if(g%2=0){ x=x+a[g]; else{ y=y+a[g]; } } if(x<y){ printf("先手の点数=%d\n",x); printf("後手の点数=%d\n",y); else{ printf("先手の点数=%d\n",y); printf("後手の点数=%d\n",x); } } printf("先手の勝ち"); てなったんですけど、でもこれじゃあ、勝ち負けと先手が勝ちって表示されるのが連動してなくてなんか不安なんですよね… あとは引き分けの時に、数列の端と端を比べて大きい方をとるってやつが今模索中でございまして、ヒントくれればいいなと