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/
64 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 21:28:25 ] >>56 vistaでの日本語文字コードって何だっけ? Shift-jis と仮定してよいなら、 int c; while ((c = getchar()) != EOF) { if (c & 0x80) { putchar(c); c = getchar; } else if (islower(c)) c = toupper(c); else if (isupper(c)) c = tolower(c); putchar(c); }
65 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 21:29:35 ] >>60 最適解を求めることができればそれはとてもすごいことだということは 分かるが、自分の思いつく範囲で可能な限りたくさん、というのを 試しているのだと思うよ。 a b がともに2*cよりも大きい →円は1個でき、(c*c*PI)*100/(a*b) パーセント という、とても稚拙なものであっても、とりあえず要求は満たされてるんだよ ということで、>>20 にはがんばってもらいたい。
66 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 21:31:21 ] getchar; -> getchar(); orz
67 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 21:34:39 ] [1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク):() kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6846.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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 明日以降でも提出はできるのですが、一応期限は今日までなのでよろしくお願いします。
68 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 21:35:55 ] >>67 たぶん前スレとかによく似たのがあるよ。 今日中ってのもアレな話だけど、がんばれ。
69 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 21:40:52 ] 誰も見ていないし更新もされていないだろうwikiにスタック載ってるなw
70 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:07:40 ] >>41 ありがとうございます!
71 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:08:54 ] [1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク):() kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6847.txt [3] 環境 [3.1] OS: (Windows/Linux/等々) Windows [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) ChSciTE [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 今日中 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) ファイル読み込み、書き込み
72 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:15:12 ] >>68 前スレっていうと自分の頼んだ課題かもしれません。前スレでも依頼したので・・ 長くて面倒そうだからやってもらえないのかもしれませんが、どうにかよろしくお願いします。。
73 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:32:55 ] >>71 ですが、 コンパイラはBorlandCでもいいです。
74 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:43:09 ] >>72 pc11.2ch.net/test/read.cgi/tech/1211980711/866 この人?なら回答してくれてない? 既に依頼済みならあらためてアップロードしてる意味がちょっと 分からないです。しかも必要な内容削られてるし。。。なぜ。。
75 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:45:27 ] >>74 その通りです。 1つ目の課題はやってもらったのですが、 もう一つの課題が残っていまして・・それが>>67 なのです。。
76 名前:74 mailto:sage [2008/06/09(月) 22:45:59 ] ちゃんと動いたって報告してるしやっぱり違う人でしょかー。 例題のソースからもコメントがばっさり抜かれてるし、どういうことだろう。
77 名前:67 mailto:sage [2008/06/09(月) 22:46:15 ] ちなみに・・長すぎると読むのが面倒かなと思って、短く削ってアップロードし直しました。
78 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:53:22 ] >短く削って 何を削っていいか判断できるぐらいなら宿題も自分で解けるだろw
79 名前:67 mailto:sage [2008/06/09(月) 22:58:26 ] >>78 プログラミング上級者のここのスレの方達だと、例題のコメントや余計な制約は邪魔なだけかなと思って削らせていただきました。 何分実力不足なので、私自身の力では無理です。。力を貸して下さい
80 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:59:57 ] [1]プログラミング [2]問題文 画面に「こんにちは」と表示して改行する、void hello(void)関数を作る。 [3-1]windows [3-2]gcc [3-3]C言語 [4]明後日まで。 よろしくお願いいたします。
81 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 23:01:19 ] >>80 void hello(void) { printf("こんにちわ\n"); return; }
82 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 23:04:05 ] >>79 上級者(ってなんだ?)になればコメントが不要になるか? →必要 制約を無視していいか? →よくない ということなんで、素直に kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6813.txt の課題2をお願いしますって言っとけばよかったのに。 むやみにアップロードして資源を使うこともないよ。
83 名前:67 mailto:sage [2008/06/09(月) 23:06:06 ] >>82 そうですね、すいません。余計なことをしてしまいました。。 これからは気をつけます。
84 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 00:31:55 ] >>59 回答するつもりも無いならレスする必要(ry こうですか?わかりません>< この言い方古いのかな
85 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 00:33:55 ] >>84 っつーか2重ループの回答あがってるし、 どうでもいい
86 名前:21 mailto:sage [2008/06/10(火) 01:56:32 ] >>36 確認しましたが、特に指定はないとのことです… 曖昧な返答で申し訳ありません。どうかよろしくお願いします。
87 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 01:58:16 ] 制約を守らないのにループを残した>>57 はなんだ? どうせならこうするがね。 int main(void){ int n=0; scanf("%d",&n); printf("%d\n", n*(n+1)*(n+2)/6); return 0; }
88 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 02:01:11 ] >>19 お願いします。できれば今日中に・・・
89 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 02:09:47 ] >>86 forkを使って、fork1.c fork2.cそれぞれから生成される実行体を 外部プロセスとして呼び出すのですか? という意図の質問をしてしまったのであれば、前回の課題を実力で 解答したのではないことがばれたかと。 理解しなかったっしょ。もったいない。
90 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 02:42:29 ] >>88 アフィン変換とかでぐぐってみればどうだろう。
91 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 03:28:18 ] [1] 授業単元: C言語入門 [2] 問題文(含コード&リンク): 二つの整数値を入力したら最大公約数を表示してくれるやつ作れ [3] 環境 [3.1] OS: windows [3.2] borland c++ 5.5.1 [3.3] 言語: C 自分で作ってみたのですがうまく動きません どこが間違ってるんでしょうか? #include <stdio.h> int main (void) { int x,y,z=0,i=1; printf("二つの整数を「,」で区切って入力してください:"); scanf("%d,%d",&x,&y); while(i==1){ if(x>y) z=x-y; if(x<y) z=y-x; else break; } printf("最大公約数は%d\n",z); return 0; }
92 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 03:50:48 ] >>91 です 意味ないかもしれませんが 正解に近づいたかもしれないので貼ってみます #include <stdio.h> int main (void) { int x,y,a,b; printf("二つの整数を「,」で区切って入力してください:"); scanf("%d,%d",&x,&y); a=x; b=y; while(a!=b){ if(a>b) a=a-b; if(a<b) a=b-a; } printf("%d%dの最大公約数は%d\n",x,y,a); return 0; }
93 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 03:52:44 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク):() kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6849.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まで] または [無期限] のいずれか) 明日 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 無し お願いします。
94 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 04:12:00 ] #include <stdio.h> int main(void) { int i, j, count[11] = {0}, n; while(1) { scanf("%d", &n); if(n==-1) break; if(0<=n && n <= 100) count[n/10]++; } for(i=0; i<10; i++) { printf("%3d -%3d %d人 ", i*10, i*10 + 9, count[i]); for(j=0; j<count[i]; j++) putchar('*'); putchar('\n'); } printf("100 %d人 ", count[10]); for(j=0; j<count[10]; j++) putchar('*'); putchar('\n'); return 0; }
95 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 04:16:28 ] >>92 #include <stdio.h> int main (void) { printf("二つの整数を「,」で区切って入力してください:"); scanf("%d,%d",&x,&y); int a,i; if (x>y) { for (i=1;i<=y;i++) { if (y%i == 0) { if (x%i == 0) a = i; } } } else { for (i=1;i<=x;i++) { if (x%i == 0) { if (y%i == 0) a = i; } } } printf("%d%dの最大公約数は%d\n",x,y,a); return 0; }
96 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 04:19:57 ] >>93 発展 #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { int i, j, count[11] = {0}, n; srand(time(NULL)); while(1) { n = rand() % 102 - 1; if(n==-1) break; count[n/10]++; } for(i=0; i<10; i++) { printf("%3d -%3d %3d人 ", i*10, i*10 + 9, count[i]); for(j=0; j<count[i]; j++) putchar('*'); putchar('\n'); } printf("100 %3d人 ", count[10]); for(j=0; j<count[10]; j++) putchar('*'); putchar('\n'); return 0; }
97 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 04:43:15 ] >>95 ありがとうございます
98 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 04:55:23 ] while(a!=b) { while(a > b) a -= b; a = a + b; b = a - b; a = a - b; }
99 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 04:56:26 ] >>92 ,で区切る意味が全く分からない 再帰を使わずに作ると #include <stdio.h> int gcd(int a, int b); int main(void){ int x, y, z; scanf("%d", &x); scanf("%d", &y); z = gcd(x, y); printf("%d\n", z); } int gcd(int a, int b){ int c; while (b > 0){ c = a % b; a = b; b = c; } return a; }
100 名前:22 mailto:sage [2008/06/10(火) 05:12:14 ] 結構プログラムを書き換えましたが、以前さっぱりです・・・ いつでもいいので、どうかよろしくお願いします。 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6850.txt
101 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 05:43:56 ] >>21 #include <sys/types.h> #include <sys/wait.h> #include <stdio.h> #include <unistd.h> int main(void) { pid_t c[2], p; int s; switch (c[0] = fork()) { case -1: perror("fork"); break; case 0: execlp("./fork1", "fork1", NULL); perror("fork1"); _exit(1); /* NOTREACHED */ default: break; } switch (c[1] = fork()) { case -1: perror("fork"); break; case 0: execlp("./fork2", "fork2", NULL); perror("fork2"); _exit(1); /* NOTREACHED */ default: break; } while (c[0] != -1 || c[1] != -1) { int i; if ((p=wait(&s)) == -1) { perror("wait"); break; } else for (i = 0; i < 2; i++) if (p==c[i]) { if (WIFEXITED(s)) printf("fork%c exit(%d)\n", i+1, WEXITSTATUS(s)); else if(WIFSIGNALED(s)) printf("fork%c killed(%d)\n", i+1, WTERMSIG(s)); c[i]=-1;break; } if (i==2) {fprintf(stderr, "?\n"); break;}} return 0; }
102 名前:101 mailto:sage [2008/06/10(火) 05:45:59 ] どうして 「backslash n」が消えるんだ???
103 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 05:57:44 ] >>102 ソースを貼るのには適さないんだし、行が多い場合はテキストファイルを ここ用のロダにあげなよw
104 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 10:17:36 ] 学科の出席簿作成。 15人分の学生を表示し、入力により内容を変動させる。 表示順番:出席表 <入力>学生番号0〜14 <入力>曜日番号0〜6 <入力>時限番号0〜3 <入力>出欠番号0〜1 <入力>学生番号0〜14の時に99を入力するとプログラム終了。
105 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 10:17:59 ] ここまでは自力でできた。 #include <stdio.h> int main() { int gakusei,youbi,jigen,syukketsu; printf("学生Noを入力してください----"); scanf("%d", &gakusei); printf("曜日番号を入力してください----"); scanf("%d", &youbi); printf("時限番号を入力してください----"); scanf("%d", &jigen); printf("出欠番号を入力してください----"); scanf("%d", &syukketsu); if(gakusei=99){ printf("学生番号は99以外の数字を入力してください。\n"); } if(gakusei>=0||gakusei<=14 || youbi>=0||youbi<=6 || jigen>=0||jigen<=3 || syukketsu>=0||syukketsu<=1){ printf("学生No%d\n",gakusei); printf("月曜日\n"); printf("時限番号%d\n",jigen); printf("出欠番号%d\n",syukketsu); }else{ printf("エラーです\n"); } return 0; }
106 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 12:05:18 ] >>101 forkしてexecか。なる。 出題者じゃないが勉強になった。
107 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 12:20:46 ] そういう事柄に関しては 小耳に挟んだ ということと 勉強になったということは 根本的に違うということは区別しようね。
108 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 12:28:22 ] それにして、インデントがないと、ソースが読みにくい(><)
109 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 12:33:35 ] まあ手元ソース書く場合はメモ帳とか使うんだろうからせめて TAB1個->全角スペース3個とかで置換かけてから投下しようよw それがあれならアップローダーにあげるとかさ・・・
110 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 12:33:57 ] >>5 の問題の補足なんですが 円の中心に原点をおくと、格子点はi,jを整数として座標(i,j)で表される。(i,j)が円環に含まれる場合に1,含まれない場合に0を返却する関数 is_inrarge(double r, int i, int j) を作成し、これを用いて、半径Rをキー入力することでn(R)を表示するプログラムを作成しなさい。 とのことなのでこれを踏まえてもう一度この問題の解答をお願いします。
111 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 12:53:24 ] >>109 全角はねーよw
112 名前:デフォルトの名無しさん [2008/06/10(火) 13:05:53 ] [1] 授業単元: C++ [2] 問題文キーボードから2以上の整数を入力し、その数が素数であるかどうかを判断するコードを記述せよ。 ただし入力される数値が2以上でない場合、繰り返し入力を求めること。[3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: (gcc 3.4 ) [3.3] 言語: C++ ([[4] 期限:今日の5時mで [5] その他の制限:なし
113 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:07:32 ] >>110 #include <stdio.h> int is_inrange(double r, int i, int j) { return r * r >= i * i + j * j; } int main(void) { int i, j, r, count = 0; scanf("%d", &r); for(i=-(r+1); i<=r+1; i++) { for(j=-(r+1); j<=r+1; j++) { if(is_inrange(r+1, i, j)&&!is_inrange(r, i, j)) count++; } } printf("%d", count); return 0; }
114 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:08:44 ] そういうオープンな問題が出るわきゃないだろ 出した講師か教師が糞 2^2^1024-1が素数かも判定しなきゃならなくなる罠
115 名前:ルート mailto:sage [2008/06/10(火) 13:11:11 ] [1] 授業単元: プログラミング C言語 [2] 問題文(含コード&リンク): 【課題】 BMPファイルを読み込み、以下の処理を行って下さい。 @2値化(白黒画像) 閾値は指定できること Aディザ法による2値化 B誤差拡散法による2値化 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: VC++ [3.3] 言語: C [4] 期限: 〜6月13日0:00 [5] その他の制限: 無い
116 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:12:25 ] なんか、ここを見てるとプログラミングを嫌いにさせたいのか と思うような出題内容が多いよな。 まあIT業界は悲惨なので学生時代に嫌いにさせておいて 就職口から外す講師の親心なのかもしれないけどw ってそれはねーかw
117 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:18:15 ] 口だけクンががんばってるなw
118 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:19:34 ] @ [1] 授業単元: C++ [2] 問題文 キーボードから2以上の整数を入力し、その数が素数であるかどうかを判断するコードを記述せよ。 ただし入力される数値が2以上でない場合、繰り返し入力を求めること。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C++ [4] 期限: 6月10日 [5] その他の制限: なし A [1] 授業単元: C++ [2] 問題文 直角三角形の表示を行うフローチャートは左下が直角の直角三角形を表示するプログラムであった。直角が左上側、右上側、右下側の三角形を表示するプログラムをそれぞれ作成せよ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C++ [4] 期限: 6月17日 [5] その他の制限: なし お願いします。
119 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:24:22 ] 書くだけクンが大きなこと言えるのかなw
120 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:24:34 ] >>112 #include <iostream> int main(void) { int n, flag = 1; do { std::cout << "2以上の整数を入力してください:"; std::cin >> n; }while(n < 2); for(int i = 2; i*i<=n; i+=2) { if(n % i == 0) { flag = 0; break; } } std::cout << n << "は素数" << (flag ? "です" : "ではありません") << std::endl; }
121 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:32:01 ] 2以上の素数を入力して下さい 15 15は素数です
122 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:32:56 ] ミスった i+=2 → i++
123 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:33:47 ] >>118 #include <iostream> int main() { int i, j, n; std::cin >> n; //左上 for(i=n; i>0; i--) { for(j=i; j>0; j--) std::cout << '*'; std::cout << std::endl; } //右下 for(i = 0; i<n; i++) { for(j=1; j < n - i; j++) std::cout << ' '; for(j=0; j<=i; j++) std::cout << '*'; std::cout << std::endl; } //右上 for(i=0; i<n; i++) { for(j=0; j<i; j++) std::cout << ' '; for(j=n; j>i; j--) std::cout << '*'; std::cout << std::endl; } }
124 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:44:20 ] 2以上の素数を入力して下さい:2 2は素数ではありません
125 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:50:00 ] >>124 バカ発見
126 名前:デフォルトの名無しさん [2008/06/10(火) 14:02:11 ] [1] 授業単元: プログラミング C言語 [2] 問題文(含コード&リンク)課題:ファイル"test.txt"から文字列を読み込み、並びを逆にしてファイル"sample.txt"に出力するプログラムを作成せよ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2005 [3.3] 言語: C [4] 期限: 〜6月11日11:00 [5] その他の制限: ポインタを使う
127 名前:110 mailto:sage [2008/06/10(火) 14:10:22 ] >>113 ありがとうございます
128 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 14:15:28 ] >>126 #include <stdio.h> void f(FILE *in, FILE *out) { int ch = fgetc(in); if(ch==EOF) return; f(in, out); fputc(ch, out); } int main(void) { FILE *f_in, *f_out; if((f_in=fopen("test.txt", "r"))==NULL) return 0; if((f_out=fopen("sample.txt", "w"))==NULL) return 0; f(f_in, f_out); fclose(f_in); fclose(f_out); return 0; }
129 名前:デフォルトの名無しさん [2008/06/10(火) 14:31:41 ] >>128 正しく実行できません。
130 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 14:37:33 ] >>126 int main(void) { FILE* in; FILE* out; int c; char ss[1024]; int i = 0; in = fopen("test.txt", "r"); if (in == NULL) { return -1; } out = fopen("sample.txt", "w"); if (out == NULL) { return -1; } while ((c = fgetc(in)) != EOF) { ss[i] = c; i++; } ss[i] = '\0'; i--; while (i >= 0) { fputc(ss[i], out); i--; } fclose(in); fclose(out); return 0; } 適当すぎたorz
131 名前:130 mailto:sage [2008/06/10(火) 14:39:26 ] おかしかったら自分でなんとかして。 結構、初心者向けに書いたつもりなので
132 名前:20 mailto:sage [2008/06/10(火) 15:38:13 ] >>41 >>41 int pattern1(double a, double b, double c){ int x, y; y=(a-2*c)/(sqrt(3.)*c)+1; x=b/(2*c); return x*y-((b-x*2*c<c)?y/2:0);; } すみませんがここの処理が何をやってるのかわからないのですが 説明していただけませんか?
133 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 15:38:36 ] [1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク):() kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6813.txt の課題2をお願いします [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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 特にありません
134 名前:デフォルトの名無しさん [2008/06/10(火) 15:41:55 ] [1] 授業単元:プログラミング入門 [2] 問題文(含コード&リンク):小さい順の友愛数ペア10組を探し出すプログラムをつくれ。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:VC 6.0 [3.3] 言語:C++ [4] 期限:2008年6月17日14:40まで [5] その他の制限:for,while,if文ぐらいしか習ってません。 main関数のみでお願いします。 参考プログラム:約数の和の計算 #include <stdio.h> void main() { int m; /* 整数 */ int n; /* 1〜m まで繰り返す */ int s; /* 約数の和(累計) */ scanf("%d", &m); /* キーボードから整数を読み込む */ s = 0; /* s の内容をクリア */ for (n = 1; n <= m; n++) { /* 1〜m まで繰り返す */ if (m % n == 0) /* 約数の判定 */ s += n; /* 約数であれば s に足す */ } printf("整数%dの約数の和は%dです。\n", m, s); /* 約数の和の画面表示 */ } よろしくお願いします。
135 名前:デフォルトの名無しさん [2008/06/10(火) 15:48:26 ] [1] 授業単元: C++ [2] 問題文次々に入力される値を合計する処理である。 変数dtにデータを入力する処理を繰り返し行い、 入力終了後その合計sumと平均aveを出力する。 なお、入力データは正の整数とし、 入力するデータがなくなったら、 終わりの印として負の値を入力する。 【ヒント】 平均の計算は、合計÷入力回数。 入力回数も変数を用意して数える。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: (gcc 3.4 ) [3.3] 言語: (C++) [4] 期限: ([2008年06月24日午後5時までまで] ) [5] その他の制限:なし
136 名前:ルート mailto:sage [2008/06/10(火) 16:02:29 ] >>115 よろしくおねがいします
137 名前:デフォルトの名無しさん [2008/06/10(火) 16:02:34 ] [1] 授業単元: C++ [2] 問題文 次の処理を行うプログラムを作成しなさい。 キーボードから入力した2進数を 10進数に変換して出力する。 ただし,入力が2進数でなかった場合 エラーメッセージを出力して最初からやりなおす。 【実行例】 2進数を入力してください 10101 21 2進数を入力してください 12345 エラー(2進数ではありません) [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: (gcc 3.4 ) [3.3] 言語: (C++) [4] 期限: ([2008年06月24日午後5時までまで] ) [5] その他の制限:なし お願いします
138 名前:21 mailto:sage [2008/06/10(火) 16:07:41 ] >>101 ありがとうございました。 来週テストということもあり、前回のプログラムも含めて復習してみます。 本当にありがとうございました。
139 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 16:18:36 ] >>135 #include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { char input[1024]; int temp = 0; int dt = 0; int count = 0; gets(input); while ((temp = atoi(input)) >= 0) { count++; dt += temp; gets(input); } printf("合計:%d\n", dt); printf("平均:%d\n", dt / count); return 0; }
140 名前:デフォルトの名無しさん [2008/06/10(火) 17:26:47 ] [1]データ構造(C言語) [2]以下のようなstudent構造体の配列をプログラム内に定義しておく。 struct student{ int num; char name[20]; int score; }; struct student St[]={{3, "鈴木三郎", 86}, {1, "山田一郎", 75}, {14, "高橋十四子", 93}, {2, "田中二子", 68}}; このデータをfprintf()を用いてファイルに出力するプログラムを作成せよ。またcatコマンドなどにより出力し、内容が正しいことを確認せよ。 [3]OS Linux 言語 C [4]10日18時 [5]なし おねがいします。
141 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 17:33:54 ] >>134 #include <stdio.h> int f(int n) { int i, s = 0; for(i=1; i<=n/2; i++) if(n % i == 0) s += i; return s; } int main(void) { int i, j, cnt = 0; for(i=1; cnt < 10; i++) { j = f(i); if(j > i && i == f(j)) { printf("%d, %d\n", i, j); cnt++; } } return 0; }
142 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 17:43:09 ] >>137 #include <iostream> using namespace std; int main() { int i, n = 0; char buff[256], *p; while(1) { cout << "2進数を入力してください "; cin >> buff; for(p=buff; *p; p++) if(*p!='0' && *p!='1') break; if(!*p) break; cout << "エラー(2進数ではありません)" << endl; } for(p=buff; *p; p++) n = n * 2 + *p - '0'; cout << n << endl; }
143 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 17:44:02 ] >>140 struct student { int num; char name[20]; int score; }; int main(void) { FILE* fp = fopen("aaa.txt", "w"); int i = 0; struct student St[]={{3, "鈴木三郎", 86}, {1, "山田一郎", 75}, {14, "高橋十四子", 93}, {2, "田中二子", 68}}; struct student st; if (fp == NULL) { return -1; } for (; i < 4; i++) { strcpy(st.name, St[i].name); st.num = St[i].num; st.score = St[i].score; fprintf(fp, "番号:%d 氏名:%s スコア:%d\n", st.num, st.name, st.score); } fclose(fp); return 0; } Cで動くかしらんけど。
144 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 17:44:25 ] >>133 一応動くけど初心者なので責任は取れない 暇な人は添削を m( __ __ )m kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6851.txt
145 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 17:50:27 ] あ、include載せ忘れてる。 ま、いっか。 それくらい自分でなんとなしてくれ。
146 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 18:15:56 ] >>141 main関数のみでお願いします。 せっかくやってもらった立場でそうと言いにくい >>134 に代わって御願いします
147 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 18:40:06 ] >>144 ほんとありがたいです。ありがとうございました!
148 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 19:11:37 ] >>134 #include <stdio.h> int main(void) { int i, j, cnt = 0, m, n; for(i=1; cnt < 10; i++) { n = 0; for(j=1; j<=i/2; j++) if(i % j == 0) n += j; if(n > i) { m = 0; for(j=1; j<=n/2; j++) if(n%j ==0) m += j; if(m == i) { cnt++; printf("%d, %d\n", i, n); } } } return 0; }
149 名前:デフォルトの名無しさん [2008/06/10(火) 19:34:18 ] >>148 様 ありがとうございます
150 名前:デフォルトの名無しさん [2008/06/10(火) 19:44:13 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 1.2の補数を用いて負の数も扱えるように拡張せよ. 2.2つの2進数の差を求めるプログラムを作成せよ. 3.任意の(変数や定数で指定した)桁数の2進数を扱えるようにせよ. [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:VC 6.0 [3.3] 言語:C++ [4] 期限:2008年06月11日まで [5] その他の制限:このプログラムを基にお願いします。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/clip.gif
151 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 19:44:42 ] >>150 ワロタw
152 名前:デフォルトの名無しさん [2008/06/10(火) 19:45:31 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 1.2の補数を用いて負の数も扱えるように拡張せよ. 2.2つの2進数の差を求めるプログラムを作成せよ. 3.任意の(変数や定数で指定した)桁数の2進数を扱えるようにせよ. [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:VC 6.0 [3.3] 言語:C++ [4] 期限:2008年06月11日まで [5] その他の制限:このプログラムを基にお願いします。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6853.txt
153 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 19:45:35 ] 盛大な釣りですね
154 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 19:49:42 ] [1]プログラミング [2]問題文 警報をno回鳴らす関数void alart(int no)をメイン文も含め作る。 [3-1]windows [3-2]gcc [3-3]C言語 [4]明後日まで。 よろしくお願いいたします。
155 名前:デフォルトの名無しさん [2008/06/10(火) 20:12:43 ] >>150 >>152 です すみません><
156 名前:Ctrl+Gがどうしようもないや mailto:sage動くかな [2008/06/10(火) 20:16:15 ] void alart(int no); int main(void){ int no=0; alart(no); return 0; } void alart(int no){ if(no); system("echo 数字を入力してください"); system("set /p no="); system("for /l in (1,1,%no%) do echo ^G"); system("set no="); }
157 名前:デフォルトの名無しさん [2008/06/10(火) 20:31:48 ] [1] 授業単元:プログラミング演習 [2] 問題: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6854.txt [3.1] OS: WindowsXp [3.2] コンパイラ名とバージョン:visualstdio 2008 [3.3] 言語:C++ [4] 期限:6月13日 [5] その他の制限:なし。 よろしくお願いします.
158 名前:scanfの戻り値に自信なし mailto:sage真面目に [2008/06/10(火) 20:47:52 ] >>154 #include <stdio.h> void alart(int no); int main(void){ int ret=0; int no=0; printf("数字を入力して下さい"); scanf("%d",&no); if(ret){ puts("数字っつったろぼけ"); return 1; } alart(no); return 0; } void alart(int no){ int i=0; for(i=0;i<no;i++){ printf("\a"); } }
159 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 20:51:19 ] 自信ないのに意味不明なコード書くのはバカ
160 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 20:52:08 ] コード書かないのはバカですね 分かります
161 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 20:54:17 ] man よめよ
162 名前:158 mailto:sage [2008/06/10(火) 20:56:36 ] やべぇ 否定し忘れてる!! if(!ret){ だ >>159 あ?しねよ scanfの戻り値なんか見たことないだろ
163 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 20:58:43 ] 私のためにケンカしないで><
164 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 21:01:18 ] /*ここまで俺の自演*/