1 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:40:55 ] あなたが解けない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++の宿題を片付けます 109代目 pc11.2ch.net/test/read.cgi/tech/1212895856/
385 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 00:55:26 ] >>382 #include <stdio.h> int str_maxlen(char str[][100], int num) { int i, j, max = 0, max_index = 0; for(i=0; i<num; i++) { for(j=0; str[i][j]; j++); if(max < j) max = j, max_index = i; } return max_index; } int main(void) { char str[5][100]; int i; for(i=0; i<5; i++) scanf("%s", str[i]); printf("最長の文字列は%s", str[str_maxlen(str, 5)]); return 0; }
386 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 00:56:09 ] >>382 #include<stdio.h> str_maxlen(const char str[][100], int num); int main( void ) { char str[ 5 ][ 100 ]; int i = 0; int length = 0; for( i = 0; i < 5; i++ ){ gets( str[ i ] ); } length = str_maxlen( str, i ); printf( "%d", length); return( 0 ); } int str_maxlen(const char str[][100], int num) { int maxlen=0; int i = 0, k = 0; for( i = 0; i < num; i++ ){ for( k = 0; str[ i ][ k ] != '\0'; k++ ){} if( k > maxlen ){ maxlen = k; } } return( maxlen ); }
387 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 00:57:38 ] 今だっ!おまいらうpロダ(ry
388 名前:386 mailto:sage [2008/06/23(月) 00:59:01 ] >main関数内で,str_maxlen 関数の返却値を元に文字列を出力することで,動作確認すること. これやってないわ スマソ
389 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:00:51 ] 返すのは長さじゃなくて添え字
390 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:02:19 ] >>389 まぁ結局は添え字だが、 返すべきはkじゃなくてiだわな
391 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:05:41 ] >まぁ結局は添え字だが、 何を言ってるんだ?
392 名前:377 mailto:sage [2008/06/23(月) 01:07:21 ] >>383 、>>384 書き換えまでやってくださったとは・・・! 本当何から何まですみません。 ありがとうございます!(>_<)
393 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:14:32 ] >>350 コンパイルは通ったけど、解が見つからなかったので報告。 // direction++; direction = static_cast<DIRECTION>(direction+1); /* switch(direction){ case NOTYET:direction = START; break; case START: direction = RU; break; case RU: direction = RD; break; case RD: direction = DR; break; case DR: direction = DL; break; case DL: direction = LD; break; case LD: direction = LU; break; case LU: direction = UL; break; case UL: direction = UR; break; case UR: direction = END; break; case END: direction = NOTYET; break; } */
394 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:17:27 ] 6x6の盤でナイトの旅を始めます。 解析中... 正しく解析できました。 1 30 27 18 3 10 26 17 2 11 28 19 31 36 29 20 9 4 16 25 8 35 12 21 7 32 23 14 5 34 24 15 6 33 22 13 評価回数は59079349回です。 要した時間は0.028秒です。
395 名前:393 mailto:sage [2008/06/23(月) 01:21:25 ] //盤面のサイズ。 #define SIZE 5 です。遅れました Express 2005 + SDK
396 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:24:45 ] 以下のようなプログラミングはどのようにすればよいのでしょうか? 「組み合わせ」を求める数学の公式にコンビネーションがあります。このコンビネーションのプログラミングを教えてください! 1.nとrをscanf()で読み、nCrの値を計算して表示させます。 条件として、nとrの値はマイナスでなく、またゼロでなく、さらにここではn<=10であることを確認させて、正しい数値を入力させる。もし誤った数値を入力したら「入力ミスです」と表示させる。 2.0!=1も扱えるようにすることを忘れない。
397 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:25:06 ] 統計計算のプログラミングの例を教えてください。 最大20個までの実数値をscanf()で、配列に読み、呼んだデータの、平均値、分散、最大値、最小値を計算して表示するプログラムを教えてください! 条件として、データは-999.0から999.0の範囲とし、入力終了の合図として1000.0より大きい値のデータを入力すると、その数値は入力されずに入力作業を終了する。 平均値と分散については、 データ数をn、各データをXi(i=1〜n)とすると、(ΣXi)/n (データの個数で割ったもの)が平均値 (Σ(Xi-(データの相加平均))^2)/nが分散であるとする。 よろしくお願いします!!
398 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:26:18 ] 5x5の盤でナイトの旅を始めます。 解析中... 解析できませんでした。 評価回数は15615711回です。 要した時間は0.07秒です。
399 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:26:43 ] >>391 maxlen=k; return maxlen; はどう見ても添え字を返してるだろ
400 名前:350 mailto:sage [2008/06/23(月) 01:30:24 ] >>395 マスの数が奇数の場合、周遊は解なし >>398 お前のPCのスペックが知りたいわw
401 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:32:32 ] >>396 つ パスカルの三角形 >>397 探せば見つかるようなありきたりの課題じゃ〜・・・
402 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:33:46 ] >>397 #include <stdio.h> int main(void){ double value, sum=0, sum2=0, average, variance, maximum=0, minimum=0; int n; for(n=0;n<20;n++){ if(scanf("%lf", &value)!=1) break; if(value>=1000.0) break; sum+=value; sum2+=value*value; if(n==0 || maximum<value) maximum=value; if(n==0 || minimum>value) minimum=value; } if(n==0) return 1; average=sum/n; variance=(sum2-sum*average)/n; printf("平均値 %f\n分散 %f\n最大値 %f\n最小値 %f\n", average, variance, maximum, minimum); return 0; }
403 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:34:44 ] >>399 アホか 添え字って言っても >最長の文字列が格納されている配列の添え字(行の要素番号) だぞ。 kは文字列の長さにしかなんねーよ
404 名前: ◆15lIZBDwz6 mailto:sage [2008/06/23(月) 01:35:35 ] >>385-386 ありがとうございます。 それにしても…早いw 次の問題解き終わってきてみたら20分後にはもうできてるし…
405 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:39:37 ] >>399 >>390
406 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:39:47 ] >>396 > 2.0!=1も扱えるようにすることを忘れない。 階乗を求めるやり方か・・・
407 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:49:24 ] >>396 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7019.c
408 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:50:59 ] >>394 最近のコンピュータははやいな!
409 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 02:01:50 ] >>396 あ〜、入力エラーの表示は適当に追加しておいて。 あと、nもrも0のときでも考慮されてる。 0個の中から9個のものを選ぶという事象も1つの事柄として扱っているし n個の中から0個のものを選ぶ、すなわち何も選ばないということも 1通りの事象として扱われているから。
410 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 02:02:27 ] ×0個の中から9個のものを選ぶという ○0個の中から0個のものを選ぶという
411 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 02:04:32 ] >>397 #include <stdio.h> #include <math.h> int main(void) { double d[20], max = -1000.0, min = 1000.0, ave = 0, var = 0; int i, n; for(i=0; i<20; i++) { scanf("%lf", d + i); if(fabs(d[i]) > 999.0) break; if(max < d[i]) max = d[i]; if(min > d[i]) min = d[i]; ave += d[i]; var += d[i] * d[i]; } if(!i) return 0; ave /= i; var = var / i - ave * ave; printf("最大値%f\n最小値%f\n平均%f\n分散%f\n", max, min, ave, var); return 0; }
412 名前:395 mailto:sage [2008/06/23(月) 02:48:26 ] >>400 有り難う御座います、見逃していました。 >ちなみに100行目に入れる値を変えればいろいろ変化します。 所で、よく見るとCのほう(float)キャストが無いので、経過時間が0.000秒でした。
413 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 03:04:20 ] 軽作業用に使っている AthlonXP 2800+ 2GHzじゃ2.78秒 C2D E7200でも試してみようかのぅ
414 名前: ◆dH2ZMCPPns mailto:sage [2008/06/23(月) 09:34:10 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7020.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: VC6.0 [3.3] 言語: C [4] 期限: 6月23日 14時まで よろしくお願いします。二問あります
415 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 10:06:26 ] [1]CとC++ [2]テキストサウンドノベルを作成する事。 キー入力でメッセージを表示し、途中で選択肢を含める。(最大3つまで) 画面をスクロールさせることは禁止。ページ切り替えは、画面全消去で対処する事。 テキスト行数は、最低50行から最大100行までとする。 画面全消去方法は、先生に聞くこと。 #include"stdlib.h" system("CLS"); この時に画面すべて消せる
416 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 10:11:46 ] >>415 サウンドはどうやって鳴らすの?
417 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 10:46:04 ] あいまいな問題にはまともに回答する必要無し
418 名前:415 mailto:sage [2008/06/23(月) 10:59:11 ] サウンドはほっといていいらしいです。
419 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 11:04:36 ] それただのノベル。
420 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 11:11:11 ] プログラム部分なら作れるけど、ノベルはどうすんだよw
421 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 11:21:44 ] サウンドノベルみたいに選択肢で分岐するテキストアドベンチャーを作れば良いと理解した。 まってろ、今作ってる。
422 名前:sage [2008/06/23(月) 11:42:17 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 5 つの数を double 型の配列 nums にキーボードから読み込んで, それらの 3乗の和を出力するプログラムを作成せよ。 3 乗の和を計算する部分は,関数 double cubesum(double vc[], int no) とすること。 ここで,配列 vc はデータの格納された配列を, no は入力したデータの個数を表す。 main 関数では個数の 5 は定数として扱って構わないが, 関数 cubesum では個数は引数で読み込むものとする。 つまり何個のデータにでも使える汎用性のあるものとして関数を定義する。 3 乗の和の計算は,main からその関数を呼び出して行う。 ヒント:関数の中の3乗和の計算には繰り返しの処理が必要となる。 for 文を使えば簡単に書ける。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2008年6月24日 [5] その他の制限:特になし
423 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 11:47:31 ] #include <stdio.h> double cubesum(double vc[], int no) { double sum = 0.0; int i; for(i=0; i<no; i++) sum += vc[i] * vc[i] * vc[i]; return sum; } int main(void) { double nums[5]; int i; for(i=0; i<5; i++) scanf("%lf", nums + i); printf("%f", cubesum(nums, 5)); return 0; }
424 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 12:12:47 ] >>415 マルチでもいいけどさ、環境と期限書こうぜ
425 名前:415 mailto:sage [2008/06/23(月) 12:32:18 ] 環境はvista 言語はC++ 起源ははっきりとは言ってなかったが夏休み前だと思います。
426 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 12:40:32 ] お前の夏休みなんか知らねーよww
427 名前:350 mailto:sage [2008/06/23(月) 12:43:59 ] >>412 動作に現れる部分を修正するのは大いに結構だが 現れない部分の修正しないで提出すると痛い目見るよ 例えばラインコメント(//)とか//コンストラクタとか//デストラクタとか アルゴリズムだとかstaticばかりなのかとか
428 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 13:00:16 ] 421だが、飽きた。 他の人に任せた。
429 名前:デフォルトの名無しさん [2008/06/23(月) 13:00:43 ] 微妙ですがage
430 名前:425 mailto:sage [2008/06/23(月) 13:26:52 ] 期限だろ。字間違うなよ
431 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 13:29:51 ] 夏休みの宿題になっちまうなw
432 名前:デフォルトの名無しさん [2008/06/23(月) 14:03:54 ] [1] 授業単元:画像処理 [2] 環境 [2.1] OS:Linux [2.2] 言語:C言語 #include <stdio.h> #include <stdlib.h> int main( int argc , char *argv[] ) { unsigned short int ipi[256][32]; unsigned short int ipo[256][32]; FILE *fpi,*fpo; int i,j; if((fpi=fopen( "logo.gray" ,"rb")) == NULL) { printf("file open error\n"); exit(-1); } fread(ipi[0],sizeof(unsigned short int),256*32,fpi); fclose(fpi); for (j=0 ;j <256 ; j++){ for (i=0 ;i <32 ; i++){ if(127>ipi[j][i]){ ipo[j][i]=0; } else{ ipo[j][i]=255; } } } if((fpo=fopen( argv[2] ,"wb")) == NULL) { printf("file open error\n"); exit(-1); } fwrite(ipo[0],sizeof(unsigned short int),256*32,fpo); fclose(fpo); logo-bin.gray の境界点を抽出した画像を作成するプログラムを作成せよ。
433 名前:432 [2008/06/23(月) 14:07:01 ] return 0; }最後にこれを忘れてました。分かりにくくてすみませんが問題はこれです。 logo-bin.gray の境界点を抽出した画像を作成するプログラムを作成せよ。
434 名前:142 mailto:sage [2008/06/23(月) 14:27:47 ] >>142 ですがどうかよろしくお願いします。
435 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 15:02:30 ] >>415 何気に難しいな。セリフしか作れん
436 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 15:11:15 ] [1] 授業単元: C [2] 問題文(含コード&リンク):() kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7023.txt [3] 環境 [3.1] OS: (Windows/Linux/等々) Windows [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) Microsoft Visual Studio 2008 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 明日13:00まで [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) お願いします。
437 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 15:14:09 ] >>435 バッチファイルで書いた方が早い気がするw
438 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 15:23:43 ] /*未コンパイル 動作確認無し*/ #define N 7 #include <stdio.h> struct{int linkable[3];char *prompt; }scene[N]={ {1,3,5," [彼女]ねぇ挿れて"}, {0,2,4,"[貴方]麻呂のクソースくらえ〜"}, {1,3,5,"[彼女]もっと優しくぅ〜"}, {0,2,4,"[貴方]う〜きつい"}, {1,3,5,"[彼女]う〜固い"}, {2,4,6,"[貴方]出、出る〜"}, {7,7,7,"[彼女]駄目〜出しちゃ.汚れちゃう"}, } int main(void){ int i=0,j; wihle( i<N)[ printf("%s¥n",scene[i].prompt); do{ printf("Select which?[1,2,3]?");scanf( "%d¥n",&j); }while((j<1)&&(j>3)); i=scene[i].linkable[j]; } return 0; }
439 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 15:48:45 ] >>436 くそーすですが ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7024.txt
440 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 15:53:19 ] >>439 すまん、関数の名前間違ってたので修正 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7025.txt
441 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 15:54:10 ] >>439 微妙ですが我慢しておきます。
442 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:01:44 ] >>441 の優しさに世界が泣いた
443 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:11:09 ] こんなの書くような子じゃなかったんだけど...
444 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:13:59 ] トリ付けてないからなりすましの可能性も… 更に言うとこれも含めて自演の可能性もあるなww
445 名前:デフォルトの名無しさん [2008/06/23(月) 16:15:39 ] 1以上の正の整数の値をキーボードから入力し、1からNまでの和を求める プログラムをC言語で作成せよ。 また、1から999までの和はいくらか? お願いします。
446 名前:445 [2008/06/23(月) 16:21:31 ] 間違えた問題の続きです。 1+2+・・・+N=Σi あともうひとつ 1以上の正の整数の値をキーボードから入力し、1からNまでの2乗の和を求める プログラムをC言語で作成せよ。 また、1から100までの和はいくらか? 1の2乗+2の2乗+・・・+Nの2乗=Σiの2乗 これもお願いします。 問題分かりにくくてごめんなさい。
447 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:22:55 ] >>445 #include <stdio.h> int main(void) { int N; printf("入力"); scanf("%d", &N); printf("1から%dの和は%d\n", N, (1+N)*N/2); return 0; }
448 名前:445 [2008/06/23(月) 16:23:18 ] 誰か432をお願い!
449 名前:445 [2008/06/23(月) 16:25:44 ] >>447 ありがとうございます。
450 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:29:47 ] ずいぶんとレベルの違う宿題が出る授業だなw 小学校と大学院が校舎共有してるのか?
451 名前:デフォルトの名無しさん [2008/06/23(月) 16:32:35 ] 外径、内径、高さの値を入力して、中空円筒の体積を計算するプログラム をC言語で作成せよ。 #include<stdio.h> #include<math.h> main() { double pi,r1,r2,h,V; 途中までやりました。お願いです。
452 名前:447 mailto:sage [2008/06/23(月) 16:32:38 ] >>449 本当はforループで計算するのを求めていると思う
453 名前:445 [2008/06/23(月) 16:36:06 ] >>450 1年の授業と3年の授業ですw 432と446の問題を誰かお願いします。 期限は今週末です。
454 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:38:59 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク):() kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7023.txt [3] 環境 [3.1] OS: (Windows/Linux/等々) Linux [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 明日 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) ポインタ習ったばっかりです。 おねがいします。
455 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:40:02 ] >>432 "logo.gray"ってファイルは? 無くとも、もっと説明しなきゃ ”境界点を抽出”って意味は? "logo.gray"が無いと説明出来ないならUPしなきゃ
456 名前:454 [2008/06/23(月) 16:41:08 ] 問題文のリンク間違えました・・・ すいません ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7026.txt
457 名前:デフォルトの名無しさん [2008/06/23(月) 16:43:33 ] 次の関数を計算するプログラムを作成せよ。C言語で。 y=3エックス2乗+2エックス-6 これ簡単だからやってみそ!
458 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:48:13 ] お前がやれ。
459 名前:436 mailto:sage [2008/06/23(月) 16:50:45 ] >>440 ありがとうございます。 >>441 貴方は誰ですか?
460 名前:432 [2008/06/23(月) 16:54:17 ] >>455 境界点を抽出の意味は僕もよく分からないです。ほんとにちんぷんかんぷんです。 単元は2値画像処理というところです。
461 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:56:00 ] >>460 輪郭抽出って事? 2x2 sobel フィルタとか使うの?
462 名前:デフォルトの名無しさん [2008/06/23(月) 16:56:01 ] >>457 そんなこと言わないでさー やってよーん
463 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:57:14 ] >>457 意味不明なりよ
464 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:58:54 ] >>460 それじゃ、誰も出来ないだろw もっと説明がいるぞ "logo.gray"ってのは存在して、それの境界点抽出なのか それとも任意の2値画像なのか 友達でも誰でも良いから聞いてきなw
465 名前:432 [2008/06/23(月) 16:59:55 ] 輪郭抽出だと思います! 2x2 sobel フィルタは使わないと思います。 とにかくそういうc言語のプログラムを作成しろと言われて。 432を少し改良すればできると教授に言われました。
466 名前:432 [2008/06/23(月) 17:01:19 ] >>464 "logo.gray"は存在して、それの境界点抽出です!
467 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:06:34 ] >>457 y = 3*x*x+2*x-6;
468 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:16:00 ] >>466 なんだ?意図的にとぼけてるのか? それなら"logo.gray"をUPしなきゃ、誰も出来ないだろ って言ってるんだけど…
469 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:18:41 ] >>466 16.bitグレイスケール画像を作ってうp!
470 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:21:18 ] >>451 #include<stdio.h> main() { double pi,r1,r2,h,V; printf( "外径\n" ); scanf( "%lf", &r1 ); printf( "内径\n" ); scanf( "%lf", &r2 ); printf( "高さ\n" ); scanf( "%lf", &h ); pi = 3.14159265358979; V = (pi * (r1 / 2.0) * (r1 / 2.0) + h) - (pi * (r2 / 2.0) * (r2 / 2.0) + h); printf( "中空円筒の体積\n%f\n", V ); return 0; }
471 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:22:57 ] 1] 授業単元:授業じゃないんですが、質問スレがここしか分からなかったのでお願いします。 [2] 問題文(含コード&リンク): #include<stdio.h> int main(void){ int teika; printf("定価を入力してからENTERを押してください。\n"); scanf("%d",&teika); printf("1割引だと%4d円\n",(int)(teika*0.9)); printf("3割引だと%4d円\n",(int)(teika*0.7)); printf("5割引だと%4d円\n",(int)(teika*0.5)); printf("8割日だと%4d円\n",(int)(teika*0.2)); return 0; } このプログラムで、1000とかキリの良い数値を入力すると、3割引だけ1円だけずれた値が帰ってきちゃいます。 これってなんでですかね? [3] 環境 [3.1] OS:WindowsXP SP2かな? [3.2] コンパイラ名とバージョン:CPad for Borland C++Compiler Version 2.31 [3.3] 言語:C [4] 期限:無期限 [5] その他の制限:基礎は一通りやって、授業ではそれを応用して色々やらされてます。 が、ところどころ分からないので一人で最初から勉強し直してます。
472 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:25:48 ] [1] 授業単元: 実験 [2] 問題文 (1)ベクトルの内積を求めるプログラムを書け (2)3×3の行列の掛け算を行う関数を作り、標準入力から入力した行列を 掛け算するプログラムを書け (ヒント 2重配列が必要。 double matrix[3][3];) [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 6月26日まで [5] その他の制限: 特になし
473 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:25:48 ] >>471 切り捨てたいの?切り上げたいの?四捨五入したいの?
474 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:35:50 ] >>473 なんでもいいです。 参考にしてるサイトのやり方に従ってそこまで作りました。 やっぱ(int)が影響してるんですかね? と思って全部それ取って実数型にしたら直りました。 どんな原因なんでしょう…
475 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:42:35 ] >>474 浮動小数点数は条件が合わない限り小数ぴったりの数値を扱えないので 内部ではその数値に近い値に丸められている 0.7 はコンピュータ内部では 0.7 より小さな値で格納されていて 0.9 と 0.2 は少し大きな値になってるんだろう
476 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:58:49 ] >>475 やはりコンピュータ上の問題ですか。 プログラムの作り方を変えるとかしないと解決できないわけですね。 ありがとうございました。
477 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 18:04:56 ] >>453 アンカー付けろ テンプレ使え 数字は半角(まぁ全角でも困らないけどさ)
478 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 18:08:55 ] >>471 3割引だったら7倍してから10で割ってみてはどうだろう。 teika * 7 / 10
479 名前:デフォルトの名無しさん [2008/06/23(月) 18:12:32 ] >>415 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7027.txt 宿題っぽくしてみた。 入力されたデーターが不正な場合は飛ぶので、それがダメなら適当に直して
480 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 18:18:20 ] >>471 1円どっちにずれてる? 割る前に2円足すか1円引けばいいんじゃね?
481 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 18:20:06 ] >>480 定価を入力してからENTERを押してください。 1000 1割引だと 900円 2割引だと 800円 3割引だと 699円 4割引だと 599円 5割引だと 500円 6割引だと 400円 7割引だと 299円 8割引だと 200円 9割引だと 100円
482 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 18:22:46 ] >>481 round ceil floor のいずれを使ってもピッタリの数値になるのに キャスト(int)による型変換のときだけ1円ずれる めんどくせー
483 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 18:36:31 ] どなたか>>90 お願いします
484 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 18:46:59 ] >>478 なるほど。 そういう風にすればいいのですね。 ありがとう。 >>480 >>481 の通りです。 >>482 めんどいっすねw でも宿題じゃなくてなんとなく答えも見えたんでおkです! 皆様ありがとう。
485 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 18:51:51 ] >>446 いくらなんでも簡単すぎだろ。 丸投げしすぎ。