[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 09:30 / Filesize : 328 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

C/C++の宿題を片付けます 93代目



1 名前:デフォルトの名無しさん [2007/07/15(日) 22:31:51 ]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
【過去ログ検索】        chomework.sakura.ne.jp/
【wiki】               www23.atwiki.jp/homework/

【前スレ】
C/C++の宿題を片付けます 92代目
pc11.2ch.net/test/read.cgi/tech/1183511364/

477 名前: ◆UoNQqijD4I [2007/07/20(金) 20:27:13 ]
>>457さん、fgetsに変えたのにまだエラーがでます泣

478 名前: ◆UoNQqijD4I [2007/07/20(金) 20:30:25 ]
>477ですが、ちなみに今度はこんなエラーです
tin.c: 関数 `main' 内:
tin.c:12: error: too few arguments to function `fgets'
tin.c:14: error: too few arguments to function `fgets'
tin.c:16: error: `gcc' undeclared (first use in this function)
tin.c:16: error: (Each undeclared identifier is reported only once
tin.c:16: error: for each function it appears in.)
tin.c:16: error: 文法エラー before "for"
tin.c:16: error: 文法エラー before ')' token
tin.c: トップレベル:
tin.c:20: error: 文法エラー before string constant
tin.c:20: 警告: conflicting types for built-in function `printf'
tin.c:20: 警告: data definition has no type or storage class


479 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:33:22 ]
>>471
ttp://www.geocities.jp/ky_webid/cpp/library/000.html
こういうやつのつもりで言ったんですが、違うんですか?
課題が出るときに標準ライブラリ禁止といわれただけなので、よくわからないです

480 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:35:13 ]
>>478
いやゴメン、使い方はオンラインマニュアルなりで確認しようね
とりあえず
fgets(buf, sizeof(buf), stdin);
にすればおk

あと>>458

481 名前:480 mailto:sage [2007/07/20(金) 20:35:50 ]
bufじゃなかった、strだった

482 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:49:02 ]
finを思い出した。

483 名前:電通女 ◆v1Uy5WkQ7k mailto:sage [2007/07/20(金) 20:57:35 ]
スイマセンこれは宿題なんでこっちで教えてください。
1+2+3+…+nをつくるんですが、

#include <stdio.h>

int sum(int n)
{
int ans,i;
ans=i;
for(i=0;i<=n;i++) ans+=i;
return ans;
}

int main(void)
{
int n,s;
printf("n="); scanf("%d",&n);
s=sum(n);
printf("1から%dまでの和は%dです。\n",n,s);
return 1;
}

こうしたら実行結果が

n=5
1から5までの和は16です。

となってしまったんですが、どこで1増えてしまってるんでしょうか?

484 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:59:16 ]
>>483
よく見てないけど、sum()の中の
ans=i;



485 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:59:42 ]
ans=i;をans=0;に変えると幸せになれる



486 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:59:44 ]
>>483
>ans=i;
何を代入してるんだ。

487 名前:電通女 ◆v1Uy5WkQ7k mailto:sage [2007/07/20(金) 21:00:39 ]
ああ!
ans=0;
ですね!ありがとうございました!

488 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 21:11:04 ]
上に書いてあったのに読んでないんだな


489 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 21:19:48 ]
宿題を人に投げる人間なんてそんなもん。


490 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 21:20:35 ]
ans=iはans=1の写し間違いだとesp

491 名前:電通女 ◆v1Uy5WkQ7k mailto:sage [2007/07/20(金) 21:38:53 ]
おお、なるほど。

492 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 21:44:31 ]
コピペに移し間違いなんt

493 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 22:48:16 ]
>>479
C言語にprintf関数やputs関数など、多数の関数群(標準ライブラリ関数)があるように

よく読んだか?

494 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 22:49:58 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
次のようにプログラムを作成せよ。以下のプログラムのmainとnumber大域変数は変更しないで、
intのスタックを2つ作る(大域変数)。1つのスタックは数値をいれる。もう1つには演算子を表す数をいれる

#include<stdio.h>
#include<ctype.h>
char *p;char c[100];
int expression(void);
int term(void);
int number(void);
main(){
int ans;
while(1){
printf("Enter expression : ");
fgets(c,90,stdin);
p=&c;

if(*p == '\n')
{break;}
ans=expression();
printf("Answer:%d\n" , ans);
}
}

495 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 22:50:48 ]
int expression(){
int ans;
ans = term();
while(1){
if(*p == '+'){
*p++;
ans = ans + term();
}
else if(*p == '-'){
*p++;
ans = ans - term();
}
else
break;
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2007年07月21日
[5] その他の制限:特になし



496 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 22:55:05 ]
>>494
翻訳ソフトにかけた日本語みたいだな。さっぱりわからん。

497 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 22:56:27 ]
>>494
こんな問題出す糞教官は死んだ方がいいな

498 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 22:58:10 ]
>>493
読み飛ばして勘違いしていました
すみません

>>470は標準ライブラリではなく
C++標準ライブラリです

499 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:01:05 ]
>>494
問題文は?

500 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:02:02 ]
>>498
std::coutとかも標準ライブラリじゃねぇの?

501 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:23:13 ]
必要なものはアセンブラで組めと

502 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:24:09 ]
>>494です
書いたプログラムのmainとnumber大域変数は変更しないで、
intが2つのに変えます。1つにはスタックは数値をいれて、もう1つには演算子を表す数をいれます。
それで、+−*/を出来るようにします。
例えば
+の時は0
-の時は1
*の時は2
/の時は3 を入れるそうです。


503 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:24:54 ]
日本語でおk

504 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:29:52 ]
>>1
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

ってあるから標準ライブラリ使うなって言うトチ狂った事が多発するんじゃね?
ここで
[5] その他の制限: (どこまで習っているか、ある特定の標準ライブラリ関数は使ってはいけない等々)

って書いとけばちょっとはマシになるのでは?

505 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:30:58 ]
別にどうでも良い。
スルーするなり、非標準の関数を用いるなり、好きにすれば良いじゃん。



506 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:31:08 ]
[1] 授業単元: アルゴリズム
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4691.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 7/23
[5] その他の制限: 特になし

よろしくお願いします

507 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:34:06 ]
[5] その他の制限:(#include<stdio.h>は使ってはいけない等々)
[6] どこまで習っているか (for文を習いました等々)

もっと具体的に、そして分けたほうがいいんじゃないか?

508 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:39:25 ]
>>494
括弧は使うの?

509 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:41:46 ]
>>507
んなコマいこと言ってたらキリが無い

510 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:44:49 ]
>>508
括弧はどこの括弧ですか?大域変数なら、その大域変数を用いて
プログラムを作成するみたいです

511 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:45:05 ]
>>506
再帰

int fib(int n) {
if (n == 0) return 0;
else if (n == 1) return 1;
else return fib(n-1) + fib(n-2);
}

非再帰

int fib(int n) {
int a = 0;
int b = 1;
while (n > 0) {
int t = a+b;
a = b;
b = t;
n = n-1;
}
return a;
}

512 名前:508 mailto:sage [2007/07/20(金) 23:48:54 ]
>>494, 510
入力する式で括弧を使うかってこと

513 名前:デフォルトの名無しさん [2007/07/20(金) 23:52:35 ]
>>506
そのフィボナッチ数列あってる?
初項と第2項は共に1じゃなかったっけ?

514 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:55:37 ]
>>513
fib(1)とfib(2)を1にしたいんじゃないかな
そうすっと、fib(0)を0にしてfib(1)を1にするとちょうどよくなる

515 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 00:03:37 ]
>>512
括弧は使っても使わなくても大丈夫です。
とにかく、問題文の内容を使い動けばいいみたいです



516 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 00:04:58 ]
>>506

#include <stdio.h>
int fib1(int n) { //再帰
if (n == 0) return 0;
else if (n == 1) return 1;
else return fib1(n-1) + fib1(n-2);
}
int fib2(int n) { //非再帰
int a = 0;
int b = 1;
while (n > 0) {
int t = a+b;
a = b;
b = t;
n = n-1;
}
return a;
}
int main(void) {
int n[] = {10, 20, 30, 40, 45};
int i;
for (i=0;i<5;i++) printf("%d ", fib1(n[i]));
putchar('\n');
for (i=0;i<5;i++) printf("%d ", fib2(n[i]));
putchar('\n');
return 0;
}

517 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 00:20:07 ]
>>515
>以下のプログラムのmainとnumber大域変数
mainとnumberは大域変数なのか?

>とにかく、問題文の内容を使い動けばいいみたいです
前スレで回答があったんだがな。気がつかなかった?


518 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 00:51:20 ]
>>511 >>516
ありがとうございました
参考にさせてもらいます

519 名前:デフォルトの名無しさん [2007/07/21(土) 02:36:41 ]

3目並べのプログラムです。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4692.c

何度も対戦できるようにするために列の判定の配列を初期化するようにしたらコンパイルエラーが出るようになってしまいました。
頭の中がぐちゃぐちゃになってきたので、アドバイス等いただければと思います。

正常にプログラムを実行したとき、先攻or後攻を決めることになりますが
また実装はしていませんのでお飾り状態です。

520 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 02:39:33 ]
>>517
以下のプログラムのmainとnumber大域変数は変更しないで、
1つのスタックは数値ともう1つには演算子を表す数を大域変数にすればいいと
思います



521 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 02:50:35 ]
>>520
mainは大域変数なのか?

522 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 02:58:09 ]
>>519
酔っぱらっているので、ロジックはチェックできないがw

まず、変数と関数に同じcheckを割り当てることを止めろ。
配列={0}とできるのは、配列変数の宣言をする時。
それ以外の箇所で初期化したいなら、
ループで各要素に0を代入するか、
>memset(area,sizeof(area),0);
とかするといいぞ。

523 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 03:18:49 ]
>>520
宿題の回答を依頼したいなら、
使う用語は理解してからにしてくれ。

大域をpublicと言う意味で使うにしても、
mainやnumberは変数ではないよ。
スタックと言う言葉の意味は分かっているのか?
依頼したい内容が、そもそも通じてないから、
回答が無いのじゃないかな?

524 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 03:27:57 ]
>>521>>523
あやふやな言い方ですいません。mainとnumber大域変数は変更しないで、
intのスタックを2つ作りたいです。
1つのスタックは数値をいれる。
もう1つには演算子を表す数をいれる。です。

よろしくお願いします

525 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 03:36:44 ]
>>519
battle→put→battleって流れがあるからずっと対戦続けてるとばぐるよ。
int check[8]がグローバルである必要が無い。check関数内のみでOK。
もちろん名前は>522の言うように別でw

あと、do-whileですっきりしそうなところがいっぱいある。
別に直さなくても動くから無視してくれていいけど。



526 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 03:36:51 ]
だから、そもそもmainは変数じゃないって。
変数じゃない物を、変更できる訳はないよ。
あなたが言う「スタック」とは何なのか
説明してくれないと、意味が分からない。

527 名前:526 mailto:sage [2007/07/21(土) 03:39:36 ]
振り先は>>524です。orz

528 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 03:41:46 ]
>>524
あやふやな言い方を直したつもりなのか同じことを繰り返しているぞw
元のプログラムに「number大域変数」というものが存在しない。
よって変更するしないとかいう意味がわからない。
提示したプログラムだが途中までしかコピペしていないんじゃないか?
break;なんかで終わってるしterm関数が見当たらない。

529 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 03:44:40 ]
>>526
スタックはおそらくそのままスタックでいいかと。
2つってのが引っかかるが演算子と数値で2つ作るんだろう。
「1+2-3」って入力ならスタックA「1 2 3」スタックB「+ -」になって
popA popB popAの演算をスタックがなくなるまで行う。
って感じでエスパーしてみた。

乗除に対応しようとした時点で破綻する設計だなw

530 名前:526 mailto:sage [2007/07/21(土) 03:54:08 ]
この問題、奇特な人が回答しているんだが。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4615.c
依頼者はこれが気に入らないのかな。
もちろん、この時の依頼者は別人かも試練。
だが、「スタックで実装しろ」の言う意味は
理解してからにして欲しい。


531 名前:519 [2007/07/21(土) 03:55:30 ]
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4693.c

checkをローカルに戻してareaの再初期化をforに変更しました。
プログラムを実行すると、途中でうまく配置できていない感じになってしまいます。

先攻後攻は先ほどと同じく未実装です。

532 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 03:57:18 ]
すいませんでした。
プログラムが途中でした。
}
return(ans);
}
int number(void){ //数値データ
int i=0;
while (isdigit(*p)){
i = i*10+(*p++)-48;
}
return(i);
}

533 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 03:58:33 ]
とりあいずmainとnumberは変更しないで、
intのスタックを2つ作る。
1つのスタックは数値をいれる。
もう1つには演算子を表す数をいれる。です。

534 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 04:00:58 ]
>>530さん
書き込みが食い違いになってしまいすいません。

535 名前:526 mailto:sage [2007/07/21(土) 04:02:18 ]
だから、スタックって何?



536 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 04:05:17 ]
whileをintだけで書けってことをいいたいのか?

537 名前:526 mailto:sage [2007/07/21(土) 04:07:07 ]
>>533
「演算子を表す数」を定義してくれ

538 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 04:07:33 ]
あれか?それともint使ってとにかく数値をいれるのと
演算子を表す数のを作ればいいのか?

539 名前:526 mailto:sage [2007/07/21(土) 04:13:19 ]
要件定義ができないなら、それでも良いが、
どういう物を作って欲しいのか、理解可能な表現にして下さい。
少なくとも宿題をそのまんま書いてくれないと、espの領域になる。

540 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 04:17:12 ]
演算子を表す数ですか?
一応黒板に書いてあったのを書き込みました

541 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 04:19:48 ]
確か+が一番弱く/が一番強くなるように作ると言っていました

542 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 04:20:14 ]
>>531
print関数がおかしい。
ループ部分を以下みたいにしてみ。
for(i=0;i<9;i++){
if(area[i] == 0)
printf(" ");
else if(area[i] == 1)
printf("○");
else if(area[i] == 4)
printf("×");
else
printf("as");
printf("|");
if ( i % 3 == 2 )
printf("\n");
}
とりあえずは動くよ。

543 名前:526 mailto:sage [2007/07/21(土) 04:21:36 ]
>>531で示した回答にどういう不満があるのか、
せめてそれだけども答えてくれ。

>演算子を表す数ですか?
>一応黒板に書いてあったのを書き込みました
見落としたかも知れないから、
演算子と定数の対応表を再掲してくれ。


544 名前:526 mailto:sage [2007/07/21(土) 04:23:51 ]
スタックの定義も提示してくれ。

545 名前:519 [2007/07/21(土) 04:31:10 ]
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4694.c

>>542
挙動は正常になったようなのですが
2度目以降の対戦がうまく動作しません・・・(´・ω・`)
area[]の初期化は出来ていると思うのですが・・・


>>543
レスアン間違ってないですか?



546 名前:519 [2007/07/21(土) 04:33:00 ]
初期化できてなかったですね・・・^^;
すいません、みすってました

547 名前:526 mailto:sage [2007/07/21(土) 04:35:27 ]
>>541
宿題の意味が分からないなら、>>531で宿題の回答にしたらいい。
この回答に不満があるなら、
この回答のどこが設問と違うか、提示すればいいだけだと思うが。

548 名前:519 [2007/07/21(土) 04:41:21 ]
526さんは何を言ってるんでしょうか?

私ともう一人質問をされてる方がいるんだとおもんですが・・・?

私は3目並べの話をしてるんですが?

549 名前:526 mailto:sage [2007/07/21(土) 04:46:50 ]
>>548 気にしないで下さい。あなたの推察通りです。

済まん、酔っぱらいだ
>>547で書いた>>541>>540の間違いだ。訂正する。

550 名前:519 [2007/07/21(土) 05:08:59 ]
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4695.c

先攻or後攻も考慮してみました。

課題の指示としては
1,二人対戦・com対戦可能
2,毎回com/man対戦・終了を選ぶ

というものです。

このプログラムでみたせてるでしょうか?

私の中ではOKだとは思うのですが

できてねーぞごるぁ! とかあればおねがいします

551 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 05:14:31 ]
【即会い!!】

私自身が使用してみて、即出会えた出会い系サイトを紹介するブログ始めました。
2chと併用して使える良質な即日系サイトのみを厳選して薦めております。
↓↓↓
【ブログ 〜即出会えるサイト】deaigets.blog97.fc2.com/

552 名前:519 [2007/07/21(土) 05:18:33 ]

もう一つ指示があったのを忘れていました。

・戦歴の表示

というのがあったので、追加しました
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4695.c

評価お願いします。

553 名前:519 [2007/07/21(土) 05:22:51 ]
何度もすみません、凡ミスがあったので修正しました。

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4696.c

554 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 07:22:22 ]
とても丁寧な読みやすいコーディングだね。
ソース流し読みしただけだけど敢えて問題があるとするなら
ループでscanfを使ってるくらい?

555 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 09:35:31 ]
>>519
良くできてると思いますよ。



556 名前:519 [2007/07/21(土) 10:06:42 ]
ありがとうございました。

557 名前: ◆yb5ufjhaCo [2007/07/21(土) 11:21:02 ]
すいません、あんまりわからないので、教えてください。
ほんとに初歩の質問ですいません

1] 授業単元: プログラミング基礎
[2] 問題文(含コード&リンク):
<次のプログラムの断片は誤りを含んでいるところがある。
その誤りの理由を述べ、正しい動作をするようにその箇所を修正した
プログラム断片全てを書け。ただし無関係のところまで変えないこと。

[3] 環境
 [3.1] OS: Linuxです
 [3.2] コンパイラ名とバージョン: gcc です
 [3.3] 言語: Cでお願いします。
[4] 期限: 25日いっぱいまでです。


558 名前: ◆yb5ufjhaCo [2007/07/21(土) 11:22:35 ]
すいません。問題忘れてました…
(1)
if(c = '\0')
n++;

(2)
while(c = getchar() !=EOF)
putchar(c);

(3)
for(i = 0; i < 10; j++){
total += i;
}

(4)
switch(c){
case 'y':
state = 1;
case 'n':
state = 0;
default:
state = -1;
}

お願いします…

559 名前: ◆yb5ufjhaCo [2007/07/21(土) 11:23:13 ]
(5)
if(k = 0)
1++;
else
1--;


(6)
for (i = 0; i < 8; j++){
b[i] -= a[i+j];
}

(7)
switch(c){
case 'y':
count--;
case 'n':
count++;
default:
break;
}


560 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 11:28:31 ]
1:=
2:(c=getchar())
3:無限るーっぷって怖くね?
4:break;
5:=, 1++, 1--
6:3に同じ
7:break;

違うかも

561 名前:519 [2007/07/21(土) 13:07:12 ]
comが1Pのリーチを阻止できるようにしたいのですが、
どういうコードを書けばいいでしょうか?

562 名前: ◆M2clACoxQA [2007/07/21(土) 13:28:04 ]
[1] 授業単元: プログラミング 基礎
[2] 問題文(含コード&リンク):
#include <stdio.h>

int main(void)
{
int i = 1;
int j = 0;

do{
j = j + i;
i += 2;
}while(i<=99);

printf("1から99までの奇数の総数は%dです。\n", j);

return 0;
}

以上の「奇数の総和」を求めるプログラムを関数化して作成しなさい。
開始値と終了値を引数として使用し、main関数で確認する。

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: visual studio2005
 [3.3] 言語: C言語
[4] 期限: 2007年7月21日15:00まで
[5] その他の制限:
習ったのは、if-else文 do-while文 for文。
sum関数を使うと言っていました。
まだ習いたてなので、あまり難しいのはわかりません。
よろしくお願いします・・・

563 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 13:32:20 ]
>>562
お前さんのところで作ったsum関数とやらは知らんがそれ見ながらdo{}whileの処理を
sum関数の要領でmain文の外に追い出せばいいだけ。

564 名前: ◆M2clACoxQA mailto:sage [2007/07/21(土) 13:40:18 ]
>>563
なるほど・・・そういうことだったんですね。
変に難しいことを考えてしまいました^^;
親切に教えてくださり、ありがとう御座いました!!

565 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 14:13:55 ]
>>547
エラーで書けなくなった為遅くなりました。
checkはまだ習っていません。何通りかやり方があると
言っていたので他にも実行するプログラムはありますか?
何度もあやふやな言い方だと迷惑だと思うので、友達に確認してから
もう一度書き込みします。
よろしくお願いします




566 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 14:31:37 ]
習ってないも糞もおまいさんの作った関数だろうから習ってないとか意味不明。
授業中に提示された関数をただ使ってるだけだならちゃんと話聞いとけ馬鹿で終了だし。

他に実行できるプログラムはあると言えるけど、
>>519の要件満たせばいいだけならプログラマの数だけやり方はあると言えるから、
質問自体の意味がない。

何がしたいのかはっきりすればどうすればいいのか言えるけど、
何がしたいのかを言わないようじゃエスパーに頼るしかないし。

567 名前:519 [2007/07/21(土) 14:37:48 ]
>>566

私は565じゃないですよ!!!!!

568 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 14:42:14 ]
>>565
お前さんが>>494なら、>>547>>594にあるとおり、ただの勘違いのようだから
スルー汁
>>530のレスは読んだのか?

569 名前:568 mailto:sage [2007/07/21(土) 14:43:13 ]
×>>547>>594にあるとおり
>>547>>549にあるとおり

570 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 14:48:50 ]
なんかここんとこgdgd説教したりそんなんじゃ相手に伝わらないよ俺はわからんよって
だったらgdgdレスしてないで答えなきゃ良いじょのいこっ(えなり君風に)

571 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 15:04:37 ]
>>568
>>530は読みました。>>530自体が問題のプログラムで。

問題は、/*-+の順に計算できるようにする。そのためにint2つ作る。
1つは数字、1つは記号(/*-+)

572 名前:デフォルトの名無しさん [2007/07/21(土) 15:11:11 ]
>>420をお願いします

573 名前:519 [2007/07/21(土) 15:17:54 ]
私が質問している3目並べは
>>561をおねがいします!

574 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 15:48:08 ]
>>573
check関数内で、check変数の値が2になっているラインに置けばいい。
ってか、checkの名前がかぶってるのをやめたほうがいいって言われてなかった?

575 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 16:01:30 ]
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
整数n、rを入力し全組み合わせを配列に配置するプログラムを作成しなさい。
例えばn=4,r=2の場合
{{1,2},{1,3},{1,4},{2,3},{2,4},{3,4}}
となる。

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: 7/25
[5] その他の制限: 特に無し

画面に出力するだけなら何とかなりそうなんですが配列に入れるとなると
もう何がなんだか…



576 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 16:06:56 ]
>>575
配列なんて出てくるか?
2重ループで一発だと思うんだが?違う?

577 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 16:08:30 ]
お前は何を言ってるんだ






[ 続きを読む ] / [ 携帯版 ]

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

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