1 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 15:30:38 ] あなたが解けない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++の宿題を片付けます 121代目 pc11.2ch.net/test/read.cgi/tech/1230678123/
159 名前:115 mailto:sage [2009/01/17(土) 17:07:19 ] >>115 に関して説明不足ですみません。 科目Aの成績と科目Bの成績があって、 それぞれの成績について平均、標準偏差、偏差値を求めるということです。 順位は科目A+Bの成績で出します。 ちなみに実際のファイルの中身はこんな感じ↓ 1234567●●●● 1042
160 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 17:33:03 ] ファイルアップしたほうがはやくね?
161 名前:デフォルトの名無しさん [2009/01/17(土) 17:33:57 ] [1] 授業単元:Computer Prigramming II 第14回:木(ツリー)構造,再帰的関数と再帰的呼び出し [2] 問題文(含コード&リンク): 下の入出力例のように,適当な数字を入れると,1からその数までの和が計算過程とともに 表示されるプログラムを作りなさい。ループ(for)文を使うものと再帰的関数を使用するも のの2種類の解答を作ること。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8662.txt [3] 環境 [3.1] OS:Windows Vista / Linux [3.2] コンパイラ名とバージョン:Visual C++ 2008 Express Edition / gcc [3.3] 言語:C [4] 期限:2008年1月25日00:00まで [5] その他の制限:
162 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 17:44:47 ] 【質問テンプレ】 [1] 授業単元:プログラミング言語 [2] 問題文(含コード&リンク): 問題3(戻り値がない場合の引数あり) 平行四辺形の底辺tと逆さhを入力して、平行四辺形の面積を求めるプログラムを作りなさい。 ただし、main関数で平行四辺形の底辺tと高さhの入力を行い、 平行四辺形の面積の計算と表示はmensekiという関数で行うこと。 問題4(戻り値がある場合の引数あり) 平行四辺形の底辺tと高さhを入力して、平行四辺形の面積を求めるプログラムを作りなさい。 ただしmain関数で平行四辺形の底辺tと高さhの入力と計算された円の面積の表示を行い、 平行四辺形の面積はmensekiという関数で計算するようにする。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Borland C++ Compiler 5.5 [3.3] 言語:C言語 [4] 期限:2009年01月19日まで [5] その他の制限:習い始めて半年です、数学関数まで進みました。 よろしくお願いします。
163 名前:デフォルトの名無しさん [2009/01/17(土) 17:54:02 ] 文字処理関数の演習問題 16進数に変換可能な文字列(例えば "AB45")をキーボードから入力し、 10進数の数値に変換しなさい。 わかる方教えてください。。
164 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:07:44 ] >>162 問題3 #include <stdio.h> void menseki(double t, double h) { printf("平行四辺形の面積は%lfです\n", t * h); return; } int main() { double t, h; printf("底辺: "); scanf("%lf", &t); printf("高さ: "); scanf("%lf", &h); menseki(t, h); return 0; }
165 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:09:30 ] >>162 問題4 円の面積って何だ #include <stdio.h> double menseki(double t, double h) { return t*h; } int main() { double t, h; printf("底辺: "); scanf("%lf", &t); printf("高さ: "); scanf("%lf", &h); menseki(t, h); printf("平行四辺形の面積は%lfです\n", menseki(t, h)); return 0; }
166 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:13:41 ] >>161 入出力例を見ると和を入力しているが、入力するのは和なのか? 3を入力→1+2+3を求めるではなく、 3を入力→1+2=3まで計算、なのか?
167 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:20:56 ] >>163 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> int do_hex(char *str) { static const char hex[] = "0123456789abcdef"; static const int digit = sizeof(hex) - 1; int ch, ret = 0; char *p; while(*str != '\0'){ ch = tolower(*str); p = strchr(hex, ch); if(p == NULL){ fprintf(stderr, "卑猥な文字:%c\n", *str); exit(1); } ret = digit * ret + (int)(p - hex); str++; } return ret; } int main(void) { char buf[256]; scanf("%255s", buf); printf("%s(16) -> %d(10)\n", buf, do_hex(buf)); return 0; }
168 名前:デフォルトの名無しさん [2009/01/17(土) 18:25:34 ] >>167 もっと簡潔に書けるよ
169 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:30:10 ] >>168 こうか? #include <stdio.h> #include <stdlib.h> int main(void) { int ret, hex; ret = scanf("%x", &hex); if(ret != 1){ fprintf(stderr, "俺にも彼女ができる\n"); exit(1); } printf("%x(16) -> %d\n", hex, hex); return 0; }
170 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:35:02 ] >>159 フォーマットは各行に「学籍番号が7桁、名前が10文字、成績1が2桁、成績2が2桁」が隙間無く並んでいるってことでいいんだよね? kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8666.txt
171 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:36:58 ] みなさんcのコンパイラは 何をお使いでしょうか? おすすめや これは使えないというものはありますか??
172 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:42:56 ] >>171 スレ違いだから消えろ
173 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:43:13 ] >>171 スレチ。 pc11.2ch.net/test/read.cgi/tech/1231564903/
174 名前:162 mailto:sage [2009/01/17(土) 18:45:48 ] >>164-165 ありがとうございます!助かりました。 円の面積・・・意味不明ですね、気付きませんでした。 プリント見返してみましたけど円って書いてありますw 先生のミスかな。
175 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 19:22:28 ] >>172 >>173 wwwwwwwwwwwwwwwwww >>172 >>173 wwwwwwwwwwwwwwwwww >>172 >>173 wwwwwwwwwwwwwwwwww
176 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 19:52:09 ] gccかclでいいんじゃないかとおもうけど bccってどうなの?
177 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 19:57:30 ] >>176 Windowsでgccって微妙じゃね?
178 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 20:07:42 ] 悲しいかな、C関連で一番勢いの大きいスレッドなので、ウザイ自演も沸く・・・
179 名前:115 mailto:sage [2009/01/17(土) 22:08:32 ] >>170 そのとおりです、ありがとうございます。助かりました・・・。
180 名前:115 mailto:sage [2009/01/17(土) 22:53:18 ] 何度もすみませんorz >>170 のを実行してみたらエラーが出て実行できないんですがどこがおかしいんでしょうか・・・
181 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 22:55:45 ] >>180 >>1 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
182 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 23:09:26 ] 115.txtを探す旅
183 名前:115 mailto:sage [2009/01/17(土) 23:29:59 ] >>182 いくら自分が間抜けでプログラム苦手とはいえそれはさすがにないw 自力でどうにか出来そうな箇所を弄ったら102個あったエラーが30個にはなったんですが もうこれ以上は自力じゃ無理orz ここでひとつひとつコピペするのも難なので、全部まとめてコピペしてロダに上げておきます・・・。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8669.txt
184 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 23:46:46 ] >>183 手直ししたなら、そのプログラムも上げてくれ 多分 grade_t のどっかがおかしいんだと思う
185 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 23:50:18 ] >>180 > >>170 のを実行してみたらエラーが出て実行できないんですがどこがおかしいんでしょうか・・・ 先生!>>183 が実行時エラーじゃありません!!!
186 名前:170 mailto:sage [2009/01/18(日) 00:15:38 ] あー、VC++だと変数宣言を全部ブロックの先頭に書かないといけないんだっけ?
187 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 00:20:41 ] >>186 いや全く関係ないけど。
188 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 00:22:52 ] >>180 >>170 の const grade_t *x = a; const grade_t *y = b; を const grade_t *x = (const grade_t *)a; const grade_t *y = (const grade_t *)b; に書き換えてもダメか? (*.cppとしてコンパイルしていると想定)
189 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 00:24:12 ] const grade_t *x = (grade_t*)a; const grade_t *y = (grade_t*)b; に変えればとりあえず動くけどフォーマット指定したファイルも出してくれないと ファイル作るの面倒です^;^
190 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 00:57:16 ] &grades[i].numberという書き方はキライだな(個人的には) &(grades[i].number)と書きたい
191 名前:デフォルトの名無しさん [2009/01/18(日) 00:59:54 ] 宿題で関数strcpyを自分で作らなければいけません。 自分で作ってみたのですが、うまくいきませんでした。 char *my_strcpy(char *s1, char *s2){ int i = 0; while(s2[i] != '\0'){ s1[i] = *s2; i++; } *s1 = '\0'; return s1; } どこをどう直せばいいのか教えてください。 お願いします。
192 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 01:01:14 ] >>191 www.bohyoh.com/CandCPP/C/Library/strcpy.html
193 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 01:03:08 ] >>191 s1[i] = s2[i]; s1[i] = '\0';
194 名前:デフォルトの名無しさん [2009/01/18(日) 01:10:39 ] >>192 >>193 ありがとうございました。 本当に助かりました。
195 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 01:50:13 ] >>192 そんなの貼ると、代入式だってファビョられるぞw
196 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 02:19:03 ] >>195 言われるのはサイトの管理人だから、放っとけよ
197 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 02:28:10 ] JIS X 3010:2003の定義に従えば、条件式⊂代入式
198 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 11:21:05 ] >>102 #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> #define N 256 int main(void) { char b[N]; int c = 0, w = 0, l = 0; FILE *fp; fgets(b, N, stdin); *strchr(b, '\n') = '\0'; if (!(fp = fopen(b, "r"))) return 1; while (fgets(b, N, fp)) { int i = 0; while(b[i]) { c++; if (!isalpha(b[i++])) w++; } l++; } printf("%d character(s)\n%d word(s)\n%d line(s)\n", c, w, l); fclose(fp); return 0; }
199 名前:デフォルトの名無しさん [2009/01/18(日) 13:37:08 ] まったくできない。 こんな学部入らなければよかった・・
200 名前:デフォルトの名無しさん [2009/01/18(日) 13:45:29 ] 大学じゃ、Cの授業なんてなかったなぁ・・・ 独学で覚えて仕事にしてるが。
201 名前:デフォルトの名無しさん [2009/01/18(日) 15:50:18 ] >>93 >1からその数までの和 それなら、45を入力すると 1081 = 1 + 2 + ... + 45 になるはずなのだが。 問題が間違っているのか、出力例が間違っているのかを教えてくれ
202 名前:デフォルトの名無しさん [2009/01/18(日) 15:53:32 ] >>93 >1からその数までの和 それなら、45を入力すると 1081 = 1 + 2 + ... + 45 になるはずなのだが。 問題が間違っているのか、出力例が間違っているのかを教えてくれ
203 名前:201 [2009/01/18(日) 15:54:28 ] 連続スマソ
204 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 16:25:14 ] >>201 自分も、何か変だなとは思ったが、例えば36から45の間の数を入力したら どうするのかと考えたが、問題文を見ると、やはり1〜nまでの和なのかと・・・
205 名前:201 [2009/01/18(日) 16:33:34 ] 問題が正しいのならば↓ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8671.c 出力例が正しいのならば↓ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8670.c for文は苦手だから書かんかった。ごめん。 暇だったら書くかもしれん
206 名前:201 [2009/01/18(日) 16:48:21 ] 分かるとは思うけど205は >>93
207 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:00:54 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8672.txt [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: 不明 [3.3] 言語: C [4] 期限: 2009年01月19日 [5] その他の制限:このような形に表示されるよう求められています↓ www.dotup.org/uploda/www.dotup.org16591.jpg どうか宜しくお願いします
208 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:05:17 ] >>93 forでやった場合、問題に合わせたやつ。 出力例にあわせるのはめんどいからパス。 #include <stdio.h> int sum_n(int); int main() { int i, j, n; printf("Input any integer >"); scanf("%d", &n); for (i = 1; i <= n; i++) { printf("%d = ", sum_n(i)); for (j = 1; j <= i; j++) { printf(" %d %c", j, (j==i ? '\n': '+')); } } printf("Total: %d\n", sum_n(n)); return 0; } int sum_n(int n) { return n * (n + 1) / 2; }
209 名前:208 mailto:sage [2009/01/18(日) 17:20:35 ] もしかすると、sum_nの中身こっちのほうがいいかも。 int sum_n(int n) { int i; int sum = 0; for(i = 1; i <= n; i++) { sum += i; } return sum; }
210 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:28:56 ] もしかすると、うpロダ使って書き直すのも良いかも
211 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:51:03 ] >>207 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8673.c
212 名前:デフォルトの名無しさん [2009/01/18(日) 18:53:11 ] 一般ユーティリティ関数の演習問題 * をランダムな個数ずつ、10行画面に出力しなさい。 ただし、最大でも 1行(80個)を越えないこと。 お願いします。
213 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:00:34 ] #include <stdio.h> #include <stdlib.h> int main(void) { int i,j; for(i=0;i<10;i++){ for(j=0;j<rand()%80+1;j++)printf("*"); printf("\n"); } return 0; }
214 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:02:59 ] >>213 助かりました。ありがとうございます!!
215 名前:デフォルトの名無しさん [2009/01/18(日) 19:04:08 ] >>213 >j<rand()%80+1 これは思いつかんかったわww ちなみに俺は212ではない
216 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:06:57 ] >>213 j<rand()%80+1 これってループするたびに右辺の値が変わったりしないか? それでも要求仕様は満足するだろうけど
217 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:10:57 ] この場合、*の個数の分布はなんだろう?
218 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:15:19 ] 指数分布だろ近いのは
219 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:18:12 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 32以下の自然数nを入力し、nビットのグレイコードを出力せよ。 [3] 環境 [3.1] OS: Vista [3.2] コンパイラ名とバージョン: VC2008EE [3.3] 言語: C [4] 期限: 本日中 [5] その他の制限: 標準ライブラリの範囲内で。 よろしくお願いします。
220 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:34:47 ] >>217 やってみた kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8674.txt 当然だが後半ほとんどでないな
221 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:40:45 ] >>219 #include <stdio.h> int main(void) { int i,j,g[6],flg; unsigned int a; do { printf("input number(<=32): "); scanf("%d",&a); } while (a>32); for (i=0;i<6;i++) { g[5-i]=a%2; a>>=1; } for (i=0;i<6;i++) { if (g[i]) { for (j=i+1;j<6;j++) g[j]=(g[j]+1)%2; } } for (i=0,flg=0;i<6;i++) { if (g[i]) flg=1; if (flg) printf("%d",g[i]); } printf("\n"); return 0; }
222 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 20:30:38 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 天秤の左皿にだけ重さNの物体が載っている。(Nは自然数) 左右の皿に分銅を追加して、天秤が釣り合うようにする。 使える分銅は、重さが1, 3, 9, 27, ...というように 3のべき乗のものがそれぞれ1つずつである。 Nを入力し、分銅の載せ方を表示するプログラムを作成しなさい。 [3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン: Visual C++ 2005 [3.3] 言語:C言語 [4] 期限:1/19 午前7時 [5] その他の制限:できるだけスマートな解法でお願いします。
223 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 20:47:46 ] 組み合わせが存在しない場合は?
224 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 20:58:55 ] >>223 左の皿に分銅を載せるのも考慮すればいかなる場合でもおk
225 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:23:56 ] [1] 授業単元:計算機プログラム [2] 問題文(含コード&リンク): 3つの数を引数としてとり、大きいほうの2つの数の和を繰り返す手続きを作成しなさい。 (例えば、最初に最小値を見つける。次に3つの数の和から最小値を引く) [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:不明 [3.3] 言語: C [4] 期限: 1月19日 [5] その他の制限:特にありません よろしくお願いします
226 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:27:26 ] >>225 すみません訂正します [2] 問題文(含コード&リンク): 3つの数を引数としてとり、大きいほうの2つの数の和を返す手続きを作成しなさい。 でした。繰り返すではなく返すでした。
227 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:32:39 ] >>221 それはn番目のグレイコードであって、nビットのグレイコードではないな。
228 名前:デフォルトの名無しさん [2009/01/18(日) 21:35:56 ] >>220 じゃあ>>213 は間違ってるってこと?
229 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:40:03 ] >>228 何をいっているんだ?
230 名前:デフォルトの名無しさん [2009/01/18(日) 21:41:29 ] >>227-229 不覚にも吹いたww
231 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:43:17 ] >>225 int addition(int a,int b,int c) { if(a<b){ if(a<c) return b+c; return a+b; } else { if(b<c) return a+c; return a+b; } return 0; }
232 名前:115 mailto:sage [2009/01/18(日) 21:43:29 ] >>115 です。 何度も煩わせてすみませんorz >>188 入れてみましたがエラーの数も内容も変化なしでした・・・ 問題の方を改めてロダに上げます。 もう何が間違ってるのか分からない・・・ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8675.txt
233 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:45:20 ] >>222 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8676.c スマートかどうかは知らん
234 名前:デフォルトの名無しさん [2009/01/18(日) 21:49:02 ] >>219 これで良いだろう #include <stdio.h> int main(void) { int i,j,g[6],flg; unsigned int a; do { printf("input number(<=32): "); scanf("%d",&a); } while (a>32); for (i=0;i<6;i++) { g[5-i]=a%2; a>>=1; } for (i=0;i<6;i++) { if (g[i]) { for (j=i+1;j<6;j++) g[j]=(g[j]+1)%2; } } for (i=0,flg=0;i<6;i++) printf("%d",g[i]); printf("\n"); return 0; }
235 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:51:08 ] >>230 不覚だな
236 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:51:08 ] >>213 っていうか、srandしてないから不味くね?
237 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:56:42 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): (1) キーボードから入力された0から9までの数字各々の個数をカウントし表示するプログラムを作れ (2) 画面に任意の次数の単位行列を表示するプログラムを作れ (3) 学生の数をまず入力した後、各自の試験成績(1課目)を順次入力した後、 最高点・最低点・平均点をそれぞれ求めて表示するプログラムを作れ [3] 環境 [3.1] OS:WindowsVista [3.2] コンパイラ名とバージョン:不明 [3.3] 言語:C++ [4] 期限:1月21日 [5]その他の制限:特にありません よろしくお願いします
238 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:58:13 ] >>232 だから>>170 をどういじったのかを言えと もしくは>>170 をコンパイルした時(いじる前)にどんなエラーが出たかを言ってくれ
239 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:59:46 ] >>237 (1) >>140 ,141,143 (2) >>118 ,121,122
240 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:11:01 ] >>237 (3) #include<iostream> #include<algorithm> #include<numeric> #include<vector> int main() { int num, score; std::cout << "Number of students = "; std::cin >> num; std::vector<int> scores; for (int i = 0; i < num; i ++) { std::cout << "Student" << 1+i << "'s score = "; std::cin >> score; scores.push_back(score); } std::cout << "-----\n"; std::cout << "The highest score is " << *std::max_element(scores.begin(), scores.end()) << ".\n"; std::cout << "The lowest score is " << *std::min_element(scores.begin(), scores.end()) << ".\n"; std::cout << "Average score is " << std::accumulate(scores.begin(), scores.end(), 0) / scores.size() << "." << std::endl; return 0; }
241 名前:201 [2009/01/18(日) 22:11:34 ] >>237 (1) 出力は勝手に考えた #include <stdio.h> int main(void) { int num[10] = {0,0,0,0,0,0,0,0,0,0}; int n = 0; int i = 0; while(1){ printf("input:"); scanf("%d",&n); if(n <= 10) num[n]++; for(i = 0;i < 10;i++)printf("%d:%d\n",i,num[i]); printf("\n"); } return 0; }
242 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:12:09 ] C++と聞くととたんにがんばる奴がいるなw
243 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:12:24 ] > int num[10] = {0,0,0,0,0,0,0,0,0,0}; フイタw
244 名前:デフォルトの名無しさん [2009/01/18(日) 22:13:21 ] [1] 授業単元:プログラミング [2] 問題文: あるゼミの各学生の名前、読み仮名、点数を入力し、最高点を取った学生の名前と 点数を表示せよ。今まで入力した中で何番目の学生が最高点かを記録するための 変数max_iを用意し、最高点が更新されるごとにmax_iを更新する。但し、max_iの 初期値は0とする。 [3] 環境 [3.1] OS:Windows [3.2] [3.3] 言語:C言語 [4] 期限:1月19日 [5] その他の制限: 全くわからないので誰か教えてください!!よろしくお願いします!!
245 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:13:31 ] >>243 int num[10] = {0}; でいいことぐらい分かってるよ
246 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:14:17 ] >>245 フイタw
247 名前:222 mailto:sage [2009/01/18(日) 22:16:31 ] >>233 ありがとうございました。
248 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:16:41 ] ちょっと細工しておくと検索しやすくなるんだよ 誰が検索するのかは秘密♥
249 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:22:21 ] >>241 正常に機能しなくてフイタw
250 名前:201 [2009/01/18(日) 22:24:24 ] 一応言っておくが、>>245 は俺ではない(汗) あと、 int num[10] = {0}; は知らんかった。 >>201 は中坊だというわけで許してくれw
251 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:25:23 ] なにがなんだか分からない・・・・・・・
252 名前:225 mailto:sage [2009/01/18(日) 22:25:28 ] >>231 ありがとうございました。
253 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:25:55 ] >>140
254 名前:201 [2009/01/18(日) 22:26:15 ] >>249 ん?俺の環境(bcc)では動作するぜよ
255 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:28:41 ] >>253 >>143
256 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:33:12 ] >>254 動作する、コンパイルできたからといって、問題通りの 実行結果が出る、機能しているとは限らない。
257 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:33:31 ] >>254 if(n <= 10) num[n]++; ↓ if(n>=0 && n<10) num[n]++;
258 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:34:30 ] >>256 問題文を読めよwww
259 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:45:36 ] >>241 int num[10] if(n <= 10) num[n]++; フイタw