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/
381 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 20:57:13 ] >>379 終了の条件は?
382 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:04:44 ] >>377 問2はいきなり7309から始まるんですよ…
383 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:06:37 ] >>382 いや、それはそれ以前に処理されたものが画面に表示しきれていないだけでは・・・ 実際には処理されているよ。
384 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:07:54 ] >>382 っ a.exe > result.txt プロンプトのバッファを超えただけと思う
385 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:21:19 ] 294です。おねがいします
386 名前:デフォルトの名無しさん [2007/07/19(木) 21:23:49 ] >>381 何の終了条件ですか?
387 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:32:44 ] ああ、1周でいいのか
388 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:38:22 ] >>379 #include <stdio.h> int main(void){ int m, d, tmp; while(1){ printf("月を入力:"); scanf("%d", &m); if(m<1 || m>12) fprintf(stderr, "月の入力は1以上12以下にしてください\n"); else break; } switch(m){ case 2: tmp = 2; break; case 4: case 6: case 9: case 11: tmp = 1; default: tmp = 0; } while(1){ printf("日を入力:"); scanf("%d", &d); if(d < 1 || d > 31-tmp) fprintf(stderr, "日の入力は1以上%d以下にしてください\n", 31-tmp); else break; } printf("入力された日付は%d月%d日です\n\n", m, d); return(0); }
389 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:44:17 ] うわあ、switch文でbreak;書き忘れた><
390 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 22:00:18 ] >>375 サンクスです☆
391 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 22:09:26 ] >>379 #include <stdio.h> int main(void) { int month = 0, day = 0; while (month<1 || 12<month) { printf("月を入力:"); scanf("%d", &month); if (month<1 || 12<month) printf("月の入力は1以上12以下にしてください\n"); } while (day<1 || 31<day) { printf("日を入力:"); scanf("%d", &day); if (day<1 || 31<day) printf("日の入力は1以上31以下にしてください\n"); } printf("入力された日付は%d月%d日です", month, day); return 0; }
392 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 22:22:33 ] >>294 >>295 お願いします
393 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 23:01:43 ] >>376 >>377 >>383 ありがとうございました〜!
394 名前:体験版ありw mailto:sage [2007/07/19(木) 23:15:53 ] 株式会社リアルクソエイト www.realcreate.net/ WILLTY(ウィルティ)はネットワーク上や 外部媒体からウィルスやハッカーが侵入する際の 異常な電子の動きをキャッチし、コンピュータの入り口で 確実にブロックしてしまうという世界初の画期的な方法が とられています。 たとえ、ウィルス感染したCD,FD,USBなどをインストールしても、 コンピューターがウィルス感染することはありません。 正常なデーターのみがコンピューター内に取り込まれます。 ■ 電源コンセントからの情報漏洩をブロック WILLTYは電源LANシステムを応用したデーター漏洩やハッキングをブロックします。 コンピュータ電源をコンセントに差し込んだ瞬間から機密情報は丸裸になっています。 LAN上のセキュリティーをどれだけ強固にしても、電源コンセントから あなたの情報は筒抜けになっています
395 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 23:16:32 ] >>393 if ( dvsr >= trg ){ このtrgって、sqrtを取得して比較すれば 素数判定が早くできないかな。 dvsr++; これも奇数を見るだけで良いのじゃないかな。 チェック対象件数が半減すると覆うよ。
396 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 23:17:16 ] ↑のソフト使った人感想ちょうだいw
397 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 23:22:24 ] ウィルスに感染した電子ってスピンか何かが違うのか?
398 名前:デフォルトの名無しさん [2007/07/19(木) 23:24:02 ] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4662.c で>>261 を参考にしながらPPMファイルを出力したいのですが、できません。 環境はWindows xp + cygwinです。 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 をCygwin上で入力しています。 何がいけないのでしょうか・・
399 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 23:24:10 ] >>397 違わないだろw 壮大な釣りソフトw
400 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 23:53:45 ] こんなソフト通用すると思ってんのかw
401 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 00:04:20 ] >>394 あぶねえ。 俺、“そういう試みをチャレンジしている会社がある”と信じるところだった。
402 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 00:14:35 ] そういうウィルスを作れたら、 量子コンピュータどころじゃない、 21世紀最大の発明となる鴨。 遺伝情報の媒体って超ひもあたりでやるのか? エンコードやデコードどうするのかなw
403 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 00:45:57 ] >>294 とりあえずは問題の意味が分からないんだけど、それは置いておいて >>294 >>295 に出ているソースをベースにして作らないといけないの? コンパイルさえできないんだけど。
404 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 01:58:29 ] >>294 >>295 です 書いてあるプログラムのmainとnumber大域変数は変更しないで intのスタックを2つ作る(大域変数)。 1つのスタックは数値をいれる。もう1つには演算子を表す数をいれます。
405 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 02:01:27 ] コンパイルは出来なくてもいいんです。確か1つ引っかかりますよね。
406 名前:デフォルトの名無しさん [2007/07/20(金) 06:45:10 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 問題010 多分岐型(2) 次の説明は冬季オリンピックの開催年についての説明である。 キーボードから変数year に入力された年号について、 開催された年に第何回大会が開催されたか 画面に表示するプログラムを作成しなさい。 また開催年でない場合は、画面にその旨メッセージを出力すること。 【説明】 1924 年の第1 回大会以来、4 年に1 度開催されている。 1992 年の第16 回大会までは夏季大会と同じ年に開催されたが、 1994 年の第17 回大会からは、夏季大会の2 年後に開催されるようになった。 1940 年、1944 年は第二次世界大戦の影響で中止。 次回は2010 年、第21 回大会、カナダのバンクーバーで開催予定。 [3] 環境 [3.1] OS: Windows; [3.2] コンパイラ名とバージョン: (VS) [3.3] 言語: C [4] 期限: ([2007年07月21日まで] [5] その他の制限: よろしく。
407 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 07:02:51 ] >>406 やだ
408 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 07:26:01 ] >>406 ほらよ、とっときな #include <stdio.h> int main(void){ int year; while(1){ printf("年号は?");scanf("%d",&year); switch(year){ case 1924:puts("第@回");break; case 1928:puts("第A回");break; case 1932:puts("第B回");break; case 1936:puts("第C回");break; case 1948:puts("第D回");break; case 1952:puts("第E回");break; case 1956:puts("第F回");break; case 1960:puts("第G回");break; case 1964:puts("第H回");break; case 1968:puts("第I回");break; case 1972:puts("第J回");break; case 1976:puts("第K回");break; case 1980:puts("第L回");break; case 1984:puts("第M回");break; case 1988:puts("第N回");break; case 1992:puts("第O回");break; case 1994:puts("第P回");break; case 1998:puts("第Q回");break; case 2002:puts("第R回");break; case 2006:puts("第S回");break; default:puts("開催されなかった、あるいはどうなるか分かりません。");break; }}return 0; }
409 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 07:27:22 ] >>405 コンパイル出来ないのは、 「大域変数を変更する」以前の 「書いてあるプログラム」の問題。
410 名前:デフォルトの名無しさん [2007/07/20(金) 11:06:04 ] >>354 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4683.txt
411 名前:タウリン2000mg配合 [2007/07/20(金) 11:13:28 ] [1] 授業単元:計算機プログラミング [2] 問題文:input7.txtから4×4の行列の要素を読み込み、その逆行列を出力するプログラムを作成せよ。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:よくわかりません。 [3.3] 言語: C言語 [4] 期限: 2007/8/3 まで www.fluid.cse.nagoya-u.ac.jp/~ishihara/c/Sec9prac2.html を改造して作ればいいという課題です。 抜けてる部分だけ作ればいいんですが、それでもいまいちわかりません。 どなたか親切な方がいたら教えてもらえないでしょうか。
412 名前:デフォルトの名無しさん [2007/07/20(金) 11:42:11 ] >>406 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4684.txt
413 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 11:48:58 ] >>412 どんなソースかと思いきやww
414 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 13:02:20 ] アマリニモカワイソスギル
415 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 13:05:47 ] >>411 nagoya-u.ac.jpって書いてあるけど、ブラクラ?
416 名前:デフォルトの名無しさん [2007/07/20(金) 13:15:02 ] >>363 #include <stdio.h> #include <string.h> #include <ctype.h> #define SIZE 500 int main() { char English[SIZE] = {'\0'}; char Other[SIZE] = {'\0'}; char buff[SIZE]= {'\0'}; char *temp; int i,j=0,k=0; int len; fgets(buff,sizeof(buff),stdin); if(temp = strchr(buff, '\n')) *temp = '\0'; for(i = 0; buff[i] != '\0'; i++){ if(isalpha(buff[i])) English[j++] = buff[i]; else Other[k++] = buff[i]; } printf("English %s Other %s \n",English,Other); printf("英文字入力\n"); fgets(buff,sizeof(buff),stdin); if(temp = strchr(buff, '\n')) *temp = '\0'; printf("削除文字入力\n"); fgets(Other,sizeof(Other),stdin); if(temp = strchr(Other, '\n')) *temp = '\0'; len = strlen(Other); while(temp = strstr(buff,Other)){ memcpy(temp,temp+len,sizeof(buff)); } printf("削除後 %s \n", buff); return 0; }
417 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 13:17:10 ] >>415 サンプルソースだ。問題ないと思うが。
418 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 13:36:14 ] [1] 授業単元:演習 [2] 問題文:自然数nを入力すると、任意のディレクトリに任意の名前でn個のフォルダを作成するプログラムを作りなさい。 なお、危険防止のためnの上限は5とする事。 [3] 環境 [3.1] OS: (Windows) [3.2] コンパイラ名とバージョン: (vs) [3.3] 言語: (C言語) [4] 期限:今日中
419 名前:デフォルトの名無しさん [2007/07/20(金) 13:38:38 ] C++の認定試験てあるの?
420 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 13:52:41 ] [1] 授業単元: 演習 [2] 問題文(含コード&リンク): 探索パターンと置換パターン、入力ファイル名を引数にとり、 入力ファイルの探索パターンに合致する部分をすべて置換パターンに置き換えるプログラムを作成せよ パターンにはsedで扱える正規表現のうち、下の部分が使えるように実装せよ . 改行をのぞく任意の1文字にマッチ [abc…] aまたはbまたはc…のうちいずれか1文字にマッチ d* 0個以上のd(dは文字または正規表現)にマッチ \(str\) 文字列str(strは正規表現を含んでよい)二マッチ \n n番目に表れた\(...\)の中の文字列にマッチ (nは1から9の整数) \c cに^,$,.,*,[,\をおくことによりそれ自身にマッチ .* 0個以上の改行を除く任意の文字にマッチ [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 07年7月22日 [5] その他の制限: system()等使わずに正規表現を実装すること
421 名前:お願いします! mailto:sage [2007/07/20(金) 13:54:03 ] 「2個のサイコロ振りをシミュレートするCプログラムを書け。1個目のサイコロ振りにも2個目サイコロ振りにも関数randを使い、2つの出目の和を計算する。」 この問題です!よろしくぅお願いします!
422 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 13:55:20 ] >>421 #include <stdlib.h> #include <stdio.h> int main() { int a,b; a = rand() % 6 + 1; b = rand() % 6 + 1; printf("%d", a + b); return 0; }
423 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:02:04 ] >>422 ありがとうございますぅ!ただ、何と何が出たか分からないから個別に表示もおながいもうしあげます
424 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:03:22 ] printf("%d + %d = %d\n", a, b, a + b);
425 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:04:14 ] >>423 ほれ #include <stdlib.h> #include <stdio.h> int main() { int a,b; a = rand() % 6 + 1 printf("a = %d\n", a); b = rand() % 6 + 1; printf("b = %d\n", b); printf("%d", a + b); return 0; }
426 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:05:19 ] おー!すばらしい!!!あと、半か丁か表示できますか??
427 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:10:53 ] if(a % 2 == 0) printf("aは丁"); else printf("aは半"); if(b % 2 == 0) printf("bは丁"); else printf("bは半");
428 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:11:47 ] ちがうよ、2個の合計で丁か半か判断するんだってばwww
429 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:12:12 ] >>426 そろそろ自分でやったらどうだい?
430 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:13:10 ] if((a + b) % 2 == 0) printf("丁"); else printf("半");
431 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:15:04 ] あと、掛け金もおながいします その辺はきでんのセンスで
432 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:20:09 ] >>431 なんでいっぺにいわないんだい? 自分でやりなさい。
433 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:22:53 ] >>431 指定の口座に3本ほど振り込んでくれないか
434 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:23:55 ] お金はないので他のお礼で。。。
435 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:25:16 ] 釣りだろ
436 名前:デフォルトの名無しさん [2007/07/20(金) 14:25:25 ] 6カ月分のガス料金を求めましょう 使用料金=基本料金+(1㎥当たりの単価×使用量) 使用量 基本料金 1㎥当たりの単価 25㎥以下 690円 127円 25㎥から500㎥以下 1170円 108円 500㎥より多い 6980円 96円 月の使用量を順番にキーボードから入力する。 使用料金は基本料金+(1㎥当たりの単価×使用量)で計算する。 各月の使用料金を算出して以下のように表示させる。 例) 1gatu 2gatu 3gatu 4gatu 5gatu 6gatu Goukei heikin Charge 12500 25600 35410 19860 13250 2980s0 1278540 21906
437 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:26:15 ] >>434 体?でどう?
438 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:27:04 ] ㎥が文字化けしているぞ?
439 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:31:26 ] int ryokin(int siyou) { int kihon, tanka; if(siyou <= 25) { kihon = 690; tanka = 127; } else if(siyou <= 500) { kihon = 1170; tanka = 108; } else { kihon = 6980; tanka = 96; } return kihon + siyou * tanka; }
440 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:36:55 ] >>438 してないお(^ω^)
441 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:38:41 ] >>437 女でよければ。。
442 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:39:41 ] int i, siyou[6], charge[6]; int gokei,heikin; gokei = 0; for(i = 0; i < 6; i++) { printf("%d月の使用量:", i); scanf("%d", &siyou[i]); charge[i] = ryokin(siyou[i]); gokei += charge[i]; } heikin = gokei / 6; printf("1gatu 2gatu 3gatu 4gatu 5gatu 6gatu Goukei heikin \n"); printf("Charge"); for(i = 0; i < 6; i++) printf("%6d", charge[i]); printf("%6d", gokei); printf("%6d\n", heikin);
443 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:41:16 ] >>441 はやっぱなし!高校生だし
444 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:47:10 ] >>443 えええええええええええええええええええええええええええええええ ええええええええええええええええええええええええええええええ えええええええええええええええええええええええええええええ ええええええええええええええええええええええええええええ えええええええええええええええええええええええええええ ええええええええええええええええええええええええええ えええええええええええええええええええええええええ ええええええええええええええええええええええええ えええええええええええええええええええええええ ええええええええええええええええええええええ えええええええええええええええええええええ ええええええええええええええええええええ えええええええええええええええええええ ええええええええええええええええええ えええええええええええええええええ ええええええええええええええええ えええええええええええええええ ええええええええええええええ えええええええええええええ ええええええええええええ えええええええええええ ええええええええええ えええええええええ ええええええええ えええええええ ええええええ えええええ ええええ えええ ええ え
445 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:50:05 ] >>444 for(int i = 0; i < 31; i++) { for(int j = 0; j < 31 - i; j++) printf("え"); puts(""); }
446 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:50:29 ] >>445 実はもう書いてあったw
447 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 14:57:14 ] なにこの流れ
448 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 15:13:49 ] あと、>>418 も私です お礼はできませんが、ほんとお願いします
449 名前:デフォルトの名無しさん [2007/07/20(金) 15:16:18 ] 名前は指定なしで勝手にきめていいの?
450 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 15:16:57 ] 指定しないほうがありがたいです☆
451 名前: ◆DpMW3bRjps [2007/07/20(金) 15:26:22 ] [1] 授業単元:プログラミング実習 [2] 問題文(含コード&リンク):任意の文字列を入力し、その文字列の中に任意の文字が何個入っているかを出力する プログラムのソースコードを提出しなさい。 実行例) 文字列を入力してください yamamotoyama さがす文字を入力してください y 入力された文字列の中に指定された文字は2個あります [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 2007年07月23日17時まで [5] その他の制限:今回初めて文字配列というものを習いました!春から初めた初心者です よろしくお願いします!!
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だった