07/07/26 20:21:04
>>970
URLリンク(kansai2channeler.hp.infoseek.co.jp)
問題文に沿って作ったものと、2つの各要素を個別に追加したもの計3ファイル
2つの要素を両方追加したファイルが必要なら自分で作ってくろ。
982:デフォルトの名無しさん
07/07/26 21:28:47 BE:94671252-2BP(12)
次スレ立てました
C/C++の宿題を片付けます 94代目
スレリンク(tech板)
983:プログラミング初心者
07/07/26 22:18:40
>>936
ありがとうございます。
一度やってみましたがデバッグ後に何すればいいのかわかりません
984:デフォルトの名無しさん
07/07/26 22:27:32
とりあえず、分かるところまででいいから解読しようとしようよ。
985:デフォルトの名無しさん
07/07/26 23:11:17
>>935 同じディレクトリのwc_test.txtを読み込んで、単語数を数えて出力する。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
986:デフォルトの名無しさん
07/07/27 00:04:02
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
以下の円周率を求めるプログラムに、
ニュートン法を適用し、加減乗算のみに書き換えなさい。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: 特になし
[3.3] 言語: C
[4] 期限: 2007年7月27日23:00まで
[5] その他の制限: よろしくお願いします。
987:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/27 00:42:55
>>815
URLリンク(kansai2channeler.hp.infoseek.co.jp)
凝りに凝りまくったぜぇ
誰かに丸投げしたのが一目瞭然なほどにな
本当に丸投げスレは地獄だぜフウハァハー
989:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/27 00:58:54
>989さん
どうもありがとうございます。
本当に助かりました。
991:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/27 01:10:50
丸投げってことは何も使っちゃ駄目ってことか・・・
993:デフォルトの名無しさん
07/07/27 01:24:04
>>991
面白そうな問題だ。ちょっと時間がないんで解けないが・・・
これってナップサック問題っていうんだっけ?
あれみたいな感じで、入力内容によっては全パターン検索
しようとしたら膨大な時間になりそうな風に感じるんだが。
そういうの詳しい人いない?
994:デフォルトの名無しさん
07/07/27 01:33:03
ナップサックというより組み合わせ計画問題。
グリーディ法でいけそうな問題だね。めんどくさそうだけど
995:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/27 08:13:33
>>988
指定にgets使わないといけないとか言ってクレームした出題者がいるから
それもgets使わないといけないと思われ。
998:デフォルトの名無しさん
07/07/27 08:51:42
>>991
URLリンク(kansai2channeler.hp.infoseek.co.jp)
全角半角の判定のために非標準の関数wcwidthを使った。
999:998
07/07/27 08:54:04
>if(feof(stdin) || ferror(stdin))
> break;
これは消し忘れ。
1000: ◆mM9WALL8Ws
07/07/27 08:54:13
1000GET
1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。