- 1 名前:デフォルトの名無しさん [2007/07/15(日) 22:31:51 ]
- あなたが解けない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++の宿題を片付けます 92代目 pc11.2ch.net/test/read.cgi/tech/1183511364/
- 985 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 23:11:17 ]
- >>935 同じディレクトリのwc_test.txtを読み込んで、単語数を数えて出力する。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4760.c
- 986 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 00:04:02 ]
- [1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク): 以下の円周率を求めるプログラムに、 ニュートン法を適用し、加減乗算のみに書き換えなさい。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4761.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: 特になし [3.3] 言語: C [4] 期限: 2007年7月27日23:00まで [5] その他の制限: よろしくお願いします。
- 987 名前:デフォルトの名無しさん [2007/07/27(金) 00:33:50 ]
- [1] 授業単元: プログラム言語
[2] 問題文: 再帰関数を用いて以下のような三角形を印字せよ。 入力:3 * ** *** *の個数も印字せよ。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 2007年7月23日22:00まで [5] その他の制限: forで以下のように作ったのですが、再帰の場合の書き方がわかりません。以下を再帰に書き換えるような形で作っていただけると、大変有り難いです。 よろしくお願い致します。 #include<stdio.h> int kazu(int n); main() { int a,b; scanf("%d",&a); b=kazu(a); } int kazu(int n) { int i,j; for(i=1;i<=n;i=i+1) { for(j=0;j<i;j=j+1) { printf("*"); } printf("\n"); } }
- 988 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 00:42:55 ]
- >>815
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4762.c 凝りに凝りまくったぜぇ 誰かに丸投げしたのが一目瞭然なほどにな 本当に丸投げスレは地獄だぜフウハァハー
- 989 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 00:47:56 ]
- >>987
#include<stdio.h> int kazu(int n); main() { int a,b; scanf("%d",&a); b=kazu(a); printf("%d\n",b);} int kazu(int n) { int i,j; if(n<1)return 0; j=kazu(n-1); for(i=0;i<n;i=i+1) { printf("*"); } printf("\n"); return j+n;}
- 990 名前:デフォルトの名無しさん [2007/07/27(金) 00:58:54 ]
- >989さん
どうもありがとうございます。 本当に助かりました。
- 991 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:07:29 ]
- おねがいします
[1] 授業単元:プログラミング基礎 [2] 問題文(含コード&リンク): 空白または改行で区切られている単語だけからなる文章があるとする。 これを列は15文字以内(全角を1文字、半角は0.5文字とする) にして、最小の行に納めるようにせよ。 注意:単語の途中で改行をはさむことはできない。 (例) 123456789012345<-15文字分はここまで --------ここから----------------- 日本 中国 アメリカ インド フランス イタリア スペイン メキシコ ドイツ カナダ イギリス スイス サウジアラビア 南アフリカ共和国 ブラジル --------ここまで---------------- (実行結果) 日本 中国 アメリカ インド フランス イタリア スペイン メキシコ ドイツ カナダ イギリス スイス サウジアラビア 南アフリカ共和国 ブラジル [3] 環境 [3.1] OS: linux [3.2] コンパイラ名とバージョン: gcc2.95-3 [3.3] 言語: C [4] 期限: 8月1日 [5] その他の制限: 無制限(授業でならっていないものでも、自分で勉強して理解したのなら何をつかってもいい)
- 992 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:10:50 ]
- 丸投げってことは何も使っちゃ駄目ってことか・・・
- 993 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:24:04 ]
- >>991
面白そうな問題だ。ちょっと時間がないんで解けないが・・・ これってナップサック問題っていうんだっけ? あれみたいな感じで、入力内容によっては全パターン検索 しようとしたら膨大な時間になりそうな風に感じるんだが。 そういうの詳しい人いない?
- 994 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:33:03 ]
- ナップサックというより組み合わせ計画問題。
グリーディ法でいけそうな問題だね。めんどくさそうだけど
- 995 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 03:03:10 ]
- >>935
#include<iostream> #include<string> #include<vector> using namespace std; int main(void){ vector<string> v; string word; int i; while(1){ cin >> word; if(cin.eof() || cin.fail()) break; for(i=0;i<v.size();i++){ if(v[i]==word) break; } if(i>=v.size()) v.push_back(word); } for(i=0;i<v.size();i++){ cout << v[i] << "," << v[i].size() << " "; } cout << endl; return 0; }
- 996 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 04:18:53 ]
- #include <iostream>
#include <set> #include <string> int main( int argc, char ** argv ) { typedef std::set< std::string > dict_t; dict_t wc; while ( 1 ) { std::string word; std::cin >> word; if ( std::cin.eof() || std::cin.fail() ) break; wc.insert( word ); } for ( dict_t::iterator it = wc.begin(); it != wc.end(); it++ ) std::cout << *it << ", " << it->length() << " "; std::cout << std::endl; return 0; } set<> なり,map<> なりじゃなきゃ遅くてどうしようもないだろうに
- 997 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:13:33 ]
- >>988
指定にgets使わないといけないとか言ってクレームした出題者がいるから それもgets使わないといけないと思われ。
- 998 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:51:42 ]
- >>991
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4773.c 全角半角の判定のために非標準の関数wcwidthを使った。
- 999 名前:998 mailto:sage [2007/07/27(金) 08:54:04 ]
- >if(feof(stdin) || ferror(stdin))
> break; これは消し忘れ。
- 1000 名前: ◆mM9WALL8Ws [2007/07/27(金) 08:54:13 ]
- 1000GET
- 1001 名前:1001 [Over 1000 Thread]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
|

|