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/
151 名前:デフォルトの名無しさん [2009/01/17(土) 15:02:48 ] [1] 授業単元:プログラミング1 [2] 問題文(含コード&リンク): int型配列“idata[]”に正の整数値が入っているときに、この配列を渡されて、 戻り値として整数値のうちの最大値を返す関数“idmax”および最小値を返す関数“idmin” を作りなさい。 最大値を返す関数:int idmax(int idata[]) 最小値を返す関数:int idmin(int idata[]) ただし、データの最後を識別するために、最終データの次の配列要素には、 「-1」(マイナス1)が入っているものとする。 また、動作を確認するためのmain関数として、キーボードから正の整数値を 1つずつ読み込み、-1を読み込んだのち、関数idmaxおよびidminを呼び出し、 下記のように、読み込んだ整数値、最大値および最小値をディスプレイに 表示するプログラムをつくりなさい。 読み込んだ整数値の個数は、最大でも10個までとして、main関数を作っても構わない。 _____ディスプレイ______ 読み込んだ整数値:○ △ ◇ □ 最大値:△ 最小値:○ _______________ [3] 環境 [3.1] OS: WindowsXP[3.2] Visual studio[3.3] C言語 [4] 期限: 2009年1月19日まで どなたか、分かる方どうぞよろしくお願いします!!!!
152 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 15:55:00 ] >>151 #include <stdio.h> int idmax(int idata[]) { int max = *idata; while(*++idata > 0) if(max < *idata) max = *idata; return max; } int idmin(int idata[]) { int min = *idata; while(*++idata > 0) if(min > *idata) min = *idata; return min; } int main(void) { int i, a[11]; for(i=0; i<10; i++) { scanf("%d", a + i); if(a[i] == -1) break;} if(i==10) a[10] = -1; printf("読み込んだ整数値:"); for(i=0; a[i]!=-1; i++) printf("%d ", a[i]); putchar('\n'); printf("最大値:%d\n", idmax(a)); printf("最小値:%d\n", idmin(a)); return 0; }
153 名前:デフォルトの名無しさん [2009/01/17(土) 16:32:55 ] 文字処理関数の使用例において、文字の入力に、「scanf("%c", &c);」を使うと is○○関数で上手く判定が出来ないのはなぜですか?
154 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:35:21 ] >>153 どうせ改行文字がバッファに残ってるせいなんだんだろうな
155 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:39:04 ] >153 標準入力からはいったん文字列で読み込むようにして sscanf(文字列, "%c", &c); ではどうだろうか?
156 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:43:06 ] >>153 scanf() で %c を指定すると、1バイトのデータしか入力しません。 'A' を入力すれば、0x41 です。 int型変数 c は、例えば宣言時に不定値が設定されていて 0xffff だったとすると、 それに 0x41 だけを入力するので、0xff41 になってしまいます。 これでは is○○関数では正しい判断は行えません。 回避策ですが、scanf を使わずに、getchar を使う(getchar関数は int型の文字を返却します)。 もしくは、宣言時に int c = 0; とし、0 で変数を初期化するかです。
157 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:46:19 ] cがintってどっから出てきた?
158 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:48:15 ] >int型変数 c は、例えば宣言時に不定値が設定されていて 0xffff だったとすると、 >それに 0x41 だけを入力するので、0xff41 になってしまいます。 >153 のどこにそんなことが書いてあるんだろう? >154 の推理もすごいけどw
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
260 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 23:17:51 ] >>232 だから、宣言文をブロックの先頭にしろって VCとか関係なくC89の仕様
261 名前:201 [2009/01/18(日) 23:42:37 ] >>257 >>259 べ、別に、ボーっとしてたわけじゃないんだからね!orz
262 名前:デフォルトの名無しさん [2009/01/19(月) 00:12:27 ] 昨日も書き込んで、アドバイスをもらったのですが、 ちょっとしたトラブルが発生したので、もう一度書き込みます。 #include<stdio.h> char *my_strcpy(char *s1, char *s2){ int i = 0; while(s2[i] != '\0'){ s1[i] = s2[i]; i++; } s1[i] = '\0'; return s1; } int main(){ char *s1 = "abc"; char *s2 = "wxyz"; my_strcpy(s1, s2); printf("s1:%s s2:%s \n", s1, s2); return 0; } s2の文字数がs1の文字数より大きいとき、 s2が表示されないのはなぜでしょう。 教えてください。 よろしくお願いします。
263 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:23:00 ] >>262 a←s1 b c \0 w←s2 x y z w my_strcpy後 w←s1 x y z \0←s2 x y z w あとは分かるな(ちなみにこの上書きは必ず起こるとは限らん) あと char *s2 = "wxyz"; という風に宣言した文字列リテラルを書き換えるのはNGだ うまく動かしたい場合は取り合えず char s1[10] = "abc"; char s2[10] = "wxyz"; とでもするがいい
264 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:24:03 ] おっと訂正 a←s1 b c \0 w←s2 x y z w \0 my_strcpy後 w←s1 x y z \0←s2 x y z
265 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:25:36 ] また間違えた、死のう a←s1 b c \0 w←s2 x y z \0 my_strcpy後 w←s1 x y z \0←s2 x y z \0
266 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:44:08 ] gcc4.1.2だとs1[i] = s2[i]を実行した瞬間に死ぬぜ。 vcはどうなってる?
267 名前:262 [2009/01/19(月) 01:11:21 ] どうすればよいのでしょうか。
268 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:14:22 ] >>267 取り敢えず、リテラルを書き換えないことと、 配列に確保した領域を超えて書き込まないことじゃね?
269 名前:102 mailto:sage [2009/01/19(月) 01:16:14 ] >>198 ありがとうございました。
270 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:18:40 ] >>267 #include <stdio.h> char *my_strcpy(char *s1, char *s2) { int i = 0; while (s1[i] != '\0' && s2[i] != '\0'){ s1[i] = s2[i]; i++; } s1[i] = '\0'; return s1; } int main() { char s1[] = "abc"; char s2[] = "wxyz"; my_strcpy(s1, s2); printf("s1:%s s2:%s \n", s1, s2); return 0; }
271 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:21:33 ] while ( s1[i] && s2[i] )
272 名前:262 [2009/01/19(月) 01:22:14 ] >>268 >>270 ありがとうございました。
273 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:24:17 ] while (s1[i] & s2[i])
274 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:24:51 ] >>273 窓から飛び降りて良し!
275 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:25:19 ] >>267 char *s1 = "abc"; char *s2 = "wxyz"; my_strcpy(s1, s2); を char *s2 = "wxyz"; char *s1 = "abc"; my_strcpy(s1, s2); でどう? ちなみにmy_strcpyには返り値が有る筈なんだが……
276 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:27:51 ] >>275 wwwwwwwwwwwwwwwwwwwwwwww
277 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:30:39 ] >>275 その発想はなかったわ
278 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:50:36 ] >>275 s1とs2の中身を換えたいの?それとも、引数の順番を換えたいの? 何がしたいの?死体としたいの?
279 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 02:03:51 ] ロシアではwxyzをabcにする、ガハハ!
280 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 02:05:47 ] >>110 お前がW大学のM田Cプロとってることはよくわかった ttp://www-it.sci.waseda.ac.jp/CPR2/class7/ の宿題3を解いてくださいと書けば早いだろうが
281 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 02:07:56 ] >>280 お前が他人の素性を探りたがっていることはよくわかった >>1 > 気に入らない質問やその他や発言はスルーの方向で。 答えたくなければ、こんなスレに来ないか、スルーすれば良いだろ
282 名前:201 [2009/01/19(月) 02:25:07 ] >>275 GJ!!ww >>278 メモリ上でs1、s2と並んでいるのをs2、s1の順番にするってこと。 s2の方がサイズが大きいから、s1をコピーしてもs1への影響がなくなる。
283 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 02:27:12 ] なんの冗談だよw
284 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 02:28:46 ] 実際の環境でどういう挙動になるかも大事だが、 そもそも文字列リテラルの書き換え自体が未定義だろ。やっちゃいけない。
285 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 02:42:41 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): ttp://sasa.cis.ibaraki.ac.jp/member/sasaki/ProEn2/kadai2.pdf [3] 環境 [3.1] OS:Windous Vista [3.2] コンパイラ名とバージョン:任意 [3.3] 言語: C [4] 期限: 1月21日 [5] その他の制限: 30件 ttp://sasa.cis.ibaraki.ac.jp/member/sasaki/ProEn2/namelist30.txt 100件 ttp://sasa.cis.ibaraki.ac.jp/member/sasaki/ProEn2/namelist100.txt 10万件 ttp://sasa.cis.ibaraki.ac.jp/member/sasaki/ProEn2/namelist100k.txt 必須課題1,2のみでいいのでよろしくお願いします。
286 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:05:51 ] >>282 意味がわかってねーだろ、お前?wwwwwwwww もう一度コードをよく見ろ。
287 名前:201 [2009/01/19(月) 03:13:02 ] >>286 いや、>>282 であってるけど。 違うと言うんならお前説明してみろw
288 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:16:31 ] >>275 >>275 >>275 >>275 >>275 >>275 >>275 s1とs2が何か?それでいて、my_strcpy(s1, s2); の順番が同じだが その中身のコードを書き換えたわけでもなく・・・201は同じ人物? だとしたら、かなり頭が悪いか、池沼レベルだな・・・口出ししない方が身の為だぞ。 墓穴を掘って、逆にバカにされるぞ、お前・・・もう学校ではアホ扱いされているだろうけどw
289 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:18:50 ] >>287 何を説明しろって言うんだよ・・・違うとかって話じゃないだろ。 お前が分かっているのか?って聞かれているんだが? >>282 は勝手に解釈したのか、>>275 のコードが理解できないのか、 視覚に問題のある障害者なのか・・・
290 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:20:16 ] >>275 char *s1 = "abc"; char *s2 = "wxyz"; char *s2 = "wxyz"; char *s1 = "abc"; ↑記述する順番を逆にしても、s1とs2の中身はどうよ?w my_strcpy(s1, s2); my_strcpy(s1, s2); ↑これも逆にしたわけでもないし・・・
291 名前:201 [2009/01/19(月) 03:31:07 ] >>280 >>290 一応アホと言っておく ちなみに俺は>>275 とは無関係 C(C++)では書いた順番によってメモリ配置が変わるんだよ。 これくらい知っとけ。 お前(達)は中坊以下か?
292 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:33:41 ] こんな時間に書き込み出来るのは無職・ニートだけ! 中学生以下は寝てますよ。
293 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:33:58 ] 自分が大学生の時にもいたけど、こっちが間違っていないのに 何か指摘すると、必死に言い返すバカって、本当に始末が悪くて 迷惑した。態度も悪いし。まさに201みたいな、自分が知能が低いくせに 食い下がる基地外みたいにな。少し黙ってろ、ド素人は。 あのコードを見て、何が違うかも説明できないお前が、勝手に 思い込んだだけだろ。
294 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:37:50 ] 201が必死必死必死必死w >>258 とか、>>275 らしき、もう一匹バカがいるようだが、日本語が読めないアホだろ?w
295 名前:201 [2009/01/19(月) 03:39:53 ] >>292 すまん。一応俺も無職ww >>293 お前の環境で実行してみたか? 分かってると思うけど、最適化施したら正常に機能しない可能性がある 俺の環境(Windows(bcc))だったらちゃんと機能した
296 名前:201 [2009/01/19(月) 03:42:17 ] >>294 自演必死だねwww 口調で分かる
297 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:42:48 ] ttp://www.bohyoh.com/CandCPP/C/Library/strcpy.html 答えは出てんだよw いつまで分かりきったことで、必死に 意味も無い、間違った持論を展開するんだね、君は?w まぁ、こんな場所に来ている人なんてごく一部だし。 そんな一部の人間にさえ、理解されない視野の狭い井の中の蛙w とりあえず、こんな時間に起きていて、不規則な生活が習慣になっているなら それを正した方が良いよ。早死にの原因だから。俺?不規則というのは 規則性がないことであって、この時間から明け方までが俺が起きている時間さ。 だって、俺は今、ジャポンのオーバーシーにいるから、時差でこっちは昼間なんだよw
298 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:46:33 ] 日本語でおk
299 名前:201 [2009/01/19(月) 03:47:58 ] >>297 人の話聞いてる? >>All スレ汚してスマンorz
300 名前:201 [2009/01/19(月) 03:53:41 ] >>296 ごめん。訂正。 こりゃ厳密には自演って言わないね。 頭が鈍ってきたw 寝るわ。
301 名前:デフォルトの名無しさん [2009/01/19(月) 03:55:01 ] 201は本当にバカだ。あれほどレスするなと言われても、必死になっていることを わざわざ露呈するなんて。今年一の、このスレの恥さらしだ!通報しますた!
302 名前:201 [2009/01/19(月) 03:56:36 ] >>301 つい熱くなってしまって・・・orz
303 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 03:57:27 ] そもそも話題のmy_strcpyがstrcpyの要件を満たしていない件
304 名前:デフォルトの名無しさん [2009/01/19(月) 04:01:29 ] んでさ、その大学生時代の、食い下がり野郎がさ、まともに使えもしない英語を使うんだわ。 I go to a bus とか言っちゃってさ。何?って聞いたら、風呂に入ってくるってさ、ぎゃははは(バンバン マジ受けるんですけどぉ〜?理系に進んだとは言え、英語の成績は良かった俺が take a bath って言ってやったんだけどさ、妙に食い下がる正確のせいか、辞書で調べたらしく have a bath とも言うんだよぉ〜とか言ってやんの。別にそう言わないとは、こっちは言ってないのに。 だったら最初から辞書を引けよってかーんじ。まぁ、それでも take a bath が一般的なんだけどね。 英語圏で生活してみろっちゅーのっw 俺?だからさ、さっきっから言っているだろ?ジャポンのオーバーシーだから、昼間だって。 まだ風呂に入る時間じゃないが、シャワーを浴びるしw
305 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 04:17:06 ] >>237 > キーボードから入力された0から9までの数字各々の個数をカウントし表示するプログラムを作れ ”各々の個数をカウント” 日本語が読めないのか、出題者が19003だったら1,3,9が1つ、0が2つといった書き方をすれば良かったのか にしても、201が書いたコードは、whileループを抜けないまま強制終了でもさせなきゃ駄目だし。 コンパイラに通って、実行できたからといっても、題意の通りに機能したわけでもないというのに・・・
306 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 04:23:12 ] >>305 寝ろ
307 名前:デフォルトの名無しさん [2009/01/19(月) 05:37:03 ] 誰かお願いします。 int型の変数numに初期値99を、char型の変数chに初期値'Z'を設定し、それを 表示するプログラムex6_2を作成せよ。 プログラムの作成にあたり、以下に従うこと。 ・int型の変数numとchar型の変数chはmain()関数内で宣言すること ・numとchへの初期値設定はinit_var()関数にて行うこと。 ------------------------------------------------------ void init_var(int *pnum, char *pch); 返り値:なし 引数 :pnum:数値格納変数へのポインタ pch :文字格納変数へのポインタ 処理 :数値格納変数に数値99を、文字格納変数に文字'Z' を格納する ------------------------------------------------------ ※main()関数内の変数に対して別関数init_var()にて値を書き込むため、 引数としてポインタを用いる 《実行例》 >ex6_2 num = 99, ch = Z ←変数の値を表示するだけ
308 名前:デフォルトの名無しさん [2009/01/19(月) 05:38:10 ] これも int型の変数3個(※配列で宣言する)に数値を入力し、その合計を求めて表示する プログラムex6_3を作成せよ。 プログラムの作成にあたり、以下に従うこと。 ・入力数値を格納するint型の配列はmain()関数内で宣言すること ・指定された個数の数値の合計を求める関数getsum()を自作して使うこと。 getsum()関数の仕様は以下の通り。 ----- getsum() ---------------------------------------------------- int getsum(int *pnum, int numcnt); 引数 :pnum :数値を格納している配列の先頭アドレス numcnt :和を求める変数の個数 返却値:算出した和 処理 :指定された個数の変数の和を求める ------------------------------------------------------------------- ※getsum()は、「int getsum(int *, const int);」としてもよい 《実行例》 >ex6_3 Enter number(1) : 10 Enter number(2) : 23 Enter number(3) : 41 Sum = 74
309 名前:デフォルトの名無しさん [2009/01/19(月) 07:18:52 ] なんだかなぁ・・・
310 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 12:12:22 ] 最近テンプレを読む能力もないお馬鹿さんが増えてるよね >>307 #include <stdio.h> void init_var(int *pnum, char *pch) { *pnum = 99; *pch = 'Z'; } int main(void) { int num; char ch; init_var(&num, &ch); printf("num = %d, ch = %c\n", num, ch); return 0; }
311 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 12:16:05 ] >>308 #include <stdio.h> int getsum(int *pnum, int numcnt) { int sum, i; for (i = sum = 0; i < numcnt; ++i) sum += pnum[i]; return sum; } int main(void) { int pnum[3], i; for (i = 0; i < 3; ++i) { printf("Enter number(%d) : ", i + 1); scanf("%d", &pnum[i]); } printf("Sum = %d\n", getsum(pnum, 3)); return 0; }
312 名前:デフォルトの名無しさん [2009/01/19(月) 14:53:05 ] ねむい
313 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 15:46:48 ] [1] Cプログラミング基礎 [2] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8677.txt [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:VC++2003 [3.3] 言語:C++ [4] 期限: 1月21日(水曜日) [5] その他の制限: クラスの定義辺りまで習いました 参考プログラムを軽く修正すればいいだけだとは思うのですが うまくいきません。よろしくお願いします。
314 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 15:52:15 ] >>313 課題は原文を貼ってくれないと 素人の考えた文言は意味不明で読み解けない。
315 名前:313 mailto:sage [2009/01/19(月) 18:03:57 ] >>314 一応これが原文なのです・・・。 丁寧すぎるというか、確かに読み解きにくいですね・・・。 うーん困った・・・。
316 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 18:25:54 ] >>315 >3つのchar型のメンバー変数(ポインタ) とか、専門家が考えた文言とは思えない。
317 名前:デフォルトの名無しさん [2009/01/19(月) 18:58:42 ] 厨房に負けてるお前らワロスwwww