1 名前:デフォルトの名無しさん [2008/10/01(水) 07:28:51 BE:151474728-PLT(18888)] あなたが解けない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++の宿題を片付けます 115代目 pc11.2ch.net/test/read.cgi/tech/1217741118/
34 名前:12 [2008/10/04(土) 13:03:08 ] >>17 DFTでお願いします。 一通りググってはみたんですけど、どれも難解で各行説明が難しいです…
35 名前:デフォルトの名無しさん mailto:age [2008/10/04(土) 14:34:48 ] >>29 #include <stdlib.h> #include <stdio.h> #include <string.h> int aki; char zaseki[5][5]; void chomp(char *buf) { int len = strlen(buf); if (len > 0 && buf[len - 1] == '\n') buf[len - 1] = '\0'; } void yoyaku(void) { int i, j, n; char buf[128]; printf("予約状況:\n"); printf(" "); for(j = 0; j < 5; j++) printf(" %2d", j+1); printf("\n"); for(i = 0; i < 5; i++) { printf(" %2d", i+1); for(j = 0; j < 5; j++) if(zaseki[i][j]) printf(" x"); else printf(" ."); printf("\n"); }
36 名前:デフォルトの名無しさん mailto:age [2008/10/04(土) 14:35:37 ] printf("x: 予約済み .: 空き\n\n"); if (!aki) { printf("空席がありません。\n"); return; } do { printf("予約する座席数: "); scanf("%d", &n); if (aki < n) { printf("空席が足りません。\n"); continue; } } while(0); if(n <= 0) return; while(n--) { rewind(stdin); printf("予約を希望する座席(行-列): "); scanf("%d-%d", &i, &j); if(zaseki[i - 1][j - 1] == 1) { printf("座席「%d-%d」は予約ずみです。\n", i, j); n++; continue; }
37 名前:デフォルトの名無しさん mailto:age [2008/10/04(土) 14:36:23 ] printf("座席「%d-%d」を予約しますか?(YES/NO): ", i, j); rewind(stdin); fgets(buf, 128, stdin); chomp(buf); if (strcmpi(buf, "YES") == 0) { zaseki[i - 1][j - 1] = 1; printf("予約しました。\n"); } } } void cancel(void) { int i, j, n; char buf[128]; printf("予約状況:\n"); printf(" "); for(j = 0; j < 5; j++) printf(" %2d", j+1); printf("\n"); for(i = 0; i < 5; i++) { printf(" %2d", i+1); for(j = 0; j < 5; j++) if(zaseki[i][j]) printf(" x"); else printf(" ."); printf("\n"); }
38 名前:デフォルトの名無しさん mailto:age [2008/10/04(土) 14:37:25 ] printf("x: 予約済み .: 空き\n\n"); if (aki == 5 * 5) { printf("予約済みの席はありません。\n"); return; } do { printf("キャンセルする座席数: "); scanf("%d", &n); if (5*5 - aki < n) { printf("予約済みの席が足りません。\n\n"); continue; } }while(0); if(n <= 0) return; while(n--) { rewind(stdin); printf("キャンセルを希望する座席(行-列): "); scanf("%d-%d", &i, &j); if(zaseki[i - 1][j - 1] == 0) { printf("座席「%d-%d」は予約されていません。\n", i, j); n++; continue; }
39 名前:デフォルトの名無しさん mailto:age [2008/10/04(土) 14:38:02 ] printf("座席「%d-%d」をキャンセルしますか?(YES/NO): ", i, j); rewind(stdin); fgets(buf, 128, stdin); chomp(buf); if (strcmpi(buf, "YES") == 0) { zaseki[i - 1][j - 1] = 0; printf("予約しました。\n"); } } } int main(void) { int i, j, m; aki = 5 * 5; for(i = 0; i < 5; i++) for(j = 0; j < 5; j++) { zaseki[i][j] = rand() & 1; if(zaseki[i][j]) aki--; } do { printf("\n\nメニュー(1.予約 2.キャンセル 3.終了): "); scanf("%d", &m); switch(m){ case 1: yoyaku(); break; case 2: cancel(); break; case 3: return 0; } } while(1); }
40 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 14:52:43 ] printf("x: 予約済み .: 空き\n\n"); if (aki == 5 * 5) { printf("予約済みの席はありません。\n"); return; } do { printf("キャンセルする座席数: "); scanf("%d", &n); if (5*5 - aki < n) { printf("予約済みの席が足りません。\n\n"); continue; } }while(0); if(n <= 0) return; while(n--) { rewind(stdin); printf("キャンセルを希望する座席(行-列): "); scanf("%d-%d", &i, &j); if(zaseki[i - 1][j - 1] == 0) { printf("座席「%d-%d」は予約されていません。\n", i, j); n++; continue; }
41 名前:デフォルトの名無しさん mailto:age [2008/10/04(土) 14:53:42 ] if((fp=fopen(filename, "rb"))==NULL) return; for(;(moji=fgetc(fp))!=EOF;prev=moji,moji_count++) if(moji=='\n') line_count++; fclose(fp); if(prev!='\n') line_count++; printf("File : %s\nCharacter count : %d\nLine count : %d\n\n", filename, moji_count, line_count); } rewind(stdin); fgets(buf, 128, stdin); chomp(buf); if (strcmpi(buf, "YES") == 0) { zaseki[i - 1][j - 1] = 1; printf("予約しました。\n"); } } } void cancel(void)
42 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 14:54:45 ] うざす
43 名前:デフォルトの名無しさん [2008/10/04(土) 15:16:13 ] >>35 >>36 >>37 >>38 >>39 >>40 ありがとうございます。本当に助かりました。
44 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 15:24:52 ] >>35-41 長ぇwww うpろだに上げろよw
45 名前:21 [2008/10/04(土) 15:37:15 ] >30 早速作って戴いて ありがとうございます。実行のとき、 ./kadai3-2 s aって入力すると不正な文字ですぅって でるんですが、どこがおかしいですか? ファイルは入力ファイル、 出力ファイルの順にコマンドラインの引数で指定していると 思うんですが。
46 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 15:42:58 ] >>45 おそらくスペースか改行文字かタブ文字が原因
47 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 15:46:09 ] >>45 数字と,以外受け付けない スペースも改行も入れられないよ
48 名前:21 [2008/10/04(土) 15:49:59 ] >>46 ん、ん? スペース入れずにどうやって入力するのですか?
49 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 15:50:40 ] >>48 よみこむ中身の方だよ
50 名前:21 [2008/10/04(土) 15:55:25 ] >>49 えっと読み込むファイルsの中身は 1,2,3,4,5,6,7 としたんですが、どこかおかしいですか?
51 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 16:00:22 ] >>50 最後に改行してるんじゃね?
52 名前:21 [2008/10/04(土) 16:04:19 ] >>51 確かめてみたんですが、とくに最後に改行 とかはされていませんでした。
53 名前:デフォルトの名無しさん [2008/10/04(土) 16:23:22 ] >>30
54 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 16:25:04 ] ファイルがないときもスコンスコン落ちるし、まあ、大雑把なつくりなんでしょう。 改造するほうがいいよ。
55 名前:21 mailto:sage [2008/10/04(土) 16:51:48 ] 改造か・・・。 できる気がしないけどちょくらやってみる。 でもこれ再提出の上に期限大分オーバー しちゃってるんだよなぁ。 はぁ。
56 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 17:02:56 ] かなりの初心者です…。質問があります。 入力された数値を二乗して返す、というプログラムなのですが、↓のようにしました。 … printf("Enter a floating number > "); while( scanf("%f",&data) != EOF ){ printf("%lf^2 = %lf\n",data,SQUARE(data)); printf("Enter the next value > "); } … 「SQUARE」は二乗するための関数です。 実行してみると、dataの中には何も数値は入っていませんでした(data = 0.000)。 「while文の条件の中で一度scanfを行っているからdataには入力された数値が入っているんじゃないの??」と 思ったのですが、そうはいっていないようです。ループに入っていることは確認できました。 自分のスキルでは解決できないので、力を貸して下さい…(泣)
57 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 17:06:43 ] 変数はdoubleか? それならまず%fと%lfを入れ替えてみようか
58 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 17:17:14 ] 書き忘れてました、double型です。 それで、%f → %lfにしてみたら…大丈夫でした(^^ 同時に、勉強の必要性を強く感じました… ただ、このループはCtrl + Dで終了するはずらしいのですが、それを入力するとなぜか無限ループ開始…(^^; これについてはどうでしょうか??
59 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 17:18:38 ] windowsならCtrl+Z
60 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 17:23:27 ] あ、なるほど。学校のPCはLinuxだったからそうなっていたのですね。 確かにCtrl + Zで無事に終了できました。 初心者のばかばかしい質問に答えて下さり、ありがとうございましたm(_ _)m
61 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 18:33:59 ] >>55 = 21 課題だから最低限の実装でいいかなと思ってたんですみません。 一応少しマシな実装に直しておきました。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7753.c
62 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:20:14 ] 三平方の定理の斜辺を求めるプログラムなのですが、 関数をcalcuteとして、a^2 + b^2 = c^2のaとbを入力させて渡そうとしているのですが、コンパイル時にエラーが起こります。 なぜかわかるでしょうか? 以下が関数main、 int main(double *argv[]) { printf("%f", calcute(argv[1], argv[2])); return 0; } 以下がエラーの内容です。 pyt.c:6: error: incompatible type for argument 1 of `calcute' pyt.c:6: error: incompatible type for argument 2 of `calcute'
63 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:22:23 ] >>62 int main(double *argv[]) なんだこのふざけた引数は
64 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:24:11 ] >>63 小数の内容を入力したいのですが・・・
65 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:28:06 ] >>64 int main(int argc,char *argv[]) { double a,b; sscanf(argv[1],"%f",&a); sscanf(argv[2],"%f",&b); 以下略
66 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:28:56 ] >>65 勉強不足でした。どうもありがとうございます。
67 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:35:41 ] >>65 sscanf(argv[1],"%lf",&a); sscanf(argv[2],"%lf",&b);
68 名前: ◆3CnrSiNVYE mailto:sage [2008/10/04(土) 20:43:03 ] >>32 >>33 ありがとうございます。 ところでこれでファイルを指定するにはどうすればよいのでしょうか? 学校のコンパイラはgccなのですが家ではvisualC++2008を使っているのですが…
69 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:58:43 ] >>68 横スレですまんが、>>33 のソースは間違っているので使わない方がいいよ。 >>32 は正しくできている(ちなみに私も作っていろいろなファイルで結果を取りますた)。 VS C++2008なら、コンパイルなりビルドなりしてコマンドプロンプトだったかな(Windowsしらねぇ)からコマンドライン引数としてファイルを渡せばいいと思う。VS C++のIDEくらいなら、引数を指定して実行とかってメニューがあるかもしれない。
70 名前:65 mailto:sage [2008/10/04(土) 21:03:46 ] >>67 floatじゃなくてdoubleだから%lfだね。 スマソ
71 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 21:14:14 ] >>68 ちょっと調べてみたよ。 プロジェクト(P) -> プロパティ(P)でプロジェクトのプロパティを開く。 構成プロパティ -> デバッグ -> コマンド引数にファイル名を書けば良いと思う。
72 名前:31 ◆3CnrSiNVYE mailto:sage [2008/10/04(土) 21:26:24 ] >>69 >>71 申し訳ありません。ちょっとよくわかりませんでした。 >>71 を参考にして適当なテキストファイルのフルパスをコマンド引数に書いてみたのですが、 Ctrl+F5(ビルド)しても「何かキーを押してください」と出て終了してしまいます。 soudan1.biglobe.ne.jp/qa4255056.html ここを参考にしてみたのですが、よくわかりません
73 名前:31 ◆3CnrSiNVYE mailto:sage [2008/10/04(土) 21:42:41 ] なんか宿題の本筋からずれてますね。 visualC++のスレで聞いてきます。
74 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 23:21:18 ] 1] 授業単元:C++ [2] 問題文(含コード&リンク):八の字を描け。問題→www.dotup.org/uploda/www.dotup.org3603.zip.html 自分でやってみたのですが、出発地点から円を描く事しかできませんでした。 この画像で黄色のところが出発地点で、緑の所が執着地点です→www.dotup.org/uploda/www.dotup.org3605.zip.html [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:Visual Studio 2005又はVisual Studio 2008 [3.3] 言語:C++ [4] 期限: ([2008年10月6日午前5:00まで [5] その他の制限:何か説明不足な点がありましたら言って下さい。どうかお願いします。
75 名前:デフォルトの名無しさん [2008/10/05(日) 01:19:04 ] C言語って懐かしいな
76 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 02:55:53 ] やったことないからよくわかんないけど、-270度まで回転するのがまずいんでないの? -90度回転させて、中心点を左の円のものにして+90度からプラス方向に360度回転させて、 元の中心を使って-90度から-270度まで回転させればいくんでない? やり方は知らないんだけど。
77 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 09:19:23 ] 半円を4つ描くと思えばいい
78 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 09:36:52 ] twintail.jpからel.hなくなってるじゃん コンパイルできないからうpれよ
79 名前:デフォルトの名無しさん [2008/10/05(日) 11:25:26 ] C と C++ とC# と、後なんか。 何がどう違うの? 簡単な表にしてZIPでくれ。
80 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:29:00 ] >>79 失せろ
81 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:30:17 ] >>80 「わかりません」ってハッキリ言えwww
82 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:47:12 ] >>79 どういう視点で違いを知りたい?
83 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 13:15:48 ] みなさん童貞ですか?
84 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 14:09:03 ] >>18 ワロタwwww
85 名前:74 ◆5/7mhL.nO6 mailto:sage [2008/10/05(日) 14:53:36 ] >>78 elってこれですか? www.dotup.org/uploda/www.dotup.org4202.zip.html
86 名前:デフォルトの名無しさん [2008/10/05(日) 16:52:12 ] AGE
87 名前:デフォルトの名無しさん [2008/10/05(日) 20:01:02 ] >>12 >>16 >>34 です どうか助けてもらえませんか…
88 名前:74 ◆5/7mhL.nO6 mailto:sage [2008/10/05(日) 21:16:20 ] 誰か>>74 をお願いいたします。
89 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 21:16:49 ] >>87 今から始める。のんびりまってて。
90 名前:デフォルトの名無しさん [2008/10/05(日) 21:28:25 ] >>87 ttp://www.nigauri.sakura.ne.jp/src/up5626.txt BCC Developerで拡張子を.cppとして作成。 コメントはほとんどなし。 間違ってたらすまない。 まぁ、参考程度にしてもいいし、ゴミ箱直行でもいいし。
91 名前:デフォルトの名無しさん [2008/10/05(日) 21:29:00 ] >>89 いくらでも待ちます。ハチ公のように。 本当にありがとうございます。
92 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 21:31:49 ] 二度と戻らぬ主人を待ち続けるハチ公であつた。
93 名前:90 [2008/10/05(日) 21:32:38 ] あ、>>89 さんゴメン。かぶった。 プログラム>>89 のほうがいいかもしれないよ。俺あんまりこのスレきたことないから
94 名前:デフォルトの名無しさん [2008/10/05(日) 21:33:39 ] >>90 ありがとうございます。参考にさせてもらいます。 C初めて間もないので、とても為になります。
95 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 21:44:25 ] >>93 大丈夫、実はやってない。
96 名前:デフォルトの名無しさん [2008/10/05(日) 22:08:56 ] >>95 マジですか?… わかりました。では>>90 さんのを元に、各行の説明付けに励みたいと思います。 >>90 さんありがとうございました。
97 名前:74 ◆5/7mhL.nO6 mailto:sage [2008/10/05(日) 22:18:48 ] >>74 の「八の字」の描き方もお願いします。 円はできたのですが、八の字はどのようにやったら良いかわかりません。
98 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 22:22:58 ] 円を二個くっつければ八の字にならないか?
99 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 22:53:16 ] ○○ でも八の字といえば八の字だよな
100 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 23:01:11 ] [1] 授業単元:C言語演習 [2] 問題文(含コード&リンク):英文文書整形プログラム kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7754.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: 10月8日 [5] その他の制限:特にありません よろしくお願いします
101 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 00:10:49 ] >>99 ○ ○ こっちじゃね?
102 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 00:13:13 ] >>100 そこだけ見るとゼペット爺さんなんか痛い子
103 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 00:18:39 ] >>100 51文字目にカンマやピリオドがあったらどうする? 1.直前の単語ごと次の行へ 2.カンマやピリオドが行の先頭にあっても構わない 3.行の後ろにこっそりつける
104 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 00:29:53 ] >>103 ピリオドや?などは単語の一部という扱いでいいと思います ですので「1」で大丈夫です
105 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 03:10:26 ] >>97 >>76 は?もう期限近いけどさ。
106 名前:デフォルトの名無しさん [2008/10/06(月) 04:35:00 ] >>97 眠れないので作ってみた void teki_01_dp(void) { static float n = 0; static float inc = 0.1; for (cnt = 0; cnt < 17; cnt++) { if (init_fl[cnt] != 0) { /* 出現済みの敵の場合 */ /* 次の座標を計算 */ #if 0 spx[cnt] += spxg[cnt]; spy[cnt] += spyg[cnt]; zx[cnt] += FrameTime * spx[cnt]; zy[cnt] += FrameTime * spy[cnt]; #else zx[cnt] += cos(n * PI / 180) * FrameTime * 100; zy[cnt] += sin(n * PI / 180) * FrameTime * 100; n += inc; if (n >= 180.0) { inc = -0.1; } else if (n <= -180.0) { inc = 0.1; } #endif } } } 速度とかは超適当す。
107 名前:74 ◆5/7mhL.nO6 mailto:sage [2008/10/06(月) 07:10:44 ] >>105 期限は今週中なら一応大丈夫です。 >>106 これはどこのソースに書き込みましたか?
108 名前:106 mailto:sage [2008/10/06(月) 07:40:39 ] >>107 うpろだの内容はそのままビルドできんかったので 1.zako_01.cppを新規に作成 2.zako.cppをコピペ 3.teki_reqをtei_01_reqに変更 4.teki_dpをteki_01_dpに変更 5.読みにくかったので全面書き替え!! 5.teki_01_dpに>>106 のを書いた 6.teki_01_reqは固定位置出現にした 最終動きのイメージを今見たんだがハチの字の方向が違うかもしれん そこはまぁ適当によろしこ ちなみにPIは3.141592にdefineしてある
109 名前:106 mailto:sage [2008/10/06(月) 07:41:46 ] 書き忘れた もう仕事に行く時間なので 夜になるまで応答できないかも
110 名前:74 ◆5/7mhL.nO6 mailto:sage [2008/10/06(月) 08:11:20 ] >>109 ありがとうございます。 やってみるので、夜になったらまた見てもらえますか? それまで自分でやってみます。
111 名前:21 [2008/10/06(月) 11:27:20 ] >>61 よし動いた。 ・・・あれ肝心のソートがされてないorz 誰か13時までに原因を教えてください。
112 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 12:01:51 ] 1] 授業単元:C++ [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7745.txt ・「年(西暦)」「月」を入力したら,その月のカレンダーを表示するプログラムを作成しなさい。ただし,下記の条件を満たすものとする。 【条件】 (1)カレンダークラスを作成し,main関数でカレンダークラスの実体を生成し,カレンダークラス内のメンバ関数(show関数)を呼び出してカレンダーを表示する。 (2)カレンダークラスはカプセル化されていること。 (3)カレンダー表示には,年,月および曜日,日を表示すること。 (4)上記以外については自由に作成してよい。 [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語:C++ [4] 期限: ([2008年10月8日
113 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 17:59:06 ] >>112 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7755.cpp 問題文のリンクを元に作ったけども 正直カレンダークラスに year と month ないほうが綺麗になると思う
114 名前:デフォルトの名無しさん [2008/10/06(月) 18:40:58 ] [1] 授業単元:プログラミング演習 [2] n*3がたの行列Aと3*mの行列Bの積を計算する プログラムを作成せよ。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc バージョン5.5 [3.3] 言語:C [4] 期限: 10月9日 [5] その他の制限:特にありません よろしくお願いします。素人でもわかりやすい作りに していただければ幸いです。
115 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 18:40:59 ] >>113 そんなに無理矢理三項演算子使わなくても…
116 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 18:53:21 ] >>115 使わないと分かりにくいかなと思って使ったんだけども・・・ 取っても結果同じだから、違和感あるなら取ってね
117 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 19:22:49 ] #include<stdio.h> #define n 2 #define m 4 int main(){ int A[n][3] ={{1,2,3}, {4,5,6}}; int B[3][m] ={{1,2,3,4}, {5,6,7,8}, {9,10,11,12}}; int C[n][m],i,j,k,t; for(i=0;i<n;i++){ for(j=0;j<m;j++){ for(t=0,k=0;k<3;k++){ t += A[i][k]*B[k][j]; } C[i][j] = t; } } //A for(i=0;i<n;i++){ for(j=0;j<3;j++){ printf("%3d",A[i][j]); } printf("\n"); } //B for(i=0;i<3;i++){ for(j=0;j<m;j++){ printf("%3d",B[i][j]); } printf("\n"); } //C for(i=0;i<n;i++){ for(j=0;j<m;j++){ printf("%3d",C[i][j]); } printf("\n"); } }
118 名前:74 ◆5/7mhL.nO6 [2008/10/07(火) 00:33:44 ] >>108 のように書いたのですが、 このようなエラーはどう対処したら宜しいのでしょうか? ..\zako_01.cpp(52) : warning C4305: '初期化中' : 'double' から 'float' へ切り詰めます。 ..\zako_01.cpp(66) : error C2065: 'PI' : 定義されていない識別子です。 ..\zako_01.cpp(70) : warning C4305: '=' : 'double' から 'float' へ切り詰めます。 ..\zako_01.cpp(72) : warning C4305: '=' : 'double' から 'float' へ切り詰めます。
119 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:42:13 ] #define PI 3
120 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:55:07 ] 笑ったけど本気にしたらかわいそうだ >>118 #define PI 3.141592 warningってのは警告だから無視すればいい
121 名前:デフォルトの名無しさん [2008/10/07(火) 01:35:20 ] [1] C言語演習 [2] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7756.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7757.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7758.txt [3] C [4] 今週の水曜日 よろしくお願いします。
122 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 02:49:18 ] >>118 > >>108 のように書いたのですが、 >>108 > ちなみにPIは3.141592にdefineしてある はぁ。
123 名前:74 ◆5/7mhL.nO6 [2008/10/07(火) 04:23:57 ] >>119 >>120 >>122 すみません見落としていました… とりあえず、>>106 を参考に作りました。 www.dotup.org/uploda/www.dotup.org6018.zip.html するとこのようなエラーが出るのですが…ファイルを見て確認してみて下さい。 zako_01.obj : error LNK2005: "float * zy" (?zy@@3PAMA) は既に zako.obj で定義されています。 zako_01.obj : error LNK2005: "int * init_fl" (?init_fl@@3PAHA) は既に zako.obj で定義されています。 zako_01.obj : error LNK2005: "float * spy" (?spy@@3PAMA) は既に zako.obj で定義されています。 zako_01.obj : error LNK2005: "float * spx" (?spx@@3PAMA) は既に zako.obj で定義されています。 zako_01.obj : error LNK2005: "float * spyg" (?spyg@@3PAMA) は既に zako.obj で定義されています。 zako_01.obj : error LNK2005: "float * zx" (?zx@@3PAMA) は既に zako.obj で定義されています。 zako_01.obj : error LNK2005: "float * spxg" (?spxg@@3PAMA) は既に zako.obj で定義されています。
124 名前:74 ◆5/7mhL.nO6 [2008/10/07(火) 06:01:05 ] >>123 のエラーは全て自己解決しました。 普通にコンパイルできるのにちゃんと表示されないのですが… www.dotup.org/uploda/www.dotup.org6039.zip.html >>108 のようにやったのに表示されません…
125 名前:106 mailto:sage [2008/10/07(火) 07:40:12 ] すまん。もともとあった内容は省略して書いてた。 ----- こっから //アニメーション----------------------------- timer_a[cnt]+=FrameTime; if(timer_a[cnt]>0.1){ timer_a[cnt]=0; no_a[cnt]++; if(no_a[cnt]>9) no_a[cnt]=0;//アニメーションのループ } //敵の表示 elDraw::Layer((int)zx_a[cnt],(int)zy_a[cnt],tkBMP[cnt],40*no_a[cnt],0,40*no_a[cnt]+40,40); // SHOW2((int)zx[cnt],(int)zy[cnt]-5,"no= %d",cnt); }//リクエスト if end }//for end if(out_cnt==17){//17個全て消えたか? for(cnt=0;cnt<17;cnt++){ init_fl_a[cnt]=0; } ---- ここまで をkadai_d_dpの最後に追加してみそ。 分かってるとは思うが //敵の表示 elDraw::Layer((int)zx_a[cnt],(int)zy_a[cnt],tkBMP[cnt],40*no_a[cnt],0,40*no_a[cnt]+40,40); のコールでビットマップを描画してるので これ消したら当然何も出ない罠
126 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 07:58:09 ] >>124 表示してないからあたりまえ #define PI 3.141592F void teki_01_dp(void) { static int no[17];//アニメ用 static float timer[17];//アニメ用 static float n = 0.0F; static float inc = 0.1F; int cnt; for (cnt = 0; cnt < 17; cnt++) { if (init_fl_01[cnt] != 0) { zx_01[cnt] += cos(n * PI / 180) * FrameTime * 100; zy_01[cnt] += sin(n * PI / 180) * FrameTime * 100; n += inc; if (n >= 180.0) { inc = -0.1F; } else if (n <= -180.0) { inc = 0.1F; } timer[cnt]+=FrameTime; if(timer[cnt]>0.1){ timer[cnt]=0; no[cnt]++; if(no[cnt]>9) no[cnt]=0;//アニメーションのループ } elDraw::Layer((int)zx_01[cnt],(int)zy_01[cnt],tkBMP[cnt],40*no[cnt],0,40*no[cnt]+40,40); } } }
127 名前:74 ◆5/7mhL.nO6 [2008/10/07(火) 08:04:53 ] >>125 >>126 できました!ありがとうございます! これを元に波線の軌道もやってみますので、分からなくなったら再び質問します。
128 名前:112 mailto:sage [2008/10/07(火) 10:41:20 ] >>113 デバックしましたけど何も表示されませんでした。
129 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 11:03:35 ] >>128 デバック??? 「修正してやったぜ」って意味か? 失礼な奴だな 知らない言葉は調べたほうがいいぜ
130 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 12:27:22 ] デバッグ実行のことじゃね
131 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 12:39:16 ] VSが「デバッグ開始」て書いてあるから間違って覚えたんだろ
132 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 12:41:45 ] >>128 コマンドライン引数が無いときの処理が無いからな
133 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 13:10:31 ] >>121 2番目の問題だけ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7759.txt
134 名前:21 mailto:sage [2008/10/07(火) 16:58:43 ] 誰か61のプログラムでソートされない原因を 教えてください。 お願いします