[表示 : 全て 最新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/

452 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 15:41:33 ]
>>451

#include <stdio.h>

#define N 128

int main(void)
{
char target, str[N];
int i, count=0;

printf("文字列を入力してください\n> ");
gets(str);
printf("さがす文字を入力してください\n> ");
gets(&target);

for(i=0 ; i<N ; i++){
if( str[i] == target ) count++;
}

printf("\n入力された文字列の中に指定された文字は%d個あります\n", count);

return(0);
}

453 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 16:02:07 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4686.txt
[3] 環境
 [3.1] OS: (Windows/Linux/等々) 自宅はWindows、学内はLinux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) 自宅:Microsoft Framework SDK 学内:gcc
 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 7月21日まで(おそらく日付変わるまでなら大丈夫)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
基本的に情報系の高校生でも組めるようなプログラムにしていただけると助かります。
多少複雑になってもいいので、できるだけ基本的な命令(ifとかfor)でお願いします

454 名前: ◆DpMW3bRjps [2007/07/20(金) 16:25:21 ]
>>451さんへ
ありがとうございます!!

455 名前: ◆UoNQqijD4I [2007/07/20(金) 17:08:04 ]
>452ですが。今コンパイルしたら下のようにエラーがでました(><)

/tmp/cc2eSWqP.o(.text+0x38): In function `main':
: warning: the `gets' function is dangerous and should not be used.

456 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 17:13:46 ]
内容:
[1] 授業単元:C++
[2] 問題文 文字列の長さを計算する関数を作成せよ
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: C++
[4] 期限: (20日18:00まで]
[5] その他の制限: 以下の内容に手を加えて欲しいのですが・・・
#include <stdio.h>
#define MAX 100
string_length(char str[MAX]);
int main(void){
int i,string_len;
char string[MAX];
printf("入力:");
scanf("%s",string);
printf("文字列の大きさは%dです。",string_length(string));
return(0);
}
int string_legth(char str[MAX]){
int i;
int str_len;
for(i=0;str[i]!='\0';i++);{
}
str_len=i;
return(str_len);
}
Error: 外部シンボル '_string_length' が未解決
と、出て四苦八苦してるのでよろしくお願いします

457 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 17:15:06 ]
>>455
ワーニングだ
fgetsに帰ればおk

458 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 17:16:07 ]
> char target, str[N];
> gets(&target);
コレは幾らなんでもマズい

459 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 17:19:11 ]
>>456
- string_length(char str[MAX]);
+ int string_length(char str[MAX]);

- int string_legth(char str[MAX]){
+ int string_length(char str[MAX]){


460 名前:456 mailto:sage [2007/07/20(金) 17:22:01 ]
>>459さん
ありがとうございます。俺が間抜けでした!!
レポート出してきます!!




461 名前:デフォルトの名無しさん [2007/07/20(金) 18:32:36 ]
>>418
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4687.txt
チェックは甘いが。

462 名前:電通女 ◆v1Uy5WkQ7k mailto:sage [2007/07/20(金) 19:41:06 ]
試験勉強中です…付き合ってくださる師匠様募集中…

[1] 授業単元:関数を自作する
[2] 問題文:n!を計算するプログラムを作る
[3] 環境
 [3.1] OS:Windows XP
 [3.2] コンパイラ名とバージョン:???
 [3.3] 言語:C++ …なんですけど、先生はいつもC言語と混ざっている気がする。

#include <stdio.h>
int kaijo(int n)
{
int ans,i;
ans=i;
for(i=1;i<=n;i++) ans*=i;
return ans;
}
int main(void)
{
int n,k;
printf("n="); scanf("&d",&n);
k=kaijo(n);
printf("%d!=%d\n",n,k);
return 1;
}

とやってみたら、

n=5
10494432!=0

となってしまって…。

463 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 19:44:44 ]
scanf("&d",&n);をscanf("%d",&n);に変えると幸せになれる

464 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 19:47:59 ]
kaijo()もおかしいから、それだけじゃ幸せにはなれない

465 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 19:52:57 ]
順を追って考えろ
int ans, i;

このときのansの値とiの値は特に決められていない
だからans = i;
としたところで何も意味がない
ans = 定数にしてやれ


466 名前:電通女 ◆v1Uy5WkQ7k mailto:sage [2007/07/20(金) 19:53:09 ]
>>463
それだけで幸せになれました。ありがとうございます。
またわからないとこが出てきたら来ます。

467 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 19:55:12 ]
これで電通かよ・・・
大阪電気通信大学の間違いじゃないのか・・・

468 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 19:58:03 ]
>>462
一緒に幸せになろう

469 名前:電通女 ◆v1Uy5WkQ7k mailto:sage [2007/07/20(金) 19:59:05 ]
いや、私は電気通信大学じゃないですよw
電気通信大学意以外でも電通って訳すところ、以外とたくさんあるようで。

470 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:03:29 ]
[1] 授業単元: 情報演習基礎
[2] 問題文(含コード&リンク):

・ 区間[ a, b ]において連続なる関数f ( x) について,定積分の計算を行う。
・適用する式は,シンプソンの公式f ( x)=1/(1+x2)とする。
・a=0, b=100, e=0.0000001の場合の積分値とnの値を表示する
・各変数(nを除く)の型はdoubleとする

[3] 環境
 [3.1] OS: WinXP
 [3.2] コンパイラ名とバージョン: visualstudio2005
 [3.3] 言語:C++
[4] 期限: 2007 7/22
[5] その他の制限:標準ライブラリは禁止

よろしくおねがいします。



471 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:05:12 ]
>>470
printfも使っちゃだめなのか?w

472 名前:電通女 ◆v1Uy5WkQ7k mailto:sage [2007/07/20(金) 20:08:25 ]
#include <stdio.h>

int add(int a,int b)
{
int c=a+b;
a=100;b=200;
return c;
}

int main(void)
{
int a,b,c;
a=1;b=2;c=add(a,b);
printf("%d+%d=%d\n",a,b,c);
return 1;
}

これの実行結果が1+2=3になるんですけど、最初の方の100も200も消えちゃってるってことですか?

473 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:12:04 ]
>>472
関数の中で宣言した変数は関数を抜けると消えてなくなるよ?

474 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:17:42 ]
ここは宿題スレであって質問スレではないから
質問をしたいなら質問スレに行け。

475 名前:電通女 ◆v1Uy5WkQ7k mailto:sage [2007/07/20(金) 20:23:41 ]
おっと、すみません。
初心者歓迎スレに移行しまする。

476 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:23:42 ]
>>453
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4690.txt

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

評価お願いします。






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

前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