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/
201 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 02:31:07 ] [1] 授業単元:プログラミング基礎 [2] 問題文(含コード&リンク): longが定義されている数の最大値LONGMAXをもとめろ。 例えば、i=1 を2倍していき、LONGMAXの最大値を求める。 別にこの方法でなくてもいい。各自にまかせる。 ちなみに LONGMAXはおよそ2147483647である。 余裕があるものはdouble などもやることが望ましい。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: (gcc2.95-3) [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限: (2007年07月25日23:59まで) [5] その他の制限:無制限 さぐりで下のようなところまでは書きました。 #include <stdio.h> #define LONGMAX 2147483647 int main(void) { long int i,i2; /*これは0 ... の無限ループ for(i=1;i<LONGMAX;i*=2) printf("%d ",i); */ for(i=1;;i2=i,i*=2){ printf("%d ",i); if(i<i2){ printf("%d is LONGMAX\n",i); break; }}} までできましたが、値が少し違い微妙です。 それと、コメントカットしたらなぜ無限ループになるのでしょうか? これにかなり悩みました。
202 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 03:17:08 ] >>201 無限ループの最初の方で止めれば分かるけど 1,2,4,8…1073741828 の次から0になってるはず。 で、その理由は出力される数を2進表現してみれば分かるはず。キーは32ビット。 後半での出力は…少しの違いなのか? --- #include <stdio.h> int main(void) { unsigned long max = -1; printf("Unsigned MAX:%ud\n", max); printf("Signed MAX:%d\n", max >> 1); return 0; } ----
203 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 03:37:53 ] >>201 2倍していき・・・verで書いてみた #include <stdio.h> #include <math.h> int main(void) { int i=0; long n, tmp; while( (tmp = pow(2, i)-1) >= 0 ){ n = tmp; i++; } printf("LONG MAX : %d\n", n); return(0); }
204 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 03:54:03 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4660.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:不明 [3.3] 言語:C [4] 期限:7/19まで [5] その他の制限:課題@はwhile文、Aは両方とも構造体、Bは全てポインタと構造体の単元です @とAは自分が考えたソースを添えてみたので、どこが悪いのかだけでも教えていただけると幸いです どうかご教授の程お願いします
205 名前:デフォルトの名無しさん [2007/07/18(水) 07:36:23 ] 授業単元:プログラミング 問題文(含コード&リンク): 環境 OS:Windows xp コンパイラ名とバージョン:ボーランド 言語:C 期限: その他の制限: テーマ:標準関数の利用 問題1:文字列を入力、英文字とそれ以外を収納する配列に振り分けしなさい 使用する標準関数:isalpha()など 実行画面 文字列入力==>A12H&jfTy8uZ3# 英字:AHjfTyuZ その他:12&83# 問題2:文字列と削除文字列を入力し、文字列中から削除文字列を排除しなさい 使用する標準関数:strncmp(),strcpy(),strlen()など 実行画面 文字列入力(m1)==>ABCDEFAADABC 削除文字列(m2)==>ABC 結果文字列(m1):DEFAD 注意:配列の使用はm1,m2のみとする
206 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 07:56:14 ] >>204 よく見てないけど @ =< じゃなくて <= isdigit() -> isdigit(moji) printf("hogehoge %d"); -> printf("hogehoge %d",); (カンマ) A × while(buff = getchar()!="0 0 0"){ whileのなかのsscanfのbufferなんてない × printf("%4s%4f%4s,stu[j].name,stu[j]height,stu.[j]blood");}
207 名前:206 mailto:sage [2007/07/18(水) 07:57:21 ] あー printf("hogehoge %d"fuga); -> printf("hogehoge %d",fuga); (カンマ) に訂正です
208 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 08:10:29 ] >>186 ttp://www.sra.co.jp/people/miyata/algorithm/multprec.txt たぶんこれと同じなんやろうけど、どうやったら速くできるんだろう。
209 名前:デフォルトの名無しさん [2007/07/18(水) 08:34:24 ] >>177 奮闘中ですが、できませんorz お願いします!
210 名前:190 ◆Oa0JSQvro2 [2007/07/18(水) 09:12:44 ] [1] 授業単元: C言語プログラミング [2] 問題文(含コード&リンク):○×ゲーム(3目並べ) をプロンプト上で動かす。com/man対戦、先攻後攻は選択可能 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: [3.3] 言語:C [4] 期限: 今週金曜夜 [5] その他の制限: 特になし
211 名前:デフォルトの名無しさん [2007/07/18(水) 10:09:46 ] [1] プログラミング基礎 [2] 検討及び考察」の指示に従って求めた, S/N=3.0 [dB]のときの a. 誤差[%],b. 誤り検出率[%] の数値(有効数字3桁以上) および実験 2. のために作成したシミュレーションプログラムを使って報告せよ。 詳しいことは次のアドレスに書いてあります。 itohws03.ee.noda.tus.ac.jp/~matsuda/programming/final/programming.pdf [3.1] Unix [3.2] gcc [3.3] c [4] 7月27日(金) [5] 私の学籍番号の下三桁は080です。
212 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 10:14:23 ] どうせその学籍番号は他人のものだろ?
213 名前:デフォルトの名無しさん [2007/07/18(水) 10:41:19 ] >>177 VBではなくVSです
214 名前:c言語初心者 [2007/07/18(水) 10:56:39 ] 講義名:プログラミング1 … プリントを渡されてやってこいとのことでした。よろしくおねがいします 問3、よく切られたトランプから、5枚のカードを選び出すプログラムを作成せよ、ただし、トランプにはジョーカーは含まれないものとする。 #include<stdio.h> #include<stdlib.h> #define uniformrand()((double)rand() / ((double)RAND_MAX + 1.0)) int a[ (1)? ]; void RandomPermutation(int n)
215 名前:c言語初心者 [2007/07/18(水) 10:57:29 ] 『続き』 { 例題2と同じ } int main(void) { int i; RandomPermutation( (1)? ); for(i = 0; i < 5; i++){ if( (2)? ){ printf("ハート% 4d \n", n (3)? ); }else if ( (4)? ){ printf("ダイア% 4d \n", n (5)? ); }else if ( (6)? ){ printf("クラブ% 4d \n", n (7)? ); }else{ printf("ハート% 4d \n", n (8)? ); } return 0; } 例題2と同じというところは、プリントの横に例題2というのがあったんですが、どこかどこまでが例題2と同じなのかがわかりませんでした。そこが必要であれば例題2を打つんでよろしくお願いします。(1)から(8)までを回答としてよろしくねがいします。
216 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 11:07:22 ] >>209 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4661.c
217 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 11:19:47 ] >>215 四の五の言わないで全部書き出しな
218 名前:デフォルトの名無しさん [2007/07/18(水) 11:21:57 ] >>175 ですがどうにもうまく三角形が描けませんorz ファイル出力までで結構ですので、どなたかなにとぞお願いしますm(__)m
219 名前:c言語初心者 [2007/07/18(水) 11:39:59 ] >>215 0,1,2, … 、99をランダムに並べる #include<stdio.h> #include<stdlib.h> #define uniformrand()((double)rand() / ((double)RAND_MAX + 1)) int a[100]
220 名前:c言語初心者 [2007/07/18(水) 11:40:29 ] 続き void RandomPermutaion(int n) { int i, j, z; for (i = 0; i < n; i++) { a[i] = i; } for(j = n - 1; j > 0; j--) { i = (int)(j * uniformrend()); z = a[i]; a[i] = a[j]; a[j] =z; } } int main() { int n, i; n = 100; RandmPermutation(n); for (i = 0; i < n; i++){ printf("%4d", a[i]); } printf("/n"); return 0; } が例題2です。よろしくお願いします
221 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 11:56:24 ] >>220 できたぞ つか printf("ハート% 4d \n", n (3)? ); とか printf("ダイア% 4d \n", n (5)? ); って、問題間違ってないか?
222 名前:c言語初心者 [2007/07/18(水) 12:00:14 ] 間違ってました。申し訳ありません。 printf("ハート% 4d \n", (3)? ); printf("ダイア% 4d \n", (5)? ); です。 よろしくお願いします。
223 名前:デフォルトの名無しさん [2007/07/18(水) 12:07:51 ] [1] 授業単元: C [2] 問題文(含コード&リンク):単純選択法 大きさ20の配列keyを用意し、キーボードから値を入力する。 この配列keyの要素を、単純選択法でソートするプログラムを作成せよ。 ただし、ソートの途中経過を画面に出力すること。 また、最後に比較回数を画面に出力すること。 【ヒント】 配列の大きさの指定 #define SIZE 20 単純選択法‥最小の要素を選び、未ソートの部分の先頭の要素と交換する 途中経過‥未ソートの部分が1つ減るたびに(外ループ)出力。 比較回数‥初期値0の変数を用意し、比較のたびに(内ループ)インクリメント。 発展 以下の機能を持つ関数を作成し、利用する形にコードを修正しなさい。 配列要素の入力を行う input_array 配列要素の出力を行う output_array 単純選択法によるソート select_sort [3] 環境 [3.1] OS: WindowXP [3.2] コンパイラ名とバージョン:VS2005 [3.3] 言語: C [4] 期限: いつでも [5] その他の制限:なし
224 名前:デフォルトの名無しさん [2007/07/18(水) 12:09:04 ] >>223 発展までは書いてみました #include<stdio.h> #define SIZE 20 void kadai28() { int key[SIZE]; int i, j, p, cnt = 0, w; for(i = 0; i < SIZE; i++) scanf("%d", &key[i]); for(j = 0; j < SIZE; j++) printf("%3d", key[j]); printf("\n"); for(i = 0; i < SIZE; i++){ p = i; for(j = i+1;j < SIZE;j++){ if(key[j] < key[p]) p = j; cnt++; } w = key[p]; key[p] = key[i]; key[i] = w; for(j = 0; j < SIZE; j++) printf("%3d", key[j]); printf("\n"); } printf("cnt = %d\n", cnt); return; } 発展の方お願いしますー
225 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:10:49 ] [1] プログラム基礎復習 [2] charのみを使用し小数点以下100桁まで計算できる計算機を作る(中学程度) [3] 環境 [3.1] Windows2000プロ [3.2] gcc [3.3] C [4]7/20 [5]main以外の関数を作ってはいけない お願いします。さっぱりなので・・・
226 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:13:08 ] >>225 「+」「-」「*」「/」「√」位かな?
227 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:15:15 ] >>222 じゃ、パーツだけ教えるよ n a[i]/13==0 a[i]/13==1 a[i]/13==2 a[i]%13 a[i]%13 a[i]%13 a[i]%13 または n a[i]&3==0 a[i]&3==1 a[i]&3==2 a[i]/4 a[i]/4 a[i]/4 a[i]/4 好きなほうを使ってくれ
228 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:15:26 ] >>226 お願いできますか? charだと256までしか出来ないので積や商がさっぱりで・・・
229 名前:c言語初心者 [2007/07/18(水) 12:20:22 ] >>221 さん。 頼んでおいて申し訳ないのですが、>>214 の回答をよろしくお願いします。
230 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:20:25 ] >>225 小数点以下でcharってprintf出力で表示される答えが100桁でいいんだよね?
231 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:24:54 ] >>229 >>227 にヒントを書いたんだけど、不服?
232 名前:225です mailto:sage [2007/07/18(水) 12:28:13 ] >>214 さん 問題文の意味がよく分からないんですけど ジョーカーは1枚ですよね? それでランダムで5枚引くと・・・・
233 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:29:21 ] >>225 小数点以上は無限大?
234 名前:225です mailto:sage [2007/07/18(水) 12:32:02 ] >>233 指定されていないので 多分無限だと思います
235 名前:c言語初心者 [2007/07/18(水) 12:33:46 ] >>231 さん 不服なんてとんでもないです。ただ、ヒントもらっても自分が解けないだけです。申し訳ないです。 >>232 さん たぶんジョーカー2枚を抜いた52枚でのことだとおもいます。よろしくお願いします。
236 名前:225です mailto:sage [2007/07/18(水) 12:33:59 ] 足し引きはifで100で固めれば簡単に出来ることはわかったんですけど
237 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:34:33 ] 多倍長の実数計算を実装させて >[5]main以外の関数を作ってはいけない か 冗談きつすぎ
238 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:37:24 ] >>225 100^256 までしかできなくね? 無限じゃネージャン
239 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:38:15 ] 再帰下降も不可、と
240 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:39:19 ] >>238 勿論char[]で多倍長を実装するんでしょ そうじゃなきゃそもそも実数すら扱えん
241 名前:256です mailto:sage [2007/07/18(水) 12:39:40 ] ごめんなさい頼る所はココしかないので・・・・orz
242 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:40:08 ] 未来からの使者か?
243 名前:149 [2007/07/18(水) 12:58:59 ] >>153 さんのテキストをコンパイルしてみたのですが、 /tmp/ccY67IGB.o(.text+0x163): In function `angle': : undefined reference to `sqrt' /tmp/ccY67IGB.o(.text+0x177): In function `angle': : undefined reference to `sqrt' /tmp/ccY67IGB.o(.text+0x197): In function `angle': : undefined reference to `acos' collect2: ld はステータス 1 で終了しました と表示されて、./a/out のファイルが作成されなかったのですが これは何でしょうか・・
244 名前:デフォルトの名無しさん [2007/07/18(水) 13:00:17 ] 何方か205お願いします
245 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:01:49 ] エラーメッセージじゃないかな??
246 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:05:23 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 特定の単語にgoogle 検索のリンクをはるプログラムをつくれ。 例えば、下は「テスト」という単語をgoogle検索したリンク である。 q= 以降は「テスト」という単語がURLエンコード(unicode)された文字列となっている。 www.google.co.jp/search?hl=ja&q=%E3%83%86%E3%82%B9%E3%83%88 1. htmlファイルを受け取る 2. 検索リンクにしたいいくつかの指定した単語を受け取る 3. すでにリンク済みの単語に注意しながら、指定した単語をgoogle 検索のリンクにする。 (例)「宿題」をgoogle 検索されたリンクにする。 この宿題ができなかったら単位はあげません。 -> この<a href="www.google.co.jp/search?hl=ja&q=%E5%AE%BF%E9%A1%8C"> 宿題</a>ができなかったら単位はあげません。 なお、目的を果たせるプログラムだったらこの形式でなくてもかまわない。 余裕がないものは ・検索ワードはURLエンコードの必要のない半角英数等だけでいい。 ・受け取った検索ワードはすでにリンクされていないと仮定してもいい。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc2.95-3 [3.3] 言語: C [4] 期限: (2007年07月31日17:00まで) [5] その他の制限: 何を使っても構わない
247 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:07:40 ] >>243 -lmつけると幸せになれる
248 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:08:14 ] >>225 組むのめんどいからヒントだけあげるよ 現在のCPU能力では「+」と「-」しか演算が出来ない。 「*」「/」はただの演算方法でしかない 例 a*bの場合 int i; for(i=0;i=b;i){a++}
249 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:09:34 ] >>248 ちょw
250 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:12:39 ] >>205 何が分からないか分からないんだが・・・・・・・ まんまじゃん
251 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:15:31 ] >>250 それを言うなwそれ言っちゃこのスレの存在価値がw
252 名前:149 [2007/07/18(水) 13:37:55 ] >>247 さん 幸せになれましたが、どういう原理なのでしょう? 質問ばっかですいません 書き忘れましたが、153さん・247さんありがとうです
253 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:41:52 ] >>252 mという数学ライブラリをリンクしたのです。
254 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:42:09 ] >>248 兄さんそれ掛け算になってません。 forの条件式もアレです。意図は伝わるけど。
255 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:46:27 ] a*bの場合 int i,n; for(i=0;i<b;i++){n+=a;} 暇ですね。
256 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:47:11 ] a*bの場合 int i,n=0; for(i=0;i<b;i++){n+=a;}
257 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:48:03 ] >>252 243のエラーメッセージはソースの中に存在しない関数(sqrtとacos)があって プログラムを作れないというリンカのエラー。 >>253 の言うとおり数学ライブラリをリンク指定すれば その中に関数sqrtとacosという関数があるからリンクが通る。
258 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 13:52:06 ] >>248
259 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 14:02:41 ] 馬鹿は彫っとけ
260 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 14:04:45 ] やらないか
261 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 14:16:34 ] >>175 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4662.c 入力は各行に(別に各行でなくてもいいけど) x1 y1 Z1 x2 y2 Z2 x3 y3 Z3 r g b の順で数値を並べたファイル. (例) 0 10 10 100 30 10 50 50 100 255 0 0 0 100 20 100 100 20 50 0 20 0 255 0 0 200 30 100 200 30 80 20 15 0 0 255 出力先もコンソールにしてるが,変更したければmain冒頭の FILE *out = stdout; を書き換えればいい. 画像はLinuxのxvで確認した.ppm形式はいくつか種類があるようなので問題あるかも. (注:CGは昔かじった程度なのでzバッファについて根本的な勘違いをしてるかもしれない)
262 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 14:30:47 ] >>205 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4663.txt 問題2でstrcpy()(文字列のコピー)の替わりにstrcat(文字列の連結)を使った。 strcpy()を使えと言われても俺の能力じゃムリポ
263 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 14:33:09 ] >>262 strccat(a, b) ≡ strcpy(a + strlen(a), b) ≡ strcpy(strchr(a, '\0'), b)
264 名前:262 mailto:sage [2007/07/18(水) 14:37:06 ] 262の駄文は忘れてくれ 問題2の修正版 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4664.c
265 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 15:08:56 ] >>246 色々穴だらけだが kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4666.txt
266 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 15:18:43 ] >>262 最後のナル文字にさえ気をつければ便利だし安全だよ。
267 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 15:19:45 ] サイズの方が重要かも。
268 名前:265 mailto:sage [2007/07/18(水) 15:24:25 ] あ、コメントの処理入れるの忘れた まあいいや どうせもともと穴だらけだ
269 名前:ヒープ [2007/07/18(水) 15:36:58 ] [1] 授業単元:C言語演習 [2] 問題文(含コード&リンク): ヒープソートを用いて、配列に格納された10個の数値データを 大きい順に並び替える。変化がわかるようにソート前と後を出力させる。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 早いとありがたいです [5] その他の制限: 特にありません よろしくおねがいします。
270 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 17:26:12 ] >>177 #include <stdio.h> int main(void) { int i,j,k,sn,flg[3]={0},suka; int n[3][5]={ {157788,457190,-1}, {5161,7093,7485,9614,-1}, {64,79,-1} }; printf("Input number > "); scanf("%d",&sn); for(i=0,k=1000000; i<3; i++,k/=100) { for(j=0; n[i][j]>0; j++) { if(n[i][j]==sn%k) { flg[i]++; break; } } } for(i=0,suka=1; i<3; i++) { if(flg[i]) { printf("%d等 \n",i+1); suka=0; } } if(suka) printf("はずれ\n"); return 0; }
271 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 18:07:53 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 2次元配列の中にデータの入ったファイルを読み込んで代入する方法を main関数ともう1つ関数をつくって作成せよ。 例. box[5][5];の2次元配列にファイルのデータ(ここではdata.txt)を代入 data.txt 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 今日中です [5] その他の制限: 特にありません よろしくおねがいします。
272 名前:175 [2007/07/18(水) 19:53:23 ] >>261 ありがとうございました!m(__)m 自分でも色々いじってみましたが、思っていた通りの完璧な出来でした。 本当に助かりました!
273 名前:デフォルトの名無しさん [2007/07/18(水) 20:09:44 ] [1] 授業単元:情報活用 [2] 問題文:キーボードから順次入力された正の整数を0が入力されるまで、 配列に順番に格納し、入力された(0を除く)値の平均値(実数として扱うこと) にもっとも近い値(平均との差が最小となる値)が何番目に入力された どういう値であるかを表示するプログラムを作成せよ。 例) 数字(1)を入力してください。 2 数字(2)を入力してください。 5 数字(3)を入力してください。 3 数字(4)を入力してください。 1 数字(5)を入力してください。 0 入力された数字の平均は2.75です。 これは、3番目に入力された3に最も近いです。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: [7月19日20:00] [5] その他の制限:特になし ギリギリまで頑張ったのですができませんでした。わかる方お願いします
274 名前:デフォルトの名無しさん [2007/07/18(水) 20:12:21 ] [1] 授業単元: C言語プログラミング [2] 問題文(含コード&リンク):○×ゲーム(3目並べ) をプロンプト上で動かす。com/man対戦、先攻後攻は選択可能 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: [3.3] 言語:C [4] 期限: 今週金曜 [5] その他の制限: 特になし
275 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 20:13:01 ] >>273 なんか前々スレくらいで全く同じ問題に回答した気がする。
276 名前:スモーク [2007/07/18(水) 20:17:27 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): 問題009 多分岐型 整数型の変数a・b と、文字型の変数e を用意し、 キーボードから2つの数値と1つの演算子を入力し 、その計算結果cを出力するプログラムを作成しなさい。 実行される計算は和・差・積・商・剰余の5種類とし、 演算子はそれぞれ’+’、’-’、’*’、’/’、’%’で 表現されるものとする。 演算子にそれ以外の記号が入力された場合は エラーメッセージを表示する。 また0による除算の回避も含めること。 [3] 環境 3.1] OS: (Windows XP) [3.2] コンパイラ名とバージョン: (VS 2005) [3.3] 言語:C [4] 期限: ([2007年07月20日hh:金曜まで] [5] その他の制限: 課題の数は残り20くらいありますが、半分は片付けました。 しかし、追加されてくるものを回答する時間がもうありません。 どうかよろしくおねがいします。 あなたの能力が便りです。
277 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 20:20:53 ] 釣りか?
278 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 20:21:21 ] 除算の結果の小数点以下は?
279 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 20:25:19 ] >>271 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4667.c
280 名前:デフォルトの名無しさん [2007/07/18(水) 20:27:06 ] [1] 授業単元:情報 [2] 問題文:2次方程式a*x*x + b*x + c = 0の解を求めるプログラムを作成せよ。 係数a,b,cはdouble型で、キーボードから入力するものとする。 虚数解の出力も行うこと。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: あしたまで [5] その他の制限:ありません よろしくおねがいします
281 名前:22 mailto:sage [2007/07/18(水) 20:37:28 ] 名前:デフォルトの名無しさん[sage] 投稿日:2007/07/15(日) 09:55:51 [1] 授業単元: C言語 基礎&応用 [2] 問題文(含コード&リンク): 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4668.txt ソース:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4669.txt [3] 環境 [3.1] OS:windowsXP [3.2] コンパイラ名とバージョン:Visual studio.2005 [3.3] 言語:C言語 [4] 期限:2007/07/19の12:00まで。 [5] その他の制限:特になし どうにか講師が作らせたかった内容になったらしく問題1と2はOKでました。 最後の問題3です。よろしくお願いいたします。
282 名前:スモーク [2007/07/18(水) 20:41:23 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): 問題009 多分岐型 整数型の変数a・b と、文字型の変数e を用意し、 キーボードから2つの数値と1つの演算子を入力し 、その計算結果cを出力するプログラムを作成しなさい。 実行される計算は和・差・積・商・剰余の5種類とし、 演算子はそれぞれ’+’、’-’、’*’、’/’、’%’で 表現されるものとする。 演算子にそれ以外の記号が入力された場合は エラーメッセージを表示する。 また0による除算の回避も含めること。 [3] 環境 3.1] OS: (Windows XP) [3.2] コンパイラ名とバージョン: (VS 2005) [3.3] 言語:C [4] 期限: ([2007年07月20日hh:金曜まで] [5] その他の制限: 課題の数は残り20くらいありますが、半分は片付けました。 しかし、追加されてくるものを回答する時間がもうありません。 どうかよろしくおねがいします。 あなたの能力が便りです。 小数点以下は切り捨てでいいですよ。 とにかく0による除算の回避とあるだけなのでそのとおりで済むはずです。 多少のミスはかまいません。それ以外がうまく機能すればよいです。 また、ほかの問題も載せますのでよろしくお願いします。
283 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 20:42:52 ] ここまでくると、嫌がらせとしか思えないな
284 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 20:43:30 ] なんか追記の書き方がムカツクのは俺の心が狭いからかな
285 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 21:07:30 ] >>280 汚くて&間違ってたらスマソ ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4670.c
286 名前:285 mailto:sage [2007/07/18(水) 21:11:36 ] あー、a=0の時の処理書いてないわ 適当に追加してね
287 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 21:26:20 ] >>284 俺も。>>285 はキリストかあるいはMだと思う。
288 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 21:39:00 ] >>282 #include <stdio.h> #include <stdlib.h> int main(void){int a,b,c;char e;if(scanf("%d %d %c",&a,&b,&e)!= 3){ fprintf(stderr, "input error\n");return EXIT_FAILURE;}switch (e) { case '+': c = a + b; break;case '-': c = a - b; break; case '*': c = a * b; break;case '/': case '%':if (b == 0) {fprintf(stderr, "zero divide\n"); return EXIT_FAILURE;}if (e == '/') {c = a / b;} else {c = a % b;} break;default:fprintf(stderr, "illegal operator\n");return EXIT_FAILURE;} printf("result = %d", c); return EXIT_SUCCESS;}
289 名前:alsk [2007/07/18(水) 21:56:33 ] 健康についての英語のエッセイを500〜600字程度でお願いしたいのですが… 可能でしょうか? タバコとか、肥満についてならなんでもいいんで!
290 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 21:57:11 ] >>289 スレ違いすぎ。
291 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 22:00:17 ] (´-`).。oO(英語で500〜600"字"ってかなり少なくないか?)
292 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 22:03:32 ] (´-`).。oO("語"の間違いだろ・・・常考)
293 名前:デフォルトの名無しさん [2007/07/18(水) 22:04:01 ] 釣りか単なるマルチだろ…
294 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 22:40:52 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 次のようにプログラムを作成せよ。前回のプログラムのmainとnumber大域変数は変更しない。 intのスタックを2つ作る(大域変数)。1つのスタックは数値をいれる。もう1つには演算子を表す数をいれる 例 +→0 弱低 -→1 ↓ *→2 ↓ /→3 強高 #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); } }
295 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 22:42:19 ] 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月19日 [5] その他の制限:特になし
296 名前:デフォルトの名無しさん [2007/07/18(水) 23:13:01 ] >>223 お願いします
297 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 23:16:30 ] >>279 回答ありがとうございます。 とてもみやすかったです^^
298 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 23:24:06 ] >>297 readfile関数内の int j はいらないから消しといて><
299 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 00:12:58 ] >>273 #include <stdio.h> #include <math.h> #define N 128 int main(void) { int i=0, j, n=0, x[N]; float avg=0.0, tmp; while(1){ printf("数字(%d)を入力してください。: ", i+1); scanf("%d", &x[i]); if(x[i] == 0) break; avg += x[i]; i++; if(i == N) break; } avg = avg / i; printf("\n入力された数字の平均は%fです。\n", avg); tmp = fabs(avg - x[0]); for(j=1 ; j<i ; j++){ if(tmp > fabs(avg - x[j])){ tmp = fabs(avg - x[j]); n = j; } } printf("これは、%d番目に入力された%dに最も近いです。\n", n+1, x[n]); return(0); }
300 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 00:33:57 ] [1] 授業単元:計算機 [2] 問題文(含コード&リンク): スタックを利用し、入力された文字を逆順に出力するプログラム。 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4671.txt ここまで作ったのですが、ポップアップがうまく出来ません [3] 環境 [3.1] OS: (Windows/Linux/等々) windows [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) bcc32 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限:7/26 どなたかご教授お願いしますorz