09/01/11 14:58:21
>>56
> >>53さん
> これで、tasの関数に飛ばすときはpe,se,teを飛ばせばいいってことですか??
tasとp,s,tは関係ないじゃん
62:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/01/11 15:06:50
>>62
int n,i,a[i]=100000;
怖ぇ・・・たぶん
int n,i,a[100000];
って書きたかったに違いない
64:デフォルトの名無しさん
09/01/11 15:12:51
>>61さん
*p,*s,*t=TANS,AA,BBってリンクしてるイメージだったんですが違うんですか?
ポインタと構造体の関係が本当に分からなくて・・・すみません・・・
65:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/01/11 15:16:37
>>64
ちがうな。
そもそも、何をしてるプログラムだかさっぱりわからないが。
67:デフォルトの名無しさん
09/01/11 15:19:36
>>66さん
プログラムは32bit×32bit=64bitをするために
配列をつかって筆算みたいなやり方で答えを出そうとしてます。
AA+BB=TANSにしてBB=TNASでまたAA+BB=TNASを繰り返そうという考えです。
68:デフォルトの名無しさん
09/01/11 15:35:04
>>67
URLリンク(www5.airnet.ne.jp)
69:デフォルトの名無しさん
09/01/11 15:41:07
>>68さん
ちょwwwもろ回答がwwwww
参考にしながら頑張ってみます、一応今ある知識だけで組んでみたいんで。
ありがとうございます!
70:デフォルトの名無しさん
09/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
09/01/11 16:29:32
>>70
ありがとうございます
あとはiが奇数時に配列に入れた数の和と、iが偶数の時に入れた数の和を比べて、多い方をAに入れ、Bに小さい方を入れるってしたいのですが
for文使っても、iが偶数の時と奇数の時に分けられないので困ってます。
なんか最初から間違いがあったみたいですがw
本題これでして…
72:デフォルトの名無しさん
09/01/11 16:41:05
>>71
・宿題ならこちらへ
C/C++の宿題を片付けます 121代目
スレリンク(tech板)
・sageはメール欄に
・i%2でiを2で割った余りという意味。0と1で場合分けすれば偶奇判定できる
73:デフォルトの名無しさん
09/01/11 16:51:39
Cの規格書が高いからpdfを手書きで写しているのですが、「写本」という文字をシードにして乱数を生成する高速な方法を教えてください。
74:デフォルトの名無しさん
09/01/11 16:53:02
pdfを見ている状況なら、保存すればいいじゃん。
# pdfとしてが無理ならキャプチャしてもいいし。
75:デフォルトの名無しさん
09/01/11 17:19:16
>>73
char s[] = "写本";
とかやって、s[0]からs[3]までの値をシードにして、ってこと?
76:デフォルトの名無しさん
09/01/11 22:42:12
>>72
むしろそこの自然数が書かれたカードがうんたらゲームを自分で作ろうとしてて
部分的な質問を投げるようになったんだと思う。
宿題スレは丸投げ用だと思うからこっちでもいいんじゃないのかな
77:デフォルトの名無しさん
09/01/11 22:44:15
誰か>>73をお願いします。
78:デフォルトの名無しさん
09/01/11 23:17:25
>>77
75以上の答えはないだろ
79:デフォルトの名無しさん
09/01/11 23:27:12
ありがとうございました。
何とか間に合いそうです。
80:デフォルトの名無しさん
09/01/12 02:24:40
まだナンバーサイン野郎は意味も無く、不適切なナンバーサインの使い方をしているの?
♠はトランプのスーツの中で最強ですけど
81:71
09/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("先手の勝ち");
てなったんですけど、でもこれじゃあ、勝ち負けと先手が勝ちって表示されるのが連動してなくてなんか不安なんですよね…
あとは引き分けの時に、数列の端と端を比べて大きい方をとるってやつが今模索中でございまして、ヒントくれればいいなと