- 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/
- 862 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:26:06 ]
- >>850
#include <stdio.h> int main(){ int a,b,z,i=0,d=0; int c=50; //1行目から10行目 printf("\t\t\t\t\t\t合計\n"); for(a=0; a<10; a++){ for(b=0; b<5; b++){ i += c; printf("\t%d",c); c--; } printf("\t%d",i); printf("\n"); i=0; } //11行目 printf("合計"); for(a=5; a>0; a--){ for(b=0; b<10; b++){ c += a+5*b; } printf("\t%d",c); d += c; c=0; } printf("\t%d",d); }
- 863 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:26:58 ]
- >>857
まあ落ち着け。 >>590の回答に対して構造体とか#ifとか使うなって条件つけたんだよ。 条件の後出しがひどく迷惑であることを痛感する展開ではあるんだが。
- 864 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:46:31 ]
- >>862
ありがとうございます!! ちなみに、これを関数で表せという問題も一緒に出されているのですが全く分かりません。。。
- 865 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:58:15 ]
- void disp(){
//>>862 } int main(){ disp(); return 0; }
- 866 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:01:50 ]
- >>865
ほんとGJ!!! 助かりました@@;
- 867 名前:デフォルトの名無しさん [2008/06/17(火) 23:19:30 ]
- >>766,860
素人の俺ので良ければどうぞ ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6945.c
- 868 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:25:29 ]
- 宝探しのやつ、takaraとかの盤面が周り1マス分大目に取ってあるとよかったのになあ。。。
とぼやきつつ、ぼちぼち。
- 869 名前:デフォルトの名無しさん [2008/06/17(火) 23:34:10 ]
- [1] 授業単元:C言語プログラミング
[2] 問題文(含コード&リンク):() 文字列aから文字bを取り除く。下までできたのですが。。。 #include<stdio.h> char a,b; void main() { scanf("%d\n",a); scanf("%d\n",b); printf("%d",a,b); return 0; } /* squeeze sからcをすべて取り除く */ void squeeze(char s[], int c) { int i,j; for(i=j=0; s[i] !='\0'; i++) if(s[i] !=c) s[j++]=s[i]; s[j]='\n'; } [3] 環境 [3.1] OS:XP [3.2] よくわかりません。ボーランド? [3.3] 言語: C言語 [4] 期限:明日中に。
- 870 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:34:14 ]
- >>867
おお、ありがとうございmす。 これを元に勉強させてもらいます。
- 871 名前:760 [2008/06/17(火) 23:53:34 ]
- お願いできないでしょうか?問題変更で20から30回で
構造体使ってもいいのでおねがいします!
- 872 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:05:34 ]
- >>760
>>871 ちょっと待ってろw しかし、人間がやっても20回くらいかかるぞ? 問題のレベルの割に、お前さんのレベルが低すぎる気が…
- 873 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:27:57 ]
- [1] 授業単元: C++
[2] 問題文(含コード&リンク): #include <stdio.h> main() { int ch; while(( ch=getchar()) != EOF) { printf("%02x", ch); } } このプログラムだけでは非常に長くなるので、'\n'を検出したら,出力にも改行文字を埋めたい。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C++
- 874 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:32:38 ]
- >>872
お願いします
- 875 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:54:20 ]
- #include <stdio.h> printf("%02x", ch);
なのに C++ とは、どんな授業をしてるでおじゃるか?
- 876 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 02:01:16 ]
- >>873
if(ch='\n'){ cout << endl; }
- 877 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 03:09:31 ]
- >>657さんの問題を
main関数のみで作っていただけないでしょうか?
- 878 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 03:25:04 ]
- [1] 授業[1] 授業単元:オペレーティングシステム
[2] 問題文:mallocを用い、下記のプログラムを完成させて、次の仕様を満たすプログラムを作成せよ。 ・キーボードから可変数の英数字の行を読み込む ・最初に行数を入力させる ・1行の長さは最大256文字 ・全入力が終了したところで、全入力行をまとめて出力する #include <stdio.h> #define MAX_LINE 256 main(){ char *p; int n, i; scanf(“%d”, &n); p = --------------------; for (i = 0; i < n; i++) { scanf(“%s”, p + MAX_LINE * i);} ------------------------;} [3] 環境 [3.1] OS:Linux [3.2] gcc [3.3] 言語:C [4] 期限:明日まで 点線の部分の変更のみです。 よろしくお願いします。
- 879 名前:760 mailto:sage [2008/06/18(水) 03:25:40 ]
- 20回から30回のプログラムを
今日朝9時までにお願いできないでしょうか できそうにないんで…
- 880 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 03:35:52 ]
- >>878
p = malloc(MAX_LINE * n); for(i = 0; i < n; i++) { printf("%s\n", p + MAX_LINE * i); }
- 881 名前:414 mailto:sage [2008/06/18(水) 06:02:08 ]
- >>451
亀ですいません。 作成いただきありがとうございました。
- 882 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:04:25 ]
- >>760
>>879 お前、ふざけてるのか?偽者の釣りか? 8/100の宝探し全てを20回から30回でって…人間がやってもなかなか出来ないぞ… kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6946.txt
- 883 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:09:05 ]
- 問題のレベルと依頼者のレベルが余りにもかけ離れてる場合
よく他人に頼んで、提出できるよなっていつも思う あんまり無いのかも知れんが、内容に関して質問が来たらどうするつもりだろ?
- 884 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:12:30 ]
- まぁ〜〜〜た今さらなことを、独り言のようにてめぇが勝手に思っている疑問を
わざわざ書き込むか、一言居士め。どうでも良いだろ、そんなの。 このスレの趣旨がわかってない新入りだろ、しねだのほざくガキって? もしそれで高卒以上の年齢だとしたら、かなり精神レベルが低いぞ、こいつ。
- 885 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:15:13 ]
- >>883
んなこと俺らが心配することでも何でもない。>>1読め。
- 886 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 08:56:25 ]
- >>879
何で今朝なんだ?期限とちがうじゃん。
- 887 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 09:03:42 ]
- >>885
つまりレベルがかけ離れていて気に入らない質問はスルーしとけばいいのか
- 888 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 09:13:30 ]
- >>866は>>865なんかで本当に大丈夫なのだろうか
- 889 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 09:47:38 ]
- レベルなんぞ気にしているくらいなら、とことん初心者レベルに戻るべし。
本当にコードから○ンコのに臭いがぷんぷんと漂ってきそうな 麻呂のクソースを目指すでおじゃる!
- 890 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 09:58:47 ]
- 初心者レベルの宿題しか解けないだけだろw
- 891 名前:デフォルトの名無しさん [2008/06/18(水) 10:25:09 ]
- [1] 授業単元: 情報実験
[2] 問題文(含コード&リンク): クイックソートでは、値が等しい要素の位置を入力された順に保つことができない。 この問題を解決するプログラムを作成せよ。 ただし、以下の解決方法を用いよ。 •配列をリストに変換 •三つのリストを作る ー枢軸より大きい要素のリスト ー枢軸より小さい要素のリスト ー枢軸より等しい要素のリスト •三つのリストを統合する [3] 環境 [3.1] OS: Mac OS X [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:できれば今日まで よろしくお願いします
- 892 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 10:48:59 ]
- 難し過ぎ
- 893 名前:877 mailto:sage [2008/06/18(水) 11:19:28 ]
- >>877出来る方いませんか?
- 894 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:51:35 ]
- 在庫管理のプログラムを作りなさいっていう宿題なのですけれども
よろしくお願いします。 1.クラス設計 データ定義:100件分(とりあえずの値としておく) 商品コード int(0〜999) 在庫数 int 登録商品数 int(新規商品を入庫するたびに+1される) 商品マスター:予め数件分を定数として定義しておく(-1がストッパー) (例) int master[ ]={1,3,5,10,11,12,100,200,900,-1}; メンバー関数: ・コンストラクタ:保持している商品数をクリアする。 ・データ設定関数:int add(int 商品コード、 int 入庫数) 商品マスターチェックNGなら戻り値にエラーを設定する。 チェックOKならデータ部に登録し、在庫数を加算、登録商品数を+1する ・在庫数取得関数:int get(int 商品コード) 商品コードが登録されていれば現在の在庫数を戻り値に返す。 登録されていない(入庫されていない)場合は-1を返す。 c++でお願いします。
- 895 名前:デフォルトの名無しさん [2008/06/18(水) 13:11:58 ]
- >>894
本当にこれが全文ですか?
- 896 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:50:01 ]
- そうなんじゃない?
在庫管理プログラムとして十分ではないけれど、題意を満たすソースは書けるでしょ。 作成されるものはチープかもしれないけど、それが課題というものかと。
- 897 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:57:05 ]
- ここのおじゃぱ様なら楽勝だよw
pc11.2ch.net/test/read.cgi/prog/1210981817/
- 898 名前: ◆DuoCt8/SKk mailto:sage [2008/06/18(水) 15:31:31 ]
- [1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6947.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Visual C++ 6.0 [3.3] 言語:C言語 [4] 期限:2008年6月20日 [5] その他の制限:構造体,ポインタまで どなたかよろしくお願いします.
- 899 名前:デフォルトの名無しさん [2008/06/18(水) 15:31:59 ]
- 商品コード int(0〜999)とか商品マスターとかはいいとして
データ定義とか商品マスターチェックNGとか微妙に粒度と日本語がゴチャゴチャな気がする > 商品コードが登録されていれば現在の在庫数を戻り値に返す。 > 登録されていない(入庫されていない)場合は-1を返す。 商品コードの登録って実際はどういう動作なのかわからん. どうも在庫数を増やすだけじゃなさそうだが. まぁ作ったけど.
- 900 名前:894 mailto:sage [2008/06/18(水) 15:43:53 ]
- たしかにゴチャゴチャですよね;
知識ないのに余計よくわからなくて此処で聞いてみました。 >>899さん上げてもらえますか?
- 901 名前:デフォルトの名無しさん [2008/06/18(水) 15:56:29 ]
- const int CODE_NOT_FOUND = -1;
const int MASTER_ERROR = -1; const int MASTER_SUCCESS = 0; static int master[] = {1, 2, 3, 4, 5, CODE_NOT_FOUND}; static int checkCode(int code){ for(int i = 0; master[i] != CODE_NOT_FOUND; i++) if(code == master[i]) return code; return CODE_NOT_FOUND; } class Manager{ private: int *merchandise; public: Manager(){ merchandise = new int[100]; for(int i=0; i<100; merchandise[i++] = 0); } virtual ~Manager(){ delete[] merchandise; } int add(int code, int n){ if(checkCode(code) == CODE_NOT_FOUND) return MASTER_ERROR; else {merchandise[code] += n; return MASTER_SUCCESS; } } int get(int code){ if(checkCode(code) == CODE_NOT_FOUND) return MASTER_ERROR; if(merchandise[code] == 0) return -1; else return merchandise[code]; } }; こんな感じ
- 902 名前:894 mailto:sage [2008/06/18(水) 16:10:57 ]
- すいません、、、
もっと分かりやすい簡単な漢字で書いてもらえないでしょうか、、?
- 903 名前:894 mailto:sage [2008/06/18(水) 16:12:33 ]
- すいません、、、
もっと分かりやすい簡単な感じで書いてもらえないでしょうか、、?
- 904 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:14:55 ]
- 分かりやすさは他人に求めるものじゃなくて自分で感じるものじゃね?
- 905 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:34:43 ]
- こういう分野はC/C++向きじゃないな。完全にデータベース向けと考えられてるね一般的には。
やはりこういう問題出した教師は現場を知らん◎フォだとしておこう。
- 906 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:42:38 ]
- マスタのコードが0-999でmerchandiseのインデックスにコード使っちゃうとだめなんじゃない?
- 907 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:45:19 ]
- 原理を勉強するのに、一から書いてみるというのは悪い方法じゃないだろう
- 908 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:46:34 ]
- >>906
なんか面倒になったから適当にしてみた
- 909 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:48:15 ]
- >>901
なんかそれだとcodeがmerchandiseのインデックスになるから 例題の int master[ ]={1,3,5,10,11,12,100,200,900,-1}; のときmerchandise[200]とかになっておかしくないか?
- 910 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:55:32 ]
- [1] 情報プログラミング:
[2] 問題文(含コード&リンク):標準入力からのテキストデータ中に現れる単語の出現頻度数つき一覧を出力するプログラムを作成せよ。 [3] 環境 [3.1] OS: linux [3.2] Vine Linux 3.2 [3.3] 言語: C [4] 期限:2008 6/24 [5] その他の制限:線形リストを使い、つくれとのことです。 どなたかよろしくお願いいたします とりあえずここまで作成してあります(まだまだ未完成ですが。。。) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6948.c よければ見て下さい
- 911 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:33:02 ]
- >>898
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6949.c Otheloは登録商標なので0theloにしておいた
- 912 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:34:53 ]
- /* 0thello Game */
- 913 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:42:57 ]
- ShowAllって次の手1個につき1画面なのかな
書き直してみる
- 914 名前:911 mailto:sage [2008/06/18(水) 17:56:34 ]
- >>898
修正 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6950.c
- 915 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:12:53 ]
- >>908
まあ宿題だからそれぐらいアバウトなほうがいいのかもしれないね
- 916 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:25:35 ]
- >>850なんですがこの表示結果の合計を、前列の合計を次々に足していく風にしたいのですがどう書けますか?
よろしくお願いします。 合計 50 49 48 47 46 240 45 44 43 42 41 215 40 39 38 37 36 190 35 34 33 32 31 165 30 29 28 27 26 140 25 24 23 22 21 115 20 19 18 17 16 90 15 14 13 12 11 65 10 9 8 7 6 40 5 4 3 2 1 15 合計 275 265 255 245 235 1275
- 917 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:26:56 ]
- ↑ずれて分かりにくくなってしまってすみません;;
- 918 名前:878 mailto:sage [2008/06/18(水) 18:27:41 ]
- >>880
エラーが出てきます。 コンパイラ通してみた結果です。 10:error:プログラムとして逸脱した文字 '/226' 10:error:プログラムとして逸脱した文字 '/128' 10:error:プログラムとして逸脱した文字 '/156' 10:error:文法エラーが'%'トークンの前にあります 10:error:プログラムとして逸脱した文字 '/226' 10:error:プログラムとして逸脱した文字 '/128' 10:error:プログラムとして逸脱した文字 '/157' 15:error:プログラムとして逸脱した文字 '/226' 15:error:プログラムとして逸脱した文字 '/128' 15:error:プログラムとして逸脱した文字 '/156' 15:error:文法エラーが'%'トークンの前にあります 15:error:プログラムとして逸脱した文字 '/226' 15:error:プログラムとして逸脱した文字 '/128' 15:error:プログラムとして逸脱した文字 '/157'
- 919 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:27:53 ]
- >>836
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6951.txt
- 920 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:35:07 ]
- >>862を参考に、一次元配列を使うようにしたよ。
#include <stdio.h> int main(){ int a,b,z,i=0,d=0; int c=50; int r[10]; //1行目から10行目 printf("\t\t\t\t\t\t合計\n"); for(a=0; a<10; a++){ for(b=0; b<5; b++){ i += c; printf("\t%d",c); c--; } printf("\t%d",i); printf("\n"); i=0; } //11行目 printf("合計"); for(a=5; a>0; a--){ for(b=0; b<10; b++){ c += a+5*b; } printf("\t%d",c); d += c; c=0; } printf("\t%d",d); }
- 921 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:39:58 ]
- >>920
ありがとうございます! 理解できました! 合計値についてなんですが前列の合計値も足してって次々に足して表示させたいんですがどうすればいいのですか?
- 922 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:43:09 ]
- >>921
理解できたか。それはよかった。次々にっていうのはこういうこと? #include <stdio.h> int main(){ int a,b,z,i=0,d=0; int c=50; int r[10]; //1行目から10行目 printf("\t\t\t\t\t\t合計\n"); for(a=0; a<10; a++){ for(b=0; b<5; b++){ i += c; printf("\t%d",c); c--; } printf("\t%d",i); printf("\n"); // i=0; } //11行目 printf("合計"); for(a=5; a>0; a--){ for(b=0; b<10; b++){ c += a+5*b; } printf("\t%d",c); d += c; // c=0; } printf("\t%d",d); }
- 923 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:45:48 ]
- >>922
そうです! でも、どこをどういう風に考えたのか分かりません@@:
- 924 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:48:58 ]
- 一行書くたびに合計をクリアしていたので、一行ごとの合計が右端に出てた。
これをクリアしないようにすることで、1行目の合計に2行目の数字が足されるようになって 1行目と2行目の合計が2行目に出るようになった。 列もおなじ。
- 925 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:53:20 ]
- >>924
初歩的な質問でごめんなさい。クリアを示す記号って何ですか? どこも変わっていないような気がするのですが・・・
- 926 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:53:52 ]
- >>918
226=0xE2 128=0x80 156=0x9C 156=0x9D E2 80 9C はUTF-8 で全角の “ E2 80 9D はUTF-8 で全角の ”
- 927 名前:918 mailto:sage [2008/06/18(水) 19:04:43 ]
- 自己解決しました。
スレ汚し申し訳ありません。
- 928 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:05:19 ]
- 自己解決w
- 929 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:05:33 ]
- [1] 授業単元:C++入門
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6952.txt [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: VC6.0 [3.3] 言語:C++ [4] 期限: [5] その他の制限: よろしくお願いします
- 930 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:05:50 ]
- >>925
0を代入することでクリアしていた部分をコメントアウトすることでクリアしないようにした。 行、列の2箇所。
- 931 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:11:10 ]
- >>930
なるほど、そういう事だったんですね。ありがとうございました。
- 932 名前:919 mailto:sage [2008/06/18(水) 19:12:07 ]
- >>836
うpしてから思ったがABC#DEF#HIJをABC#FED#HIJではなくABC#FED#JIHにするっぽいな 後者ならフラグ要らんからrev_flagを含む行(5行)は削っとくれ
- 933 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:14:12 ]
- >>898
バッファオーバーフローのバグがあった kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6953.txt
- 934 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:16:49 ]
- 暇つぶしに 910 をといてみたぜ。
910の役にはたたないだろうがな。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6954.txt
- 935 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:17:15 ]
- >>850
#include <stdio.h> #define ROW 10 #define COL 5 int main(void){ int row[COL]={0},tr,tc[COL]={0},r,c; for(c=0; c<=COL; c++) printf("\t"); printf("合計\n"); // 各行 for(r=ROW; r>0; r--) { for(c=COL-1; c>=0; c--) { row[c]=r*COL-c; tc[c]+=row[c]; } for(c=0,tr=0; c<COL; c++) { tr+=row[c]; printf("\t%d",row[c]); } printf("\t%d\n",tr); } // 各列の合計 printf("合計"); for(c=0; c<COL; c++) printf("\t%d",tc[c]); puts(""); return 0; }
- 936 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:23:30 ]
- #include <stdio.h>
int count_bits(unsigned) { int count = 0; while (x){ if (x & 1U) count++; x>>1; } return (count); } int int_bits(void) { return (count_bits(~0U)); } void print_bits(unsigned x) { int i; for (i= int_bits() - 1; i >= 0; i++) putchar(((x>>1) & 1U) ? '1' : '0'); } int main(void) { unsigned nx; printf("非負の整数を入力してください :"); scanf("%u", &nx); putchar('\n'); return 0; } というプログラムにおいて、int count_bits(unsigned)を int count_bits(signed x)とするとどのような現象が置きますか? 理由も書けという問題なのですが。
- 937 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:24:07 ]
- >>898
orz kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6956.txt
- 938 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:27:36 ]
- >>935
ありがとうございます! 合計値は、前列(行)の合計値を次々に足していく風にしなければならないのですが。。。 一次元配列に於いては次の列(行)にいく際どこでクリアされているのでしょうか。
- 939 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:36:33 ]
- >>938 >>850
#include <stdio.h> #define ROW 10 #define COL 5 int main(void){ int row[COL]={0},tr,tc[COL]={0},tmp,r,c; for(c=0; c<=COL; c++) printf("\t"); printf("合計\n"); // 各行 for(r=ROW,tr=0; r>0; r--) { for(c=COL-1; c>=0; c--) { row[c]=r*COL-c; tc[c]+=row[c]; } for(c=0; c<COL; c++) { tr+=row[c]; printf("\t%-d",row[c]); } printf("\t%-d\n",tr);} // 各列の合計 printf("合計"); for(c=0,tmp=0,tr=0; c<COL; c++) { tmp+=tc[c]; tr+=tmp; printf("\t%-d",tmp);} printf("\t%d\n",tr); return 0; }
- 940 名前: ◆DuoCt8/SKk mailto:sage [2008/06/18(水) 19:56:34 ]
- >>911-914
>>933 >>937 こんなにたくさん頑張って頂き本当にありがとうございます. これが第一段階らしく,第二・三段階もあるみたいなので,もし良かったら その時にも是非よろしくお願いします.
- 941 名前:デフォルトの名無しさん [2008/06/18(水) 20:01:32 ]
- [1] 授業単元:コンピュータプログラミング
[2] 問題文(含コード&リンク): 標準入力(キーボード)から一つずつ数値(浮動小数点)を 読み込んで、データの数、平均値、標準偏差を出力するプロ グラムを作成せよ。ただし、データ入力は、空行の入力で終 了するものとする。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6957.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2008年06月18日まで [5] その他の制限:入力終了の判別方法は、このプログラムを参考にするとよいが、 今回の問題では、入力データを配列等に保存する必要がない ことに注意。配列に保存することにすると、配列の大きさで 入力できるデータ数が制限されてるので、好ましくない。 よろしくお願いします。m(_ _)m
- 942 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:30:45 ]
- #include <stdio.h>
#include <math.h> int main(void) { double s = 0, a = 0, temp, sigma2; int cnt = 0; char buff[256]; while(1) { fgets(buff, sizeof buff, stdin); if(buff[0]=='\n') break; sscanf(buff, "%lf", &temp); s += temp * temp; a += temp; cnt++; } a /= cnt; s = sqrt(s / cnt - a * a); printf("データ数:%d\n平均:%f\n標準偏差:%f", cnt, a, s); return 0; }
- 943 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:41:42 ]
- [1] 授業単元:C++実習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6958.txt [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: VC6.0 [3.3] 言語:C++ [4] 期限: [5] その他の制限: お願いします。。
- 944 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:44:39 ]
- ::
- 945 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:48:00 ]
- >>942
適当に改造してたら使ってない変数残った。 sigma2は消しといて
- 946 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:50:21 ]
- サセクア
- 947 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:55:08 ]
- [1] C演習
[2] 入力する3以上の整数nに対して、2以上n以下の整数の組の最大公約数を 「ユークリッドの互除法」を用いて計算するプログラムを作れ。 (例:n=6の場合、2と3、2と4、2と5、2と6、3と4、3と5、3と6 4と5、4と6、5と6の10通り) (表示例:n=6の場合) 3 4 5 6 2: 1 2 1 2 3: 1 1 3 4: 1 2 5: 1 [3] [3.1] LINUX [3.3] C [4]6月23日 [5]関数は習ってないので、if,while,forなどを使ってお願いします。 よろしくお願いします。
- 948 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:56:31 ]
- [1] C演習
[2] 入力する3以上の整数nに対して、2以上n以下の整数の組の最大公約数を 「ユークリッドの互除法」を用いて計算するプログラムを作れ。 (例:n=6の場合、2と3、2と4、2と5、2と6、3と4、3と5、3と6 4と5、4と6、5と6の10通り) (表示例:n=6の場合) 3 4 5 6 2: 1 2 1 2 3: 1 1 3 4: 1 2 5: 1 [3] [3.1] LINUX [3.3] C [4]6月23日 [5]関数は習ってないので、if,while,forなどを使ってお願いします。 よろしくお願いします。
- 949 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:02:52 ]
- >>943
inventory(char *item, double cost, int on_hand) { strcpy_s(inventory::item, item); inventory::cost = cost; inventory::on_hand = on_hand; } inventoryだけを上記のように変更。 namespaceによるローカル変数とメンバ変数の明示を問う問題っぽいけど実務では使うなよ。
- 950 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:03:11 ]
- >>945ありがとうございます。
- 951 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:09:16 ]
- 1] 情報プログラミング演習:
[2] 問題文(含コード&リンク):標準入力からのテキストデータ中に現れる単語の出現頻度数つき一覧を出力するプログラムを作成せよ。 [3] 環境 [3.1] OS: Windous [3.2] VC 6.0 [3.3] 言語: C++ [4] 期限:2008 6月いっぱい [5] ホントに困っていますのでどの問題でもかまいません 教えてください
- 952 名前:951 mailto:sage [2008/06/18(水) 21:11:21 ]
- 間違えました
1] 情報プログラミング演習: [2] 問題1 三角形の底辺の幅、あるいは段数(どちらか一つ)を入力すると、逆三角形を表示する。例えば、底辺5あるいは段数3を入力すると ***** *** * となる。 10個以下の任意のn個(データ数は入力)のデータを入力し、逆順に出力する。 実行結果は奇数と偶数個の例を示すこと。 。 [3] 環境 [3.1] OS: Windous [3.2] VC 6.0 [3.3] 言語: C++ [4] 期限:2008 6月いっぱい [5] ホントに困っていますのでどの問題でもかまいません 教えてください
- 953 名前:951 mailto:sage [2008/06/18(水) 21:12:26 ]
- 間違えました
1] 情報プログラミング演習: [2] 問題1 三角形の底辺の幅、あるいは段数(どちらか一つ)を入力すると、逆三角形を表示する。例えば、底辺5あるいは段数3を入力すると ***** *** * となる。 。 [3] 環境 [3.1] OS: Windous [3.2] VC 6.0 [3.3] 言語: C++ [4] 期限:2008 6月いっぱい [5] ホントに困っていますので教えてください
- 954 名前:デフォルトの名無しさん [2008/06/18(水) 21:12:33 ]
- [1] 授業単元:プログラミングT
[2] 問題: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6959.txt [3.1] OS: WindowsXp [3.2] コンパイラ名とバージョン:visualstdio 2008 [3.3] 言語:C [4] 期限:6月21日 [5] その他の制限:なし。 よろしくお願いします.
- 955 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:14:01 ]
- >>948
#include <stdio.h> int main(void) { int i, j, n; scanf("%d", &n); printf(" "); for(i=3; i<=n; i++) printf("%2d", i); putchar('\n'); for(i=2; i<n; i++) { printf("%2d:", i); for(j=3; j<=i; j++) printf("  "); for( ; j<=n; j++) { int a = i, b = j; while((a=a%b)!=0) { b += a; a = b - a; b -= a; } printf("%2d", b); } putchar('\n'); } return 0; }
- 956 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:14:10 ]
- そういえば期末の時期だな。
- 957 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:18:54 ]
- >>954
#include <stdio.h> int main(void) { char string[100]; char *p; gets(string); p=string; while(*p!=' ') { if(*p=='\0') return 0; p++; } p++; while(*p!='\0'){ putchar(*p); p++; } putchar('\n'); return 0; }
- 958 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:19:48 ]
- またwindousか
- 959 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:20:13 ]
- >>951
#include<iostream> #include<string> #include<map> int main() { std::string tango; std::map<std::string,int> tango_count; while(std::cin >> tango) { tango_count[tango]++; } for(std::map<std::string,int>::iterator n=tango_count.begin();n!=tango_count.end();++n) { std::cout << n->first << " : " << n->second << std::endl; } return 0; }
- 960 名前:951 mailto:sage [2008/06/18(水) 21:24:50 ]
- >>959さん
ありがとうございます。
- 961 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:26:20 ]
- >>948
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6960.c
- 962 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:27:18 ]
- >>953
まちるだ
|

|