[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 01/02 08:45 / Filesize : 213 KB / Number-of Response : 531
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



1 名前:デフォルトの名無しさん [2007/06/23(土) 23:03:25 BE:255611693-2BP(12)]
あなたが解けない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++の宿題を片付けます 90代目
pc11.2ch.net/test/read.cgi/tech/1181802185/

52 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 17:08:12 ]
自動配線ツールをCで書こうと思ってるんですけど。
アルゴリズムはmazeをベースで。

書くときに参考になるソースコードとかってどっかに落ちてるものなんでしょうか?
アルゴリズム分かっても、書くのが素人なので、どれ位の規模(行数)になるかとか、必要な関数が予想つきません。
サンプルなどがあればと思って質問させていただきました。
誘導していただければ幸いです。

53 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 17:09:53 ]
>>51
その処理は未定義。どうしても確認したければ
int x = 3;
int y;
x -= 3;
y = 3 / x;
printf( "%d", y );

ちなみに、VC++6.0では実行時エラー。

54 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 17:12:57 ]
>>52
スレ違い

55 名前:ぴっころ [2007/06/24(日) 17:14:14 ]
確かに。
次に来た時にはもう少しマシな質問をしたいと思いますので、よろしく
お願いします。
ありがとうございました。

56 名前:ぴっころ [2007/06/24(日) 17:19:42 ]
>>53
確認有難うございます。やっぱりエラーでますか

>>49 の
>グダグダ言ってないで、無料のCコンパイラ拾ってきてやってみろ
から、確認する方法がある(少なくとも>>49サンは知ってる)と思ったのですが..


57 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 17:26:34 ]
もうくんな

58 名前:984 [2007/06/24(日) 17:28:17 ]
>>36
fgetsはファイルから1行ずつ読み込む。読めなくなったらNULLを返す。
if...でしていることは、行末の改行コードを取り除く事。
内側のwhileでは、行の先頭から','を見つけ、文字列の分割をしている。
処理を終わると、bufの中はNULLで区切られた複数の文字列となり、
ポインタ配列には各文字列の先頭が格納される。

59 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 17:28:34 ]
>>56
エラーが出るって事で確認した事にはならんのか?

60 名前:42 mailto:sage [2007/06/24(日) 17:33:36 ]
>>44
教えていただいたように
static int sum[FMAX+GMAX-1] ;
としてみたら、動作しました。(よく分かってませんがw)

ありがとうございましたー



61 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 17:36:37 ]
>>56
0除算時の動作は未定義。よって、どんな動作をしても規格上問題ない。
プログラムがランタイムエラーになっても、演算結果が0になっても、そこで無限ループに陥ってもOK。
www.st.rim.or.jp/~phinloda/cqa/cqa7.html

宿題スレよりこっちのほうがいいと思う。
C言語なら俺に聞け(入門篇) Part 14
pc11.2ch.net/test/read.cgi/tech/1181735298/
くだすれC言語(初心者用) Part.2
pc11.2ch.net/test/read.cgi/tech/1172099763/

62 名前:前852 [2007/06/24(日) 17:38:03 ]
>>58
ということは、fgetsのところで処理をすれば、
1行がどれくらいの文字数あるかとかも判別できると言うことですか?

63 名前:ぴっころ [2007/06/24(日) 17:41:08 ]
printf("%d\n",data) でdata=-600の場合に-600と出力されるのでしょうか?
実際にやってみろと言われそうですが、コンパイラのダウンロードの仕方
とかが良く分からないもので

64 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 17:42:02 ]
帰れ

65 名前:984 [2007/06/24(日) 17:42:47 ]
>>62
そういう処理を加えれば出来るでしょうが。
文字数が想定以上に長いときの事も考慮する必要がありますね。

66 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 17:43:41 ]
>>63
コンパイラのダウンロードがわからないならまずはそこから試したほうがいい。
ネットでちょっと検索すれば導入をわかりやすく解説しているサイトなんて山ほどある。
手コーディングが悪いとは言わんが、時代にあってないと思う。

あ、あと質問の答えはそのとおり。-600って表示される。
けどココは宿題スレだからすれ違い。

67 名前:ぴっころ mailto:sage [2007/06/24(日) 17:43:58 ]
>>59
エラーだよっていうのは >>45で聞く前から確認済みです。
>>45の調べた=>自分でコードを書いて調べてみたということです。
それを踏まえてココで聞いたのでが..そしたら>>49のレスです


68 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 17:50:26 ]
手コーディングって、コードの自動生成と比べて、手作業でソースを書いていく作業という意味でOK?

69 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 17:51:06 ]
>>63 ぴっころ ココは宿題回答スレだから
C言語については、こっちで聞け!
pc11.2ch.net/test/read.cgi/tech/1181735298/l50

70 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 17:52:29 ]
>>68
ごめん、そういうつもりで手コーディングって言ったんじゃないw
紙とペンでコーディング、デバッグとかをするって意味で使った。
わかりづらい上に時代遅れでスマソ



71 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 17:53:22 ]
あえて言うなら、机上コーディングか

72 名前:ぴっころ [2007/06/24(日) 17:55:30 ]
スレ住民の方々お騒がせしてすみません。
紹介して貰ったスレに移ります。
応えてくれた方々ありがとうございました。
失礼します。

73 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 17:58:01 ]
個人的には「ペーパーコーディング」と「机上デバッグ」

74 名前:デフォルトの名無しさん mailto:sageN+が大変なことにw [2007/06/24(日) 18:10:57 ]
手コーディングの“手”が紛らわしいな

75 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 18:14:23 ]
若い人はハンドアセンブルなんて知らないだろな〜

76 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 18:32:29 ]
知らないけど、聞くだけでもめんどくさそうだなw

77 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 18:38:28 ]
簡単だよ、ニモニック表が頭に入っていれば。
多少の暗算も必要になったりはするけどね。

78 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 18:41:52 ]
>>27
表示が超手抜きだが(配列をそのままベタで表示するだけ)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4370.txt

79 名前:デフォルトの名無しさん [2007/06/24(日) 18:56:25 ]
[1] 授業単元:C言語
[2] 問題文:次の計算を行うプログラムを作成せよ。
      C=B/X
Bは三行三列の行列
B 5 -2 2
2 3 1
1 2 2
X=3

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:
 [3.3] 言語: C
[4] 期限: 2007年6月24日pm:11:00
です。よろしくおねがいします。

80 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 19:02:56 ]
初めて1ヶ月少々なのですが自分で数当てゲームを作ってみました
一応動作し、正解の数もランダムで取得できるようにはなっていますが
ここはこうしたらよい、とかあったらありがたいな、と思い
カキコしてみました。不具合、というか汚い書き方だとは思いますがヨロシクお願いします。

長いので次のレスで書きます





81 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 19:10:24 ]
>>1を読め。


82 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 19:10:35 ]
>>80
ロダにUp汁

83 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 19:20:44 ]
>>80
次のレスまだ〜〜〜?もしかして、次の スレ ってオチ?w

84 名前:依頼者 [2007/06/24(日) 19:31:12 ]
[1] 授業単元:プログラミング実習
[2] 問題文(含コード&リンク):

変数xのyビット目の値を返す関数int bit_test(int x,int y)の作成。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:visual studio.net
[3.3] 言語:C++
[4] 期限: 07年6月25日まで
[5] その他の制限:特になし

演算子の問題ですがまったくわかりません。どなたかお願いします。

85 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 19:34:22 ]
前スレにも他のスレにもあったな。

>>84
int bit_clear(int x,int y){return x&~(1<<y);}
int bit_test(int x,int y){return (x&(1<<y))>>y;}

86 名前:42 mailto:sage [2007/06/24(日) 19:46:42 ]
>>44さんに教えて頂いたとおりで、動いたのですが。

配列宣言の頭にstaticをつける意味が分からなかったので、教えていただきたいです。
そもそも、なんでエラーになってるのかも分からない始末ですorz

少し調べたんですが、malloc というのを使えば領域確保?できるんでしょうか?


87 名前:デフォルトの名無しさん [2007/06/24(日) 19:49:45 ]
[1] 授業単元: 2年プログラミング実習
[2] 問題文(含コード&リンク): 電卓計算のための、数式変換プログラムを作成せよ。
逆ポーランド法へと変換し、それを要素ごと配列へと格納せよ。
[3] 環境 
 [3.1] OS: Windows xp 
 [3.2] コンパイラ名とバージョン: gcc 
 [3.3] 言語: C 
[4] 期限: 6.25
[5] その他の制限: 
最終的に、配列に文字型で式が格納されていること。
演算子の判別にはswitchを用いて、関数を作成する事。

switchの部分がわからんのだが、多分+なら1、-なら2と返す関数を作れって事だとおも。
最初の数式はargvは使わず、プロンプトメッセージの後にfgetsで読み込んでます。

88 名前:デフォルトの名無しさん [2007/06/24(日) 20:08:35 ]
>>79

#include <stdio.h>

int main(void)
{
int i,j,X=3,c[3][3]={0};
int b[3][3]={{5,-2,2},
{2, 3,1},
{1, 2,2}};

for(i=0;i<3;i++){
for(j=0;j<3;j++){
c[i][j]=b[i][j];
}
}

for(i=0;i<3;i++){
for(j=0;j<3;j++){
printf("%3d/%d",c[i][j],X);
}
printf("\n");
}
return 0;
}

私も初心者なんですが、書いてみました。
問題の意図にそくして無いかも。
それに配列cは用意する必要は無い気がするんだけどね…。

89 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:18:49 ]
[1] 授業単元:プログラミング技術3
[2] 問題文(含コード&リンク):
/*(1)date.txtというファイルを用意し、次のプログラムを実行せよ。
 (2)このプログラムを書き換え、ファイル名をコマンドラインから指定出来るようにせよ。*/

#include<stdio.h>
#include<stdlib.h>
int main(void){
char c;
char filename[] = "date.txt";//ファイル名
FILE *fp; //ファイルポインタ
//ファイル「読み込み」で開く
if ((fp == fopen(filename "r")) == NULL){
printf("File dose not exist. \n");
exit(1);
}
//ここからファイルを読み込んで処理
//例 一文字入力し表示
wile((c=getc(fp))!=EOF){
printf("%d\n" , c);
}
//開いたファイルを閉じる
fclose(fp);
}
[EOF]


全くと言って分かりません。完全にお手上げです。
少々の解説も付加してくださると助かります。
よろしくお願いします。



90 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:20:25 ]
>>87
switchの部分は↓的なことだと思う。
switch( ope ) {
case '+':
iAns += iNum;
break;
case '-':
iAns -= iNum;
break;
(以下略)





91 名前:89 mailto:sage [2007/06/24(日) 20:20:27 ]
続きです。

[3] 環境
[3.1] OS:LINUX
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C++
[4] 期限: 07年6月26日まで
[5] その他の制限:ポインタを少々習った程度です。



92 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:20:29 ]
>>87
前スレの回答ではお気に召さなかったということかな?
それっぽく直したよ。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4373.txt

93 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:25:42 ]
>>86
配列は領域を連続で確保できなければいけない。
mallocを使ったところで、確保できる保証は無い。

staticをつけた場合は、確保するために使用する領域が異なるため上手く行っているだけ。
(staticウンヌン部分について自信なし。詳しい人補足plz)

94 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:28:17 ]
>>93
取り敢えず間違ってはいないよ。

95 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:29:14 ]
>>89 変更部分だけ

int main(int argc, char *argv[]) {
char c;
FILE *fp;
if(argc<2) {
printf("ファイル名の指定がねぇ〜ぞゴルァ!\n");
return 1;
}
if((fp=fopen(argv[1],"r"))==NULL){

96 名前:デフォルトの名無しさん [2007/06/24(日) 20:52:01 ]
>>97
・・・?前スレ?重複質問だったのか?
とりあえず見てみた。マジ有難い。
提出用に少し変更してみて、不明な所があれば聞くかも知れないが、大丈夫かな。


97 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:52:16 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
以下のコマンドを実行可能な名簿管理システムを作成せよ。

1. メンバの追加
2. メンバの削除
3. メンバリストを名前順(アルファベット昇順)で表示
4. メンバリストのファイル出力
5. 引数として"-f ファイルパス"を指定することによるメンバ初期データの読込

メンバ情報としては、最低限、名前と学生番号を持つこと。システムの拡張は自由に行ってよい。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限:無期限
[5] その他の制限:構造体、ポインタがつかえるとよい


どうかよろしくおねがいします


98 名前:デフォルトの名無しさん [2007/06/24(日) 20:52:40 ]
>>96
>>92

99 名前:89 mailto:sage [2007/06/24(日) 20:54:06 ]
>>95
レスどうもです。

え〜と、main関数内の変更とファイルポインタの下にif(argc<2) { を
printfの下にリターン文を、書けって事でいいんですか?
また、if((fp=fopen(argv[1],"r"))==NULL){ は

return1
exit(1);
}
if((fp=fopen(argv[1],"r"))==NULL){

のようにすればいいのでしょうか?



100 名前: ◆sJh8mwqDUo [2007/06/24(日) 20:58:03 ]
[1] 授業単元: C言語入門(配列・関数)
[2] 問題文:
 1. 0からN-1の間の擬似乱数整数を返す関数(myrandと名前をつける)を作成しなさい。
 2. myrandでm×N個の擬似乱数を発生させて、出現しなかった整数の個数を、N個発生させる毎に求めなさい。
 ただし、Nは1000以上に#defineし、mは実行時にキー入力するものとする。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: 6月27日夜
[5] その他の制限:
 main関数にすべての処理を書くこともできるが、そうしないで関数に分割すること。
 乱数発生関数の初期化を忘れないこと。

上記の通りです。どなたかできる方、よろしくお願いします。    





101 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 21:03:10 ]
101


102 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 21:11:30 ]
>>100
関数に分割するって、どこをすればいい?
無理矢理関数にしたほうがいいか?
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4374.c

103 名前: ◆sJh8mwqDUo [2007/06/24(日) 21:15:24 ]
>>102
レスありがとうございます。
用はmyrandの関数をちゃんと作れって事ですかね。
実行結果がよければOKなのでどう解釈してもいいと思います。

104 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 21:26:37 ]
>>96
うん重複だけど、注文のつきかたで、てっきし同じ人かと思った
質問は別にいいけど、あんまりしつこくはしないでね
めんどくさいからw

105 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:02:39 ]
[1] 授業単元:プログラム
[2] 問題文(含コード&リンク):
  右利きの奴が左曲がりであることを検証するプログラムを作成せよ。
[3] 環境
 [3.1] OS: (Windows/Linux/等々)WinXP
 [3.2] コンパイラ名とバージョン: gcc 3.4 or VC5以降
 [3.3] 言語: C/C++/どちらでも可
[4] 期限: 6/24中
[5] その他の制限:使用可能なライブラリ stdio.h string.h stdlib.h memory.h

106 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:12:08 ]
[1] 授業単元: 複雑学
[2] 問題文(含コード&リンク):

次のH´enon 写像(エノン写像) のボックスカウンティング次元を考える.

(Xn,Yn)→(Xn+1,Yn+1)=(Yn+1-a*X^2*n, b*Xn) :a = 1.4, b = 0.3 に固定する.

10×10分割したマス目内にアトラクタの点が入っているかどうか調べる.点が入っているマス目の数を数えよ
サンプルプログラム kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4376.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 25日正午
[5] その他の制限: 特にナシ


107 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:14:34 ]
> ところどころ■で隠してあります
どうでもいいけど
ちょっとエロいな

108 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:17:13 ]
[1] 授業単元: 複雑学
[2] 問題文(含コード&リンク):

次のH´enon 写像(エノン写像) のボックスカウンティング次元を考える.

(Xn,Yn)→(Xn+1,Yn+1)=(Yn+1-a*X^2*n, b*Xn) :a = 1.4, b = 0.3 に固定する.

10×10分割したマス目内にアトラクタの点が入っているかどうか調べる.点が入っているマス目の数を数えよ
サンプルプログラム kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4376.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 25日正午
[5] その他の制限: 特にナシ

よろしくお願いします。

109 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:21:36 ]
>>107 でしょww お願いします。

110 名前:デフォルトの名無しさん [2007/06/24(日) 22:35:17 ]
#include <stdio.h>
main()
{
FILE *fpin,*fpout;
char c;
int i,j;
int B[3][3];
fpin = fopen("in-1.txt","r");
fpout = fopen("out-1.txt","w");
while(fscanf(fpin,"%c",&c)!=EOF)
if(c == 'B')
{for(i=0;i<3;i++)
{for(j=0;j<3;j++)
{fscanf(fpin, "%d", &B[i][j]);
}}}
for (i=0; i<3; i++) {
for (j=0; j<3; j++)
fprintf(fpout,"%3d",B[i][j]/3);
fprintf(fpout,"\n");
}

fclose(fpin);
fclose(fpout);
return(0);
}
三行三列行列を3で割るというものなんですが、上のソースでやってもint型なんで
少数点以下がでません。float型にしてみても、うまく答えがでません。どこを直せば
いいでしょうか。
B 5 -2 2
2 3 1
1 2 2
です。



111 名前:89 mailto:sage [2007/06/24(日) 22:44:22 ]
89です。
>>95氏のアドバイスを参考にやってみましたが、上手く動作しません。
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[]){
char c;
char filename[] = "date.txt";//ファイル名
FILE *fp; //ファイルポインタ
if(argc<2) {
//ファイル「読み込み」で開く
if((fp=fopen(argv[1],"r"))==NULL){
printf("File dose not exist. \n");
return 1;
exit(1);
  }
}
//ここからファイルを読み込んで処理
//例 一文字入力し表示
wile((c=getc(fp))!=EOF){
printf("%d\n" , c);
}
//開いたファイルを閉じる
fclose(fp);
}
[EOF]

何処が違うのでしょうか?






112 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:45:51 ]
なんでおまえら、「うまくいきません」とか「うまく答えが出ません」とか、
糞の役にも立たない報告しかできないの? 無能なの?

113 名前:89 mailto:sage [2007/06/24(日) 22:49:58 ]
smp3.c(17) : error C3872: '0x3000': この文字を識別子で使用することはできません
smp3.c(17) : error C3872: '0x3000': この文字を識別子で使用することはできません
smp3.c(17) : error C2065: '  ' : 定義されていない識別子です。
smp3.c(17) : error C2143: 構文エラー : ';' が '}' の前にありません。
smp3.c(21) : error C2143: 構文エラー : ';' が '{' の前にありません。
smp3.c(27) : error C3409: 空の属性ブロックは認められません。
smp3.c(27) : error C2143: 構文エラー : ']' が '(' の前にありません。
smp3.c(27) : error C2059: 構文エラー : '-'
smp3.c(27) : error C2059: 構文エラー : ')'


↑そまそ。こんな感じにエラーが出ます。
因みに、この確認はコマンドプロンプトで出したものです。


114 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:51:34 ]
>>113
ソースに全角のスペース含まれてないか?


115 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:54:34 ]
typo多過ぎだし、人間やめるといいよ。

116 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:55:12 ]
wile → while

あとはわからん。
そもそもこのプログラム22行しかないのに、なんで27行目のエラーが出てるんだ?

117 名前:89 mailto:sage [2007/06/24(日) 22:58:15 ]
>>114
全角のエラー修復できました。

smp3.c(21) : error C2143: 構文エラー : ';' が '{' の前にありません。
smp3.c(27) : error C3409: 空の属性ブロックは認められません。
smp3.c(27) : error C2143: 構文エラー : ']' が '(' の前にありません。
smp3.c(27) : error C2059: 構文エラー : '-'
smp3.c(27) : error C2059: 構文エラー : ')'




118 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 23:01:09 ]
>>89
ほれ。
#include <stdio.h>
int main(int argc, char **argv)
{
    int c;
    if (argc > 1 && !freopen(argv[1], "r", stdin))
        return perror(argv[1]), 1;
    while ((c = getchar()) != EOF)
        printf("%d\n", c);
    return 0;
}

119 名前:89 mailto:sage [2007/06/24(日) 23:01:55 ]
>>116
レスどうもです。
smp3.c(17) : error C2143: 構文エラー : ';' が '{' の前にありません。
smp3.c(23) : error C3409: 空の属性ブロックは認められません。
smp3.c(23) : error C2143: 構文エラー : ']' が '(' の前にありません。
smp3.c(23) : error C2059: 構文エラー : '-'
smp3.c(23) : error C2059: 構文エラー : ')'

また一つエラーが減りました。
問題文も含めた場合の最終行が27行目です。
今回は問題文を消しました。


120 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 23:03:39 ]
まさかとはおもうが

[EOF] ← これもソースにタイプしてるのか?



121 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 23:06:24 ]
>100
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define N 1000

int myrand(void)
{
     return (int)(rand() / (RAND_MAX + 1.0) * N);
}

int main(void)
{
     int i, j, m;
     char check[N] = {0};

     srand(time(NULL));

     scanf("%d", &m);
     for(i=0; i<m; i++) {
          int cnt = 0;
          for(j=0; j<N; j++) check[myrand()] = 1;
          for(j=0; j<N; j++) if(!check[j]) cnt++;
          printf("出現しなかった整数の個数:%d\n", cnt);
     }
     return 0;
}

122 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 23:13:23 ]
>>110
- int B[3][3];
+ double B[3][3];

- fscanf(fpin, "%d", &B[i][j]);
+ fscanf(fpin, "%lf", &B[i][j]);

- fprintf(fpout, "%3d", B[i][j] / 3);
+ fprintf(fpout, "%g", B[i][j]/3);

とりあえずこんなところでどうよ。

123 名前:デフォルトの名無しさん [2007/06/24(日) 23:27:56 ]
>>122さん!
計算できました!ありがとうございます!
そこでまた質問で申しわけないんですが答えが
1.66667-0.6666670.666667
0.66666710.333333
0.3333330.6666670.666667
のように表示されてしまうんですが、1.66667と1とかの間にスペースを設けたいん
ですが何か手はありませんか?無知ですいません。

124 名前:デフォルトの名無しさん [2007/06/24(日) 23:32:44 ]
[1] 授業単元:プログラミング C
[2] 問題文(含コード&リンク): 以下のPADとプログラムを作成しなさい≪面白いプログラム≫
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語:C
[4] 期限: 6/25の9時まで
[5] その他の制限: switch文を習った後の課題です。
他の課題は終わらせましたが、どうしても面白いと思えるものを作ることが出来ませんorz


力を貸してください。お願いします。

125 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 23:50:54 ]
>>123
- fprintf(fpout, "%g", B[i][j]/3);
+ fprintf(fpout, "%g ", B[i][j]/3);
これでおk

126 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 00:04:04 ]
>>97
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4377.txt

127 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 00:30:14 ]
[1] 授業単元:プログラミングU
[2] 問題文リンク:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4379.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C言語のみ
[4] 期限: 2007年06月26日AM01:00まで
[5] その他の制限: 特にないです。
  自力ではどうしてもできませんでした。
  どうかよろしくお願いします。


128 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 00:30:57 ]
【質問テンプレ】
[1] 授業単元: プログラミング言語
[2] 問題文:
数値の列を入力し,それをリスト構造にデータを
格納せよ.その際,数値が大きさの順に並ぶよう
にせよ.
- 入力する数値の数を限定してもよい
- たとえば5個
• リストの内容を先頭から出力せよ.
- 結果として入力された数値の列が,大きさ順
に並び替えられて表示されることになる.
• リスト構成する要素(セル)はmalloc関数でヒー
プ領域から確保するものとする.
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:visual studio2005
 [3.3] 言語:C++
[4] 期限:6月28日まで
[5] その他の制限:ポインタの練習です。一応、こんな感じらしいです。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4380.txt
どなたかご教授お願いします

129 名前:デフォルトの名無しさん [2007/06/25(月) 00:46:17 ]
|
| ∧         ∧
|/ ヽ        ./ .∧
|   `、     /   ∧
|      ̄ ̄ ̄    ヽ
| ̄ ̄月曜日 ̄ ̄ ̄ ̄)
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄.\
|ヽ-=・=-′ ヽ-=・=-  /
|::    \___/    / やぁ・・・・
|:::::::    \/     /


130 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 00:52:10 ]
鬱入った。
寝る。



131 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 00:57:49 ]
>>19
適当。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4381.txt

132 名前:デフォルトの名無しさん [2007/06/25(月) 01:33:09 ]
>>125さん
できました!ありがとうございました!

133 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 02:53:58 ]
>>131 ありがとうございました

134 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 03:06:59 ]
[1] 授業単元:C++研究
[2] 問題文:
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4262.txt(プログラム1)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4381.txt(プログラム2)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4383.txt(プログラム3)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4384.txt(プログラム4)
上記1〜4のプログラムを下記のように修正します。

クラス(設計図)部分を概要部分(ヘッダファイル)と実装部分(ソースファイルに分け)
そしてメイン部分も分け、4つのプログラムを新しく作り直しなさい。

[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:Visual studio.2005
 [3.3] 言語: C++
[4] 期限: ([2007年6月26日12:00まで]
[5] その他の制限:特になし
どうかよろしくお願いします

135 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 03:17:42 ]
>>134
単にソースをclass.cpp class.h main.cppとかってファイル作って
にコピペしまくるだけで終了しない?

136 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 03:51:42 ]
>>124
これは難問だ
何をもって面白いとするかがわからんことには作りようがない

技術的には>>124は全然問題なさそうだから、こんなのはどうだ?
怪しいswitch文だが、ちゃんとコンパイルは通る
実行結果が予想できるかい?
プログラムの挙動的には面白いと思うんだが

int main(){
  switch(1){
    while(1){
      case 0:
        printf("0");
        break;
      default :
        printf("default");
      case 1:
        printf("1");
    }
  }
  return 0;
}

良い子はマネしないようにな

137 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 04:06:16 ]
もう一つ怪しいswitch文
01default って出力されそうだけど、実行結果は case 1: のところで無限ループになる

int main(){
  int i = 0;
  switch(i){
    while(1){
      case 1:
        printf("1");
        i++;
        continue;
      case 0:
        printf("0");
        i++;
        continue;
      default :
        printf("default");
        break;
    }
  }
  return 0;
}

138 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 04:10:19 ]
[1] 授業単元: プログラミング基礎A
[2] 問題文(含コード&リンク):
n乗の数を求める関数を、作成しなさい。
  ◎以下を参考の事
・n乗値を求める関数
n乗値
数字iのn乗値を返す関数
関数定義 double myPow(double i, int n)
例1:i=1.2,n=3の場合,1.728になる
例2:i=1.2,n=-3の場合,0.5787[037]になる
例3:i=1.2,n=0の場合,1.0になる

正,0,負の3つの場合があることに注意

[3]
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Microsoft Visual Studio .NET 2003
 [3.3] 言語:C++
[4] 期限:2007年6月25日10時30分
[5] その他の制限:出来るだけ複雑ではなく簡単(初歩的)なものにすること。

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

139 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 04:27:21 ]
>>137
コンパイラ何?
もしかしてBCCじゃね?w

140 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 04:35:55 ]
BCCでもよく見たら01111…ってなってた
てっきり11111…と怪しい動作するもんだと思った
BCCを疑ってごめんなさい。



141 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 05:37:21 ]
>>137
こんなコードは出来ればごめん被りたいが、
「switchはラベルに飛ぶだけ」てのが良く分かる例かもね。

142 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 05:43:33 ]
[1] 授業単元: 複雑学
[2] 問題文(含コード&リンク):

次のH´enon 写像(エノン写像) のボックスカウンティング次元を考える.

(Xn,Yn)→(Xn+1,Yn+1)=(Yn+1-a*X^2*n, b*Xn) :a = 1.4, b = 0.3 に固定する.

10×10分割したマス目内にアトラクタの点が入っているかどうか調べる.点が入っているマス目の数を数えよ
サンプルプログラム kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4376.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 25日正午
[5] その他の制限: プログラムをリザイレクションしてdatファイルにしてGNUPLOTでグラフを表示させる。
          グラフ vista.jeez.jp/img/vi8271774448.jpg

よろしくお願いします。


143 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 07:23:55 ]
>>138
double myPow(double i, int n)
{
    double a=1.0;
    if(n<0){
        n=n*-1;
        i=1/i;
    }
    if(n != 0){
        while(n-->0) a*=i;
    }
    return a;
}

144 名前:デフォルトの名無しさん [2007/06/25(月) 09:24:55 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 簡単な絵を書いて画面に出力しろ
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C言語
[4] 期限: 無し
[5] その他の制限: printf();などの出力関数のみを使った場合はNGとする

145 名前:124 [2007/06/25(月) 10:02:36 ]
>>136
2つもレスしていただいて、本当にありがとうございます。
早速試してみます。


教授の面白いというのはどうもお笑い系のようです。
関西出身のようで、講義に使うプログラムもがんばって笑いを誘おうとしていますので。

146 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 10:34:26 ]
>>142
nS
hist[i][j]
printf("%f %f\n", x, y), hist[px][py]++;

147 名前:デフォルトの名無しさん [2007/06/25(月) 10:56:51 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク): テキストファイルを読み込み、A〜Zまでの文字がそれぞれ何個現れたかを数えろ。大文字と小文字は区別しないもとする。
[3] 環境
 [3.1] OS: (Windows/Linux/等々) WinXP
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) Borland C++ Compiler 5.5
 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C言語
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 無期限
[5] その他の制限: 

自分で書いたコード
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4386.txt

上記のコードの中の
/* ファイルに含まれているアルファベットの個数をカウント */ 
この部分がうまく働きません

何がいけないんでしょうか?

148 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 11:01:39 ]
>>147
なんだこれ。
--
if('a' <= ch && ch >= 'z')
--
やりたいことは、if (ch >= 'a' && ch <= 'z')かif ('a' <= ch && ch <= 'z')じゃないのか?

149 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 11:03:11 ]
if('a' <= ch && ch >= 'z')
else if('A' <= ch && ch >= 'Z')

if('a' <= ch && ch <= 'z')
else if('A' <= ch && ch <= 'Z')

chと文字の位置を変えるから(略

150 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 11:04:41 ]
>>148
ああああああああああ、、、
アホみたいなミスしてました・・・
恥ずかしい





151 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 11:07:42 ]
[1] 授業単元: プログラミング
[2] 問題文:
1、英大文字は小文字に英小文字は大文字に変えて出力するプログラムを作りなさい

2、テキストの中に現れる0から9までの数字の頻度を調べるプログラムを作りなさい

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: C
[4] 期限: ([2007年06月25日14:20まで
[5] その他の制限:特にありません

時間があまりありませんが、できるところまででも
よろしくお願いします

152 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 11:15:41 ]
>>151

#include <stdio.h>
#include <ctype.h>
#include <conio.h>

int main(void)
{
char ch;

ch = getche();
if('a' <= ch && ch <= 'z') printf(" -> %c\n",toupper(ch));
else if('A' <= ch && ch <= 'Z') printf(" -> %c\n",tolower(ch));

return 0;
}


>>147のアルファベットのとこを数字に変える






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

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

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