1 名前:デフォルトの名無しさん [2009/06/24(水) 23:28:21 BE:454421568-DIA(282072)] あなたが解けない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++の宿題片付けます 127代目 pc12.2ch.net/test/read.cgi/tech/1244449887/
2 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 03:15:37 ] 下痢便はすごく苦い
3 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 03:18:57 ] メールのことがかかれてないじょー
4 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 03:19:47 ] メールなんちゃらは他所でやれ
5 名前:デフォルトの名無しさん [2009/06/25(木) 11:36:59 ] すみません。計算機を作る問題でリストのところでコンパイルエラーについて質問です。 ソースのうち原因となる可能性のある部分を書きだすと 07:struct queuen{ 08: double data; 09: struct queuen *next; 10:}; 11: 12:struct queuen *sp = NULL; 13: 14:struct queuep{ 15: struct queuen *head;//先頭 16: struct queuen *tail;//最後尾 17:}; 18: 19:struct queuep *queuen_pointer; 20: 21:queuen_pointer->head = sp; 22:queuen_pointer->tail = sp; この状態でコンパイルすると c:21: error: parse error before '->' token というエラーが出ます。 ちなみに左に振ってある数字は行数です。 21行目のエラーらしいですが、上のソースの部分でまずい所を教えてください。
6 名前:前スレ667 [2009/06/25(木) 13:37:15 ] 前スレ >>704 有難うございました!
7 名前: ◆/91kCCQXBo mailto:sage [2009/06/25(木) 13:53:33 ] >>005 まだ関数の外側にいる。effy.ldw.jp/c/calc1.html 21: queuen_pointer->head = sp; // c:21: error: parse error before '->' token 22: queuen_pointer->tail = sp; 23: main() { 24: }
8 名前:デフォルトの名無しさん [2009/06/25(木) 13:57:09 ] [1] 授業単元:システムコール [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9544.c のかわりに kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9546.c とすると、どのような不都合が生じるか説明せよ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9544.c のかわりに kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9545.c とすると、どのような不都合が生じるか説明せよ [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc 3.4 [3.3] 言語:C [4] 期限:2009年07月01日18:00まで [5] その他の制限:特になし 最後の方が違います どう変わってくるのか教えて頂きたいです
9 名前:前スレ884 mailto:sage [2009/06/25(木) 14:04:10 ] 前スレ982さんありがとうございました! あまりの無駄のなさに普段の完成度との違いに怪しまれそうです 質問なのですが、sturcut、Node*、sentinelはそれぞれどういう意味をもっているのでしょうか 多分まだ習っていなく、ググってももう一つ良く分からなかったので 良ければ教えていただけないでしょうか
10 名前: ◆/91kCCQXBo mailto:sage [2009/06/25(木) 14:22:38 ] >>008 while ((n = operation_status) >= 0) { printf("Condition %s.\n", status_name_table[n]); sleep(1); } 9545: sleep関数の1秒以内にデクリメントが2回走った場合、ステータスが0から-2になる事があり、配列のインデックスが0を超える。 while ((n = operation_status) != -1) { printf("Condition %s.\n", status_name_table[n]); sleep(1); } 9546: printf関数の実行前にデクリメントが走った場合、ステータスが0から-1になる事があり、配列のインデックスが0を超える。 while (operation_status >= 0) { printf("Condition %s.\n", status_name_table[operation_status]); sleep(1); }
11 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 14:33:06 ] まだ習ってないのかさては
12 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 15:03:19 ] sturcut Nodeというものがあるらしいですが、多分まだ習っていません
13 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 15:39:16 ] >>9 struct 構造体。C++ではclassとほぼ同じもの。ただし全メンバがデフォルトでpublicである。 node ノード。データを連結して使うリスト構造の場合、1個1個のデータを「ノード」と呼ぶことが多い。 sentinel センチネル、日本語で番兵。 「配列やリストの端っこに置いとくと、全体のスキャン処理とかが楽になる」 などの目的で使われる、特別な値やノード。
14 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 15:40:47 ] >>前スレ pc12.2ch.net/test/read.cgi/tech/1244449887/953 (ピラミッドアート) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9548.c main()は自分で作ってね
15 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 16:02:09 ] 予約語だな
16 名前:前スレ934 mailto:sage [2009/06/25(木) 16:25:15 ] 前スレ>>939 さんありがとうございました!助かりました!
17 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 16:45:25 ] 前スレ>>998->>1000 >>14 ありがとうございます! 本当に助かりました。
18 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 17:15:21 ] >>9 このあたりかな。「番兵付きの双方向リスト」とか ttp://akademeia.info/index.php?%C1%D0%CA%FD%B8%FE%A5%EA%A5%B9%A5%C8
19 名前:デフォルトの名無しさん [2009/06/25(木) 17:28:34 ] [1] 授業単元:プログラミング入門 [2] 問題文(含コード&リンク): if文を使って、月数に応じてコメントを表示するプログラム(1月ならばwinter、3月ならspringといった具合に)を作る。 月は1月〜12月までなので、13月以上の数値を打ち込んだ場合はerrorと表示させること。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc 3.4…? [3.3] 言語:C [4] 期限: 2009年6月25日18:00まで…ぶっちゃけ今すぐ!! [5] その他の制限:全くの初心者です。気づいたら履修登録してもうたー。
20 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 17:30:54 ] あと30分かよ!
21 名前:デフォルトの名無しさん [2009/06/25(木) 17:32:50 ] は、はぃ!!あと30分切ってます…!!!@@@@@@
22 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 17:39:09 ] >>19 #include <stdio.h> int main(void) { int m; printf("何月?"); scanf("%d",&m); if (m <= 0 || 13 <= m) printf("error"); else if (m == 1) printf("初っ端から飛ばすと後でばてる。2月から本気を出す"); else if (m == 2) printf("まだまだ寒い。これではやる気が出ない。3月から本気出す"); else if (m == 3) printf("年度の終わりでタイミングが悪い。4月から本気を出す"); else if (m == 4) printf("季節の変わり目は体調を崩しやすい。5月から本気を出す"); else if (m == 5) printf("区切りの良い4月を逃してしまった。6月から本気を出す"); else if (m == 6) printf("梅雨で気分が落ち込む。梅雨明けの7月から本気を出す"); else if (m == 7) printf("これからどんどん気温が上昇していく。体力温存の為8月から本気を出す"); else if (m == 8) printf("暑すぎて気力がそがれる。9月から本気を出す"); else if (m == 9) printf("休みボケが抜けない。無理しても効果が無いので10月から本気を出す"); else if (m == 10) printf("中途半端な時期。ここは雌伏の時。11月から本気を出す"); else if (m == 11) printf("急に冷えてきた。こういう時こそ無理は禁物。12月から本気を出す"); else if (m == 12) printf("もう今年は終わり。今年はチャンスが無かった。来年から本気出す "); printf("\n"); return 0; }
23 名前: ◆jaDL7.sW26 [2009/06/25(木) 17:41:05 ] アリガトウゴザイマス!!!!!
24 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 17:44:59 ] >>22 GJ
25 名前:◇jaDL7.sW26 mailto:sage [2009/06/25(木) 17:46:11 ] // gcc ならincludeなくても通った。 main(){ int month; printf("月を入力してください(1〜12):"); scanf("%d", &month); switch(month){ case 12: case 1: case 2: puts("Winter in Japan"); break; case 3: case 4: case 5: puts("Spring in Japan"); break; case 6: case 7: case 8: puts("Summer in Japan"); break; case 9: case 10: case 11: puts("Fall in Japan"); break; default: puts("Error Month number!"); break; } }
26 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 17:50:44 ] >>19 UNIX板で聞いといてWindowsかよ。
27 名前:デフォルトの名無しさん [2009/06/25(木) 19:59:17 ] [1] 授業単元:画像処理 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9549.txt [3] 環境 [3.1] OS:Windows Vista [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:6月28日まで [5] その他の制限: お願いします
28 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 20:10:54 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9550.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 7月2日 [5] その他の制限: すべてファイルを使う。
29 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 20:21:35 ] >>28 入力やら出力やら書いてある部分の意味がわからんのは俺だけか?
30 名前:デフォルトの名無しさん mailto:age [2009/06/25(木) 20:40:55 ] >>22 Gjsぐるw
31 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 21:13:03 ] >>29 課題2だと 入力ファイル名が diff.in で、その内容が 1,2 1,0 0,1 1,0 -1,-1 課題で作ったバイナリ名を"trace"とする。コマンドラインからこのプログラムを実行すると、 まず入力ファイル名を入力(ここではdiff.inとする)。 そのあとに出力ファイル名を入力(ここではpoint.outとする)。 trace実行後の出力ファイル(point.out)の内容は 1,2 2,0 2,1 3,1 2,0 となる。 ってことでしょ。たぶん。
32 名前:デフォルトの名無しさん [2009/06/25(木) 21:28:19 ] [1] 授業単元: プログラミングU [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9551.txt [3] 環境 [3.1] OS: Windows vista [3.2] コンパイラ名とバージョン: win avr [3.3] 言語: C [4] 期限: 6月28日まで [5] その他の制限: 先週からavr studio4 に変わったのでほとんど理解してません。
33 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 21:37:04 ] >>28 課題1 #include <stdio.h> #include <stdlib.h> #include <string.h> #define FILENAMELEN 64 #define BUFFSIZE 32 int main(void) { FILE *fp; char filename[FILENAMELEN]; char buff[BUFFSIZE]; double x = 0; int n = 0; *strchr(fgets(filename, FILENAMELEN, stdin), '\n') = '\0'; fp = fopen(filename, "r"); while (fgets(buff, BUFFSIZE, fp)) { x += strtod(buff, NULL); n++; } fclose(fp); printf("%.1lf\n", x / n); return 0; }
34 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 21:38:05 ] >>28 課題2 #include <stdio.h> #include <stdlib.h> #include <string.h> #define FILENAMELEN 64 #define BUFFSIZE 32 int main(void) { FILE *ifp, *ofp; char filename[FILENAMELEN]; char buff[BUFFSIZE]; int x = 0, y = 0; *strchr(fgets(filename, FILENAMELEN, stdin), '\n') = '\0'; ifp = fopen(filename, "r"); *strchr(fgets(filename, FILENAMELEN, stdin), '\n') = '\0'; ofp = fopen(filename, "w"); while (fgets(buff, BUFFSIZE, ifp)) { x += atoi(strtok(buff, ",")); y += atoi(strtok(NULL, ",")); fprintf(ofp, "%d,%d\n", x, y); } fclose(ifp); fclose(ofp); return 0; }
35 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 21:48:24 ] >>28 課題3 #include <stdio.h> #define FILENAMELEN 64 #define NAMELEN 31 int main(void) { FILE *ifp, *ofp; char filename[FILENAMELEN]; char name[NAMELEN]; double height, weight, BMI; scanf("%s", filename); ifp = fopen(filename, "r"); scanf("%s", filename); ofp = fopen(filename, "w"); while (fscanf(ifp, "%s%lf%lf", name, &height, &weight) != EOF) { BMI = weight / height / height * 10000; if (BMI < 18.5 || BMI >= 25.0) fprintf(ofp, "%s\n", name); } fclose(ifp); fclose(ofp); return 0; }
36 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 21:56:36 ] >>32 Aの図?の意味がわからんのでもしかたら外してるかも #include <stdio.h> int main() { int i; char c; char* p; char* name = "tatsuya"; printf("*** @ ***\n"); for (c='0'; c<='9'; c++) { printf("'%c'=%d\n", c, c); } printf("*** A ***\n"); for (c='0'; c<='9'; c++) { printf("'%c'=%x\n", c, c); } printf("*** B ***\n"); for (i=0; name[i]; i++) { printf("'%c'=%x\n", name[i], name[i]); } printf("*** C ***\n"); for (p=name; *p; p++) { printf("'%c'=%x\n", *p, *p); } return 0; }
37 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 21:57:43 ] >>28 課題4 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #define FILENAMELEN 64 #define BUFFSIZE 128 int main(void) { FILE *ifp, *ofp; char filename[FILENAMELEN]; char buff[BUFFSIZE]; *strchr(fgets(filename, FILENAMELEN, stdin), '\n') = '\0'; ifp = fopen(filename, "r"); *strchr(fgets(filename, FILENAMELEN, stdin), '\n') = '\0'; ofp = fopen(filename, "w"); while (fgets(buff, BUFFSIZE, ifp)) { int i; for (i = 0; buff[i]; ++i) if (isdigit(buff[i])) buff[i] = '*'; fprintf(ofp, buff); } fclose(ifp); fclose(ofp); return 0; }
38 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 22:04:30 ] >>32 もしかして0から9って普通に表示じゃなくてAみたいな数字の表示方法があったりしない?
39 名前:デフォルトの名無しさん [2009/06/25(木) 22:08:19 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):do-while文を使って、入力させた数値を3で割った余りを表示することを続ける。 もし、3の倍数が入力されたときは"3の倍数"と表示して終了する。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語: C [4] 期限: 09年06月28日 [5] その他の制限:まだまだ習い始めたところなのでif、swichくらいしか習っていません。
40 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 22:14:36 ] >>32 は7セグメントLEDの組み込み系の話だと思う。 回路にビットパターン流し込んで対応するLEDをつけるって課題だとおもう。 AVRって環境を使うみたいだけど、ここのスレに使ったことがある人間がいるかはかなり疑問。
41 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 22:15:50 ] >>39 未コンパイルコード #include <stdio.h> int main( void ) { int inp=0,mod=0; do{ printf("->"); scanf("%d",&inp); getchar(); mod = inp%3; if( mod ) { printf("%d\n"); } else { printf("3の倍数です。\n"); } }while(mod); return 0; }
42 名前:デフォルトの名無しさん [2009/06/25(木) 22:16:16 ] >>38 その通りです、説明しずらいので、配布されたプリントの画像を見てもらえたらありがたいです。 DLkye 0000 www1.axfc.net/uploader/Sc/so/12103
43 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 22:20:17 ] >>39 #include <stdio.h> int main() { int ret, num, rem; printf("数値を入力してください\n"); while (true) { ret = scanf("%d", &num); if (ret!=1) { printf("不正な入力です\n処理を中止しますn"); break; } printf("%d: ", num); rem = num % 3; if (rem==0) { printf("3の倍数です\n"); break; } else { printf("3で割ったあまりは%dです\nもう一度入力してください", rem); } } return 0; }
44 名前:デフォルトの名無しさん [2009/06/25(木) 22:22:06 ] >>41 レスありがとうございます。出来ました。
45 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 22:24:52 ] >>14 前スレの内容について、一辺が3の八角形は *** * * * * * * * * * * *** こうではないだろうか。 質問者が納得してるからこうではなかったんだろうけど。。
46 名前:39 [2009/06/25(木) 22:28:39 ] すみませんこれも出来ませんでした。 [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):入力した数を2の何乗より大きいかを求めるプログラム。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語: C [4] 期限: 09年06月28日 [5] その他の制限:まだまだ習い始めたところなのでif、swichくらいしか習っていません。 たぶんdo-while文を使うんだと思います。
47 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 22:35:06 ] >>46 math.h使って (int)(log(d)/log(2.0)) d: 入力した数
48 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 22:40:23 ] >>46 よくわからないが 2^k<x の条件でkの最大でいいのかな #include <stdio.h> int main() { int x; int n = 1, k = 0; scanf("%d",&x); while(n < x){ n *= 2; k++;} printf("%d\n", k-1); return 0; }
49 名前: ◆/91kCCQXBo mailto:sage [2009/06/25(木) 22:42:24 ] >>045 C:\a.exe >a.txt line 255-261* を見れば、 >>014 (9548) OK >>前1000 は間違い
50 名前:デフォルトの名無しさん [2009/06/25(木) 22:43:26 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):下に示すように,最初に整数を読み込み,その後,その個数だけ整数を読み込んでいき,そ の合計と平均を表示するプログラムを作成せよ。 整数は何個ですか: 6 No.1 : 65 No.2 : 23 No.3 : 47 No.4 : 9 No.5 : 153 No.6 : 777 合計値: 1074 平均値: 179.00 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語: C [4] 期限: 09年07月02日 [5] その他の制限:どうかよろしくお願いします。
51 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 22:45:37 ] >>46 せっかく作ったから便乗アップ。動作は保障しない。 #include <stdio.h> int main(){ unsigned int N,S; printf("Input Number:"); scanf("%d",&N); S=0; do{ }while(N>(1<<S++)); S--; printf("%d is upper then 2^%d ->%d!!\n",N,S-1,1<<(S-1)); return 0; }
52 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 22:48:59 ] >>50 #include <stdio.h> int main(void) { int i, n, x = 0; printf("整数は何個ですか: "); scanf("%d", &n); for (i = 0; i < n; ++i) { int t; printf("No.%d : ", i + 1); scanf("%d", &t); x += t; } printf("合計値: %d\n平均値: %.2f\n", x, (double)x / n); return 0; }
53 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 22:50:47 ] >>31 > trace実行後の出力ファイル(point.out)の内容は > 1,2 > 2,0 ここは2,2じゃないのかなあと、ガウス平面というものを知らずにレス
54 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 22:55:14 ] >>49 うpされたコードを見てなかったんだ。 スマソ
55 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 22:58:54 ] >>42 なんかよくわからんのだが、 「環境はwin avr, avr studio4です」で通じる話なのか? どんなデバイス使ってるとかわからんと手の出しようがないような わかる人にはわかるのかね 動作させるってのは実際にデバイス動かして 表示させるってのはデバイス上の液晶画面か何かに表示させるってことなんだよな?
56 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 23:02:53 ] >>37 % を含む文字列を出力できない
57 名前:デフォルトの名無しさん [2009/06/25(木) 23:08:30 ] >>55 自分も正直何をやっているのかわかっていません・・・。 デバイスの関してはatmega88pというのを使います。 液晶画面に自分の名前のアルファベットを表示させるのですが、デバイスやらUSBライターなどは教授が持っているので、自分で確認することが出来ません。
58 名前: ◆/91kCCQXBo mailto:sage [2009/06/25(木) 23:09:43 ] >>035 BMI 出力が標準出力でない。 #include <stdio.h> #define FILENAMELEN 64 #define NAMELEN 31 int main(void) { FILE *ifp; char filename[FILENAMELEN]; char name[NAMELEN]; double height, weight, BMI; fgets(filename, FILENAMELEN, stdin); filename[strlen(filename)-1] = '\0'; ifp = fopen(filename, "r"); if(ifp == NULL) return 1; while (fscanf(ifp, "%30s%lf%lf", name, &height, &weight) != EOF) { BMI = weight / height / height * 10000; if (BMI < 18.5 || BMI >= 25.0) printf("%s\n", name); } fclose(ifp); return 0; }
59 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 23:19:34 ] >>56 あるある
60 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 23:20:46 ] >>37 strchr が NULL を返したらどうするんだ
61 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 23:23:52 ] >>57 ぶっちゃけ、エスパーじゃないと無理。 一般人は、回路図とデバイスの仕様が無いと書きようがない。
62 名前:デフォルトの名無しさん [2009/06/25(木) 23:27:13 ] >>57 そうですか、わかりました。ありがとうございます。
63 名前:61 mailto:sage [2009/06/25(木) 23:45:35 ] >>57 7セグメントディスプレイは何個ついてるの? 問題文からは3つかな?
64 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 00:01:19 ] >>63 確か三つだったと思います。
65 名前:61 mailto:sage [2009/06/26(金) 00:19:45 ] >>64 7セグメントディスプレイにA(01110111)を表示する時の様に、 0から9の数字を出すパターンはできてるんだよね? それを3つのポート(PORT-B,PORT-C,PORT-D)に喰わせれば良いんじゃないか? 例えば、PORT-Bが1の位、PORT-Cが10の位、PORT-Dが100の位の 7セグメントディスプレイと繋がっていると仮定すると、 char segdat[10] = { {0を表示するパターン}, ・・・, {9を表示するパターン} }; int i; for ( i = 0; i < 256; i++ ) { int d100 = i / 100; int d10 = ( i - d100 ) / 10; int d1 = i % 10; PORTD = segdat[ d100 ]; PORTC = segdat[ d10 ]; PORTB = segdat[ d1 ]; } これだけじゃね?
66 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 00:25:04 ] >>65 今かやってみます。ありがとうございます。
67 名前:61 mailto:sage [2009/06/26(金) 00:30:36 ] >>65 訂正。 ×int d10 = ( i - d100 ) / 10; ○int d10 = ( i % 100 ) / 10;
68 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 01:40:23 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): じゃんげんプログラムを作成せよ。次の関数を用いること。 get_hand_player() print_hand() judge() [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 六月二十九日 [5] その他の制限: 関数まで。お願いします。
69 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 02:17:27 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): ほとんど質問に近いのですが、 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9552.txt のようなプログラムを人に聞きながら作ったのですが、 /*0.5を足してから*/ で示した文、kinri += 0.5; ってどういう意味があるのでしょうか? 試しに抜いてみたのですが結果は変わりませんでした。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 無期限 [5] その他の制限: 関数まで。お願いします
70 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 02:27:23 ] >>69 恐らく四捨五入をさせているものと思われる。 int型にすると小数点以下全て切り捨てだから、 0.5を足してあげると丁度四捨五入になるかと。
71 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 02:40:00 ] >>70 ああ、なるほど・・・そういうことか。 ありがと!
72 名前:デフォルトの名無しさん [2009/06/26(金) 03:08:09 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):下に示すように,二辺の長さと個数を読み込んで,読み込んだ個数だけ横長の長方形を表示 するプログラムを作成せよ. 一辺(その1) : 3 一辺(その2) : 5 個数: 4 ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語: C [4] 期限: 09年07月01日 [5] その他の制限:特になし
73 名前:68 mailto:sage [2009/06/26(金) 03:29:04 ] >>68 の回答、 前スレにあった。どうも同じ大学の人がいるらしい。 ありがとー。
74 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 04:31:28 ] >>72 #include<stdio.h> int main(void){ int width=4, height=3, num=2, i, j, k; printf("一辺(その1) : "); scanf("%d", &height); printf("一辺(その2) : "); scanf("%d", &width); printf("個数: "); scanf("%d", &num); for(i=0;i<height;i++){ for(j=0;j<num;j++){ if(j) printf(" "); for(k=0;k<width;k++) printf("*"); } printf("\n"); } return 0; }
75 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 04:49:01 ] [1] 授業単元: C [2] 問題文(含コード&リンク): キーボードから入力された1以上の整数nについて、次の例に示すように行番号と*を表示するプログラムを作成せよ 。また、0や負の数が入力された場合はプログラムが終了するようにせよ。 表示結果の例 正の整数:6 1****** 2 ***** 3 **** 4 *** 5 ** 6 * [3] 環境 [3.1]linux [3.2] gcc [3.3]C [4]6月29日 [5]繰り返しの課題なので繰り返しまででお願いします。 スペースをどういれたらいいかわからない・・・。
76 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 04:52:10 ] >>75 ごめん、問題文ミス。 1***** 2 **** 3 *** 4 ** 5 *
77 名前:デフォルトの名無しさん [2009/06/26(金) 05:11:14 ] >>75 #include<stdio.h> int main(void){ int a=1,b,n,i,j,k; printf("n…\n"); scanf("%d",&n); if(n<=0){ return 0; } b=n; for(i=1;i<=n;i++){ for(j=b;j<=n;j++){ printf(" "); } for(k=a;k<=n;k++){ printf("*"); if(k==n)printf("\n"); } b--; a++; } return 0; }
78 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 06:09:38 ] 前スレのプログラムへの質問なんですが、 前スレ675氏のプログラム、 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9553.txt を実行すると、 Usage: exefile 10000 とだけ出力されて終了してしまうのですが、 これは自分の転記ミスなんでしょうか? [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C
79 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 06:28:49 ] >>77 ありがとう。 せっかく作ってくれた所悪い、 問題文のとおり行番号がいるんだ。
80 名前:デフォルトの名無しさん [2009/06/26(金) 06:34:11 ] >>79 #include<stdio.h> int main(void){ int a=1,b,n,i,j,k; printf("n…"); scanf("%d",&n); if(n<=0){ return 0; } b=n; for(i=1;i<=n;i++){ printf("%d",i); for(j=b;j<=n;j++){ printf(" "); } for(k=a;k<=n;k++){ printf("*"); if(k==n)printf("\n"); } b--; a++; } return 0; }
81 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 07:13:02 ] >>78 17s/argc != 2/argc != 3/
82 名前:前675 mailto:sage [2009/06/26(金) 10:16:03 ] >>78 やっちまったみたい、17行目と18行目を、次の2行に置き換えてみて、教えて。 //if(argc != 2) {puts("Usage: exefile 10000"); return 1;} //max_days = atoi(argv[1]); if(argc < 2) max_days = 10000; else max_days = atoi(argv[1]);
83 名前:デフォルトの名無しさん [2009/06/26(金) 16:39:26 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 自分の名前の英字名のASCIIコードを順番に表示するプログラムを作りなさい。 [3] 環境 [3.1] OS: Windows vista [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語: C [4] 期限: 09年07月01日 [5] その他の制限:特になし どうかよろしくお願いします。僕の能力では作ることができませんでした。
84 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 16:54:23 ] #include <stdio.h> int main() { int i; char name[30] = "Taro Aso"; for ( i = 0; name[i] != '\0'; i++ ) printf("%3d %c", name[i], name[i]); return 0; }
85 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 18:09:15 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9554.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 7月1日 17:00 [5] その他の制限:
86 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 18:10:43 ] >>28 です。 答えてくだっさた方々ありがとうございました。
87 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 19:12:34 ] >>85 #include<stdio.h> #include<ctype.h> #include<string.h> int main(void){ char code[26][30]={{0}}, buf[30], filename[FILENAME_MAX], alpha; FILE *fp; int moji; scanf("%s\n", filename); fp=fopen(filename, "r"); if(fp==NULL) return 1; while(fscanf(fp,"%c,%[^\n]\n", &alpha, buf)==2){ if(isalpha(alpha)){ strcpy(code[tolower(alpha)-'a'], buf); } } fclose(fp); while((moji=getchar())!=EOF){ if(isalpha(moji)){ printf("%s", code[tolower(moji)-'a']); }else{ putchar(moji); } } return 0; }
88 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 19:23:31 ] 30って気持ち悪いw
89 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 19:28:57 ] >>83 #include<stdio.h> #include<ctype.h> int main(void){ char name[]="Nanasi no Gonbee Jr.2"; int i; for(i=0;name[i];i++){ printf("%c:%d\n", name[i], name[i]); } return 0; }
90 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 19:36:17 ] なんでctype.h?
91 名前:デフォルトの名無しさん [2009/06/26(金) 21:55:22 ] >>10 有難うございました!
92 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 23:25:43 ] [1]数値情報解析 [2]ドゥーリトル法によるLU分解でn元連立1次方程式を解くプログラムを作りなさい。 LベクトルとUベクトルと解ベクトルを表示すること。 [3] [3.1]Windows [3.2]Visual Studio [3.3]C [4]2009年7月1日 [5]ほぼ素人なので、少しでも優しい表現にしていただくようよろしくお願い致します。
93 名前:デフォルトの名無しさん [2009/06/27(土) 00:37:12 ] 前スレ930のものです。 前スレで回答してもらえず、前スレが落ちてしまったのでもう一度質問させてください。 [1] 授業単元:計算機システム構成原理 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9559.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 6月30日まで [5] その他の制限: 特になし よろしくお願いします。
94 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 00:39:17 ] 長くてめんどくさいだけの課題はやる人あんまりいないよな。
95 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 01:27:02 ] >>93 ftp.gnu.org/gnu/bash/bash-4.0.tar.gz
96 名前: ◆/91kCCQXBo mailto:sage [2009/06/27(土) 02:17:57 ] >>032 LED コンパイルはしてない。0b01111111 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/737.zip
97 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 05:39:00 ] 11 ★pc1つで毎日3万稼ぐ★ ★翌日入金★ ★2009年最新在宅ワーク!★☆ toutou.nantomo.dousetsu.com/
98 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 06:30:45 ] >>27 Dll_BMP_C.h ってのを晒さないと誰もできないぞ (もし Dll_BMP_C.c みたいなのがあったらそれも)
99 名前:デフォルトの名無しさん [2009/06/27(土) 07:24:15 ] >>27 >>98 D_llBMP_C.h kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9560.txt
100 名前:83 [2009/06/27(土) 09:54:43 ] >>84 様 ありがとうございましたm(__)m
101 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 09:56:38 ] >>99 thx DllBmpReadImage()とかの実体のDLLかソースコードもあるとうれしい (というかそれがないとできない)