1 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 12:30:56 ] あなたが解けない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++の宿題を片付けます 108代目 pc11.2ch.net/test/read.cgi/tech/1211980711/
237 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:11:00 ] >>234 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6863.c
238 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:11:34 ] >>237 は取り消し。早とちりしとった・・・
239 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:13:05 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク):() クイックソートにより配列をソートするプログラムを作れ www2.uploda.org/uporg1474868.txt.html ネットを参考に書いたのですが、中途半端にしかソートされません どこが違うのか指摘お願いします [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2008/6/3まで [5] その他の制限: とくになし
240 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:13:52 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6862.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2008年06月12日18:00 [5] その他の制限:ポインタまで学習済み
241 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:19:03 ] >>234 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6865.c
242 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:19:19 ] >>234 #include<stdio.h> int main(void){ char *filename="data.txt"; FILE *fp; int i, data; double average=0.0; if(!(fp=fopen(filename, "r"))) return 1; for(i=1;i<=1000;i++){ if(fscanf(fp, "%d", &data)!=1) break; average=(average*(i-1)+data)/i; } printf("%f\n", average); return 0; }
243 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:21:16 ] [1] 授業単元:プログラム実習 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6866.txt [3] 環境 [3.1] OS:windowsXP [3.2] コンパイラ名とバージョン: VC6.0 [3.3] 言語: C++ [4] 期限:なし [5] その他の制限:なし 問題文はソースの上に記しています
244 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:22:29 ] >>242 一々平均計算しなおすのはどうかと思うぜ。
245 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:09:48 ] 【質問テンプレ】 [1] 授業単元:情報ネットワーク論 [2] 問題文(含コード&リンク): 基数変換プログラムを作成しなさい。 「元:2〜16進数(選択)→変換先:2〜16進数(選択)」 という基数の指定ができるようにすること [3] 環境 [3.1] OS:Window [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:6月19日まで [5] その他の制限:基数変換を行う関数や外部プログラム等を用いてはいけない プログラミング類はやらないと言われていたのに出てしまいお手上げです よろしくお願いします
246 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:15:57 ] >>240 1. #include <stdio.h> int chkmatch(char *t1, char *t2) { while(*t2) if(*t1++!=*t2++) return 0; return 1; } int main(void) { char t1[256], t2[256], *p; scanf("%s", t1); scanf("%s", t2); for(p=t1; *p; p++) if(chkmatch(p, t2)) break; printf("%s", *p ? "yes" : "no"); return 0; }
247 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:18:07 ] >>240 2. #include <stdio.h> int chkmatch(char *t1, char *t2){ while(*t2) if(*t1++!=*t2++) return 0; return 1; } char *findstr(char *t1, char *t2){ while(*t1) { if(chkmatch(t1, t2)==1) return t1; t1++; } return NULL; } int main(void){ char *p, *q, *tag, t1[256], t2[256]; scanf("%s%s", t1, t2); p = t1; while(*p) { tag = findstr(p, t2); if(tag == NULL) { while(*p++) putchar(' '); break; } while(p!=tag) { putchar(' '); p++; } for(q=t2; *q; q++, p++) putchar('^'); } return 0; }
248 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:20:39 ] >>240 3. #include <stdio.h> void swapmax(int *data, int num) { int temp, i, max_indx = 0; for(i=1; i<num; i++) if(data[i] > data[max_indx]) max_indx = i; temp = data[0]; data[0] = data[max_indx]; data[max_indx] = temp; } int main(void) { int data[10], i, n; scanf("%d", &n); for(i=0; i<n; i++) scanf("%d", data + i); swapmax(data, n); for(i=0; i<n-1; i++) printf("%d ", data[i]); printf("%d", data[i]); return 0; }
249 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:56:19 ] >>243 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6867.txt
250 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:02:48 ] >>245 文字列を整数に int my_strtol(char* str, int base) { int l, val; l = 0; while (*str) { if (*str >= '0' && *str <= '9') { val = *str - '0'; } else if (*str >= 'A' && *str <= 'F') { val = *str - 'A' + 10; } else if (*str >= 'a' && *str <= 'f') { val = *str - 'a' + 10; } // 16進数以外の文字が出たらそれまでの数値を返す else { return l; } // 基数以上の数値が出たらそれまでの数値を返す if (val >= base) { return l; } l *= base; l += val; str++; } return l; }
251 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:03:54 ] >>245 整数を文字列に int my_ltostr(int l, int base, char *str, int len) { int val, mod, i; val = l; i = 0; // 桁数を求める while (val) { val /= base; i++; } // 文字数オーバー if (i > len) { return -1; } str[i + 1] = '\0'; for (; i >= 0; i--) { mod = l % base; if (mod >=0 && mod <= 9) { str[i] = mod + '0'; } else if (mod >= 10 && mod <= 15) { str[i] = mod - 10 + 'A'; } l /= base; } return 0; }
252 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:07:08 ] うpロダ使え
253 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 21:28:14 ] 【質問テンプレ】 [1] 授業単元:自習 [2] 問題文(含コード&リンク): グレースケール化した画像の0〜3次までのモーメントMpqを求めたいです。 Mpq = ΣΣ((x-xx)^p)*((y-yy)^q)*f(x,y) xx = M10/M00 = ΣΣx*f(x,y) / ΣΣf(x,y) yy = M01/M00 = ΣΣy*f(x,y)/ ΣΣf(x,y) 数式の記述はこちらのほうが見やすかったです mikilab.doshisha.ac.jp/dia/research/person/shuto/research/0605/tokutyo.html [3] 環境 [3.1] OS: CentOS5.0 [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:6/14 [5] その他の制限: 特になし 使っている画像の種類はpgmです。 よろしくお願いいたします。
254 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 21:35:30 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):int a[4]={30,15,60,5}を昇降に並び替える。(ポインタ使用) [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 6月11日11:00まで [5] その他の制限: ポインタ・再帰まで学習済み。 関数部分でif文で左右を比較し、whileかfor文を用いて繰り返すことはわかったのですが、どう書いていいかわかりません。お願いします。
255 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 21:37:40 ] >>245 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6868.c 10進数をn進数に変換するのみ。10進数以外は適当に 一度10進数にしてから変換し直す仕組みでも作って下さい ><;
256 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 21:46:44 ] >>254 #include <stdio.h> #include <stdlib.h> static int cmp(const void*a, const void*b) { return *(int*)a < *(int*)b ? -1: *(int*)a > *(int*)b ? 1 : 0; } int main(void) { int a[4] = {30, 15, 60, 5}; qsort(a, sizeof a/sizeof *a, sizeof *a, (int(*)(const void*, const void*))cmp); return 0; }
257 名前:デフォルトの名無しさん [2008/06/11(水) 21:51:11 ] 1] 授業単元:C言語 [2] 問題文(含コード&リンク):西暦yy年mm月dd日と(文字には1から12の数字が入る)入力するとその日の昨日の日付と明日の日付 を出力するプログラムをつくれ ただし閏年については以下のプログラムを使うこと int isleap(int year) { return (year % 4 == 0 && year % 100 != 0 || year % 400 = 0); } [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: 来週まで [5] その他の制限: swich文は使わない方向でお願いします
258 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 21:52:03 ] >>256 できました ありがとうございました。
259 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 21:52:13 ] [1] 授業単元: 画像処理 [2] 問題文(含コード&リンク)課題:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6869.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2005 [3.3] 言語: C [4] 期限: 6月13日 [5] その他の制限: 特に無し 初歩的なことかも知れませんが どうかよろしくお願いします
260 名前:257 [2008/06/11(水) 21:54:11 ] 間違えました…… 閏年については以下のプログラムを使うこと→うるう年は以下の関数で判定すること
261 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:15:21 ] [1] 授業単元:C言語入門 [2] 問題文: 「キーボードから異なる実数を3つ入力し、大きい順に3つの値を 表示させるプログラム」をswitch文を用いて作成せよ。 「キーボードから数値を1つ入力し、実数か整数か自然数か判定し、 当てはまるものすべてを表示するプログラムを作成しなさい」 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 明朝7:00まで お願い致します。
262 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:40:53 ] >>261 適当 #include<stdio.h> int main() { double a[3], t; int i, j; for(i = 0; i < 3; i ++) scanf("%lf", a+i); for(i = 0; i < 3; i ++) for(j = i + 1; j < 3; j ++) if(a[i] < a[j]) { t = a[i]; a[i] = a[j]; a[j] = t; } for(i = 0; i < 3; i ++) printf("%g\n", a[i]); return 0; } ----------------------------------- #include<stdio.h> #include<math.h> int main() { double a, b; scanf("%lf", &a); printf("%gは実数です。\n", a); if(modf(a, &b) == 0) { printf("%gは整数です。\n", a); if(b > 0.5) printf("%gは自然数です。\n", a); } return 0; }
263 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:43:54 ] マジでうpロダ使え・・・
264 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:50:24 ] >>261 携帯からなんで1のヒントだけ switch((a>b)+(b>c)*2+(c>a)*4)
265 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:55:45 ] >>257 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6870.c
266 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:59:53 ] >>260 >>257 return (year % 4 == 0 && year % 100 != 0 || year % 400 = 0); 明らかに括弧の位置と、 year%400 == 0 の部分が間違っているんで訂正
267 名前:261 mailto:sage [2008/06/11(水) 23:21:54 ] >>264 switchの中がそんな事に・・・どうなるのか見当がつかないです
268 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 23:30:22 ] >>259 画像処理のことはあまりわからんので、ちょっと質問。 ・グレースケールの画像を使うと書いてあるが、読み込んだRGBの値がバラバラの場合、輝度はRGBの平均値でおk? ・ヒストグラムの形式は何でもいい?例えば、N=8だったらこんな感じ? 0: ***** 32: ************ 64: ******* 96: ******************** 128: *************************** 160: *************** 192: **** 224: **
269 名前:デフォルトの名無しさん [2008/06/11(水) 23:41:30 ] [1] 授業単元:プログラミング基礎 [2] 5人の学生の3教科(国語・数学・英語)の点数を2次元配列を用いて次の二つ の処理を実行するプログラムを作成せよ @科目別の最高点を求める A各学生の平均点を求める [3] 環境 [3.1] OS:Windows vista [3.2] コンパイラ名とバージョン: borland5.5.1 [3.3] 言語:C [4] 期限: 2008年6月12日中 [5] その他の制限: 特になし よろしくお願いします
270 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 23:56:27 ] >>268 自分がいまいちわかってないので自信がないのですが グレースケール画像の各成分の輝度値を量子化する以外は 平均値をとるなどの指示はないです。 ヒストグラムの方は後でエクセルで処理をするので 値をテキストファイルに保存できればいいです。
271 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 00:05:02 ] >>253 pgm形式、rawとascii、2つのモードがあるですが。両方対応ですか?
272 名前:257 [2008/06/12(木) 00:13:26 ] >>265 >>266 こんなに早くしてくれるとは マジで助かりました ありがとうございます
273 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 00:43:55 ] >>269 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6872.txt エラーチェックもしてないし 終了もしてないけどおやすみなさい。
274 名前:デフォルトの名無しさん [2008/06/12(木) 00:48:23 ] >>228 勘違いしていたのでもう一度書き込みします。 [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 1.0/1による8桁の2つの2進数入力に対して,それらの和を2進数表現で求め,その2進数表現を出力せよ. このとき,2ビットの論理和,論理積,排他的論理和を求める関数,および,これらを用いて2進数1桁の加算を行う全加算器の機能を関数で実現すること. なお,確認を容易にするため,入力と出力の各2進数に対する10進数表現も出力すること. さらに2の補数を用いて負の数も扱えるように拡張せよ. 2.2つの2進数の差を求めるプログラムを作成せよ. 3.任意の(変数や定数で指定した)桁数の2進数を扱えるようにせよ. [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:VC 6.0 [3.3] 言語:C++ [4] 期限:2008年06月11日まで [5] その他の制限:1については 2の補数を用いて負の数も扱えるように拡張する前までは作ることができたのでうpしておきます。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6853.txt よろしくお願いします。
275 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 00:54:05 ] レスが遅れて申し訳ございません 前スレの pc11.2ch.net/test/read.cgi/tech/1211980711/753-756 有り難う御座いました 勉強させて頂きます
276 名前:デフォルトの名無しさん [2008/06/12(木) 01:15:08 ] >>274 です。 [4] 期限:2008年06月12日までですが最終16日まで大丈夫です。
277 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 02:02:12 ] えっ?クソアッー!は両方一致、すなわち a==b のとき 0 を返し 一致しない場合は 1 を返せばおk、だったかと。
278 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 02:23:07 ] >>239 流れてたんであげなおします kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6873.txt よろしくお願いします
279 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 02:34:38 ] >>259 ,270 Dll_BMP_C.h とかいうファイルがないので動くかどうかわからんが とりあえずExcelで読めるようCSVで出力するようにした kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6875.txt
280 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 02:57:18 ] >>239 釣りっぽい気もするけど、とりあえずtyuuouの後半が間違ってんじゃん
281 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:19:27 ] >>274 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6876.c > さらに2の補数を用いて負の数も扱えるように拡張せよ. 先頭の桁が1なら負にするようにしてあるけど、それは 10進数に変換するときの計算結果でやってます。 > 2.2つの2進数の差を求めるプログラムを作成せよ. これはやってない。
282 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:20:20 ] >>281 あぁ、あと free してなかった、すまそ。
283 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:21:38 ] [1] 授業単元:C言語基礎 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6877.txt [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:VC6.0 [3.3] 言語:C++ [4] 期限: [5] その他の制限:問題文上部に記載 よろしくお願いします
284 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:34:27 ] >>283 問題文上部を理解することのなんと困難なことか!
285 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:39:28 ] [1] 授業単元:プログラミング技術 [2] 問題文(含コード&リンク): 文字列を反転させて表示するプログラムを作成せよ。 ここでの”反転”とは例えば”Program”という文字列を入力したら ”margorP”と出力するものである。 (実行例) 文字列を入力せよ:Program 反転した文字列:margorP 単純な配列の並び替えでOKです、文字の長さを調べるstrlenの使用可。 ただし終端文字をどのように扱うかは注意。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C言語 [4] 期限:本日6/12 午後1時までにお願いします。 当方strlenで文字列カウントして、その後どうすれば文字列を反転させられるのかが分かりません。
286 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:43:03 ] >>283 どうすりゃいいの input()をメンバ関数で持っていいの?
287 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:45:08 ] いいよ!
288 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:46:39 ] >>285 >>211
289 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:50:45 ] >>279 参考にさせてもらってどうにかできました! 本当にありがとうございます〜 助かりました
290 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:13:27 ] >>288 ??? strlenも使ってないし、分からない関数だらけでC言語なんでしょうか?
291 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:20:10 ] #include <stdio.h> int main(void) { char *p, str[256]; printf("文字列を入力せよ:"); scanf("%s", str); for(p=str; *p; p++); printf("反転した文字列:"); while(p-- > str) putchar(*p); return 0; }
292 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:20:23 ] >>210 > いらんもんを付け足すほうがアホだろ。 勝手にお前が要らんって思っているだけで、本当は必要なものだよw バーカ、gdgd知ったか無知を晒す前にこのスレに来るな、来ても 発言せずにROMってろ、クズ
293 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:22:10 ] >>285 #include <stdio.h> #include <string.h> int main(void) { char buf[80], t; int i, len; printf("文字列を入力せよ:"); gets(buf); len = strlen(buf); for (i = 0; i < len / 2; i++) t = buf[i], buf[i] = buf[len - i - 1], buf[len - i - 1] = t; printf("反転した文字列:%s\n", buf); return 0; }
294 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:25:18 ] Cには暗黙の型変換があるからキャストする必要はない。 sizeof(char)は1であるので省略可能。 どちらもあってもなくても問題はない。
295 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:25:32 ] >>210 ソースも書かない、知ったような口を聞いているお前が言うと笑えるw
296 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:27:20 ] >>294 > どちらもあってもなくても問題はない。 ダウト。適切か不適切か、考えたら普通はそんなことは言わない。 そもそも、char型が単に1バイトだから、たまたま都合よく通っただけ。 本来あれを正式な場所でやった場合、不適切とされ、どんな言い訳をしても 知らなかったと駄目だしをされるだけだよ。これだから ド素人 は口を閉じてろって 言われるんだよw
297 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:29:20 ] >>291 ありがとうございます、ただ*pがどういう意味なのか分からなかったです。 >>293 こちらもありがとうございます、これなら当方にもちゃんと分かります。 とても参考になります。
298 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:29:21 ] >>294 キャストの場所を勘違いしていないか?にしても、mallocの前に 記述していないのは大減点。おまけに、そこじゃなくて fseekの0Lについてでは?これについても問題はなかったにしろ どちらも問題が無かっただけで、コードとしては完全に不適切。 だから要らん口出しはしない方が、自分が無知、バカだと露呈せずに済むよw
299 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:29:34 ] このスレにどうぞ sizeof(char)が必ず1でも、省略すべきではない pc11.2ch.net/test/read.cgi/tech/1187521586/
300 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:33:43 ] 関数へ与える値が、型を宣言した変数の識別子ではなく 定数という点で、long型の変数に引き渡すことになっているため ほとんどの資料には後ろにLを記述しているものが見られるよ。 中には書いてないものもあるが、符号無しでUをつけるように いくら暗黙のキャストがあろうが、適切なコードに対して 蛇足 なんて知ったかぶるからバカにされるんだよ。そんな知ったかが 適切な記述を蛇足って言うなら、そいつは本当に必要なものに対しても 蛇足と思い込んでいるだろうね。これだから視野の狭い奴は相手にならねー
301 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:35:05 ] なんでこんな時間に蒸し返してまで顔真っ赤なんだろ
302 名前:デフォルトの名無しさん [2008/06/12(木) 04:49:44 ] >>281 様。ありがとうございます。
303 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:57:59 ] 蛇足でもないのにアホとか、発言したがために無知を晒したアホが 言うと笑えねーな・・・少なくとも>>210 はプログラマには向いてない。 些細なことでイラついて、ムッキーポッポーで、業界に入っても 淘汰されて下手すりゃ排除されるよ。あぁ恐ろしや恐ろしや。
304 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 05:01:09 ] さすがにpowに渡すからってループ変数をdoubleにしたキチガイは言うことが違うw
305 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 05:20:06 ] ループ変数がdoubleでも小数点以下を使わなければ 桁落ち誤差が累積する事はない
306 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 05:26:52 ] 円の中心に原点をおくと、格子点はi,jを整数として座標(i,j)で表される。(i,j)が円環に含まれる場合に1,含まれない場合に0を返却する関数 is_inrarge(double r, int i, int j) を作成し というところまでを自分でr、i、jを入力する方法でやって #include <stdio.h> #include<math.h> #include<stdlib.h> int main(void) { int r,i,j; printf("r,i,j ="); scanf("%d,%d,%d", &r,&i,&j); printf("%d,%d,%d \n",r,i,j); inrange(); return 0; } int inrange(double r,int i, int j) { double o,p,q; o=r*r; p=(i*i+j*j); q=(r+1)*(r+1); if (q >= p && p>o){ printf("1"); }else{ printf("0"); } } ここまでやって5時間かけてもどうにもうまくいきません。 vista vc05ですけど関係ないような気もします。 誰か教えてください。
307 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 05:29:11 ] 途中の↓はどうにも行かなくて確認で入れてみたら 代入した直後の数字とは別の数字が出ます。 printf("%d,%d,%d \n",r,i,j); わけがわかりません
308 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 05:39:07 ] >>307 //inrange() としてもう一度確かめてみそ
309 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 05:42:14 ] [1] 授業単元: プログラミング技術V [2] 問題文(含コード&リンク): 任意の文字列を配列に読み込み、その中に出てくる特定の文字列を指定した文字列に置き換えるプログラムを作成せよ。 (実行例) 文字列を入力せよ : kadai no teisyutukigen ha mamore 置き換え元を入力せよ : kadai 置き換え後を入力せよ : report 結果 : report no teisyutukigen ha mamore [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: cygwin gcc [3.3] 言語: C言語 [4] 期限: 本日午後2時までにお願いします。 [5] その他の制限: 空白ごと読み込む方法はgetchar命令、もしくはfgets命令を用いるとよい。
310 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 05:58:41 ] >>305 pow関数にdouble渡してカウンタにしてたってーのは知らないけど 情報落ちも考慮するとdoubleは異常
311 名前:デフォルトの名無しさん [2008/06/12(木) 06:01:42 ] >>309 入力:111 置き換え元:11 置き換え後:aa 結果:aa1 結果:1aa どっち?
312 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 06:02:22 ] double d=(double)10000000000000,e=(double)0.0; while( e<d ) e+=(double)1.0; このコードは停止するか?
313 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 06:06:23 ] >>311 最初に見つかった方をするようにお願いします。 結果:aa1
314 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 06:45:29 ] >>304 お前が相当な馬鹿だということが分かった・・・っつか、お前の言っていることって 言わなきゃ良いことばかりだよ?かなりあほだな・・・進路を変えろ、基地外
315 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 06:47:54 ] ttp://www.bohyoh.com/CandCPP/C/Library/pow.html double pow(double x, double y); 知った無知の基地外は、自分基準で相手を罵倒することに 専念するだけだから困る。しっかりと資料を提示するなり 見れば無駄口を叩くこともなかっただろうに。 適切な取り扱いを知らない奴は、こういった業界では 絶対に通用しない。
316 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 06:54:33 ] [1]授業単元:プログラミング基礎論 [2]ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6878.txt [3]環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:borland c++5.5 [4] 期限:来週の月曜日 [5] その他の制限:関数まで習いました ぜんぜんわからないのでよろしくお願いします
317 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 07:33:40 ] >>306 入力するとき,で区切って入力してないってオチじゃない?
318 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 07:40:04 ] >>316 #include <stdio.h> int my_tolower(int ch) { if('A'<=ch && ch<='Z') ch += ('a' - 'A'); return ch; } int main(void) { char str[256]; int i, len; scanf("%s", str); for(len=0; str[len]; len++); printf("文字列の長さ:%d\n", len); for(i=0; i<len; i++) str[i] = my_tolower(str[i]); printf("大文字を小文字に変換した文字列:%s\n", str); for(i=0; i<len / 2; i++) if(str[i]!=str[len-1-i]) break; if(i==len/2) printf("回文です\n"); else printf("回文ではありません\n"); return 0; }
319 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 08:01:11 ] >>309 文字列を複製する関数:strcpy(str1,str2,n) 文字列の長さを返すかんすう:strlen(str1) 文字列をn文字比較する関数:strncmp(str1,str2,n) 文字列str2をstr1のあとの連結する関数:strcat(str1,str2) を使うなど、このレベルでプログラムを組んでいただけると助かります。
320 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 08:32:23 ] [1] 授業単元:アルゴリズム [2] 問題文(含コード&リンク): PNMという画像フォーマットを用いるとprint文で文字コードを出力することで 画像が作成できる。 (説明例:a-gamyl.hp.infoseek.co.jp/Clang/pnm_read.html ) これを用いて任意の画像を作成する。2次元の配列変数x,y座標を持つ平面に見立てて 画像を構成することが可能である。例えば画像の大きさ256x256の大きさとして 中央の(128,128)の場所に赤い点をひとつだけ打つには以下のようなプログラムになる。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6879.txt 以下のように直接出力してみよう。 $ cc en5-3.c $ ./a.out > test.ppm 出来上がったtest.ppmというファイルをファイルブラウザで開いてみると 中央に赤い点が打たれているのが分かる。どのようなデータが書き込まれているかは プログラムの最後のfor文を見ていただきたい。 (課題) ・sin派を描いた画像を作成するプログラムに変更せよ。 ・円を描いた画像を作成するプログラムに変更せよ。 ・うずまきを描いた画像を作成するプログラムに変更せよ。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C言語 [4] 期限:無理を承知で後日6/12 午後2時までにお願いします。
321 名前:デフォルトの名無しさん [2008/06/12(木) 09:03:24 ] >>206 の老婆心 つまり、処理系によって、ちゃんと解釈してくれないよ という忠告は 小さな親切余計なお世話 というのが>>207 で女々しい口喧嘩を繰り返すと。 要するにだ、207がちゃんとキャストをするなりしてコードを書いて 206がそれをハンディコンパイルすればそれで済む話 (できれば207がコードを実行すれば尚良い)
322 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 09:08:45 ] >処理系によって、ちゃんと解釈してくれないよ Cの規格読み直せw
323 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 09:20:41 ] ×小さな親切余計なお世話 ○小さな親切大きなお世話
324 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 09:23:04 ] このスレレベルの「案件」では自分のコンパイラで動作確認さえ取ってさえいれば いいんじゃないのか?(自分のコンパイラで動作確認もとってないのにソース上げるのは論外だけど) どんな処理系でも動作するポータビリティなんて要求されてないし、 仮に要求してきたにせよ宿題丸投げの要求なんて無視していい というか、そんなウィルスコードここに貼るな。
325 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 10:24:27 ] >>324 だからといってなコードは削ればいいという思想もウィルス
326 名前:デフォルトの名無しさん [2008/06/12(木) 10:29:39 ] >>318 様 ありがとうございました!
327 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 10:36:54 ] このスレとしては ×自分のコンパイラ ○テンプレ[3]で指定されている環境 まぁ適当に書いてもだいたい通るから大丈夫だけど
328 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 10:46:12 ] 205は適当でも処理系依存でもなくきちんと規格に準拠したコードなのになw
329 名前:デフォルトの名無しさん [2008/06/12(木) 10:54:15 ] ソースコード読むのは人間だろ 解析するのがコンパイラ
330 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 13:25:47 ] >>306 なんだ、まだ5時間しか考えてないのか、というのはヤボですかね。
331 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:21:05 ] >>328 >>205 char *buf; buf = malloc(size); int main()
332 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:23:17 ] あーあ・・
333 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:26:55 ] ttp://www.bohyoh.com/CandCPP/FAQ/FAQ00042.html ttp://www.bohyoh.com/CandCPP/FAQ/FAQ00042.html とりわけ「準拠」というなら、何に?ANSI、ISO準拠なら int mainについても蛇足とは言わない指摘がされるぞ。 だから無知は黙ってろって言われるんだよw 何に対して、何を元に指摘されているかわかってないんだろ。 資料を読んでから意見しろ。ルールブックも読まない奴が 勝手に自分ルールでそれは要らないよ、従っている人に 蛇足だよ、無駄だよなんて言っても通じない。
334 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:45:23 ] C#は取り扱っていませんか?
335 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:47:03 ] >>334 スレはあるようだけど過疎ってるなw C#,C#の宿題片付けます。 pc11.2ch.net/test/read.cgi/tech/1197620454/
336 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 15:01:03 ] >>335 誘導ありがとうございます。 31に書き込んだのでどなたかよろしくお願いします
337 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 16:32:57 ] [1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク):() kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6881.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まで] または [無期限] のいずれか) 6月16日 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 特にありません。よろしくお願いします。