[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/30 10:49 / Filesize : 157 KB / Number-of Response : 461
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++の宿題を片付けます 97代目



1 名前:デフォルトの名無しさん [2007/10/23(火) 23:48:35 ]
あなたが解けない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++の宿題を片付けます 97代目
pc11.2ch.net/test/read.cgi/tech/1191937213/

75 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 21:36:09 ]
>>74
ありがとうございます。逆ですね。
いつもRuby使ってて、授業でC使う事になったこういうミスが・・・涙
だったらコンパイル通さないでくれよ・・・

76 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 21:40:51 ]
>>73
これわひどいw

77 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 21:47:01 ]
そういえば、可変引数を使う宿題てあまり見ないな

78 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 21:52:50 ]
[1] 授業単元:文字列操作プログラム
[2] 問題文(含コード&リンク):
配列とポインタを使用し、文字列操作を行うプログラムを作成せよ。
@独自のstrlen関数mystrlen関数を自作する。
  文字列のポインタを受け取り、文字列の長さを返す関数を作成する。

A独自のstrcpy関数mystrcpy関数を自作する。
  文字列のポインタ2つを受け取り、文字列のコピーを行う関数を作成する。

B独自のatoi関数myitoa関数を自作する。
  数値を受け取り、指定された基数で文字列変換を行う関数を作成する。

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:不明
 [3.3] 言語:C言語
[4] 期限:2007年10月26日朝5:00まで
[5] その他の制限:問題が初級編ということで、出来るだけ難しくならないよう
  お願いします。



79 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:19:35 ]
[1] 授業単元:
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5139.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 10月26日10:00まで
[5] その他の制限: 特にありません。
         どうぞよろしくお願いします。

80 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:22:08 ]
すみませんがよろしくお願いします。
さっぱりわかりません・・
[1] 授業単元:C++
[2] 問題文(含コード&リンク):
次のソースコードを参照して、DateTimeClass の代入演算子を定義してください。
ただし、定義はクラスの外で行うものとします。
class DateClass
{
int year, month, day;
};

class TimeClass
{
int hour, min;
};

class DateTimeClass : public DateClass, public TimeClass
{
char* strDate;
char* strTime;
};

[3] 環境
 [3.1] OS: XP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C++
[4] 期限: 10/26いっぱい
[5] その他の制限:なし

81 名前:前スレ972 mailto:sage [2007/10/24(水) 22:27:39 ]
問題の題名は「オペレータ オーバーロードを使ったプログラム作成」でした。
なのでオペレータオーバロードを使わなければいけないっぽい。。

82 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:31:25 ]
>>78
>B独自のatoi関数myitoa関数を自作する。

myatoi関数?それともmyitoa関数?

83 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:34:31 ]
>>78
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5140.txt



84 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:34:48 ]
>>82
>数値を受け取り、指定された基数で文字列変換を行う関数を作成する。
itoaだな
もしくはltostrとでもいうか

85 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:40:42 ]
>>71
>|Σ|っていうのは対角成分をかけたものってことでいいのかな?
対角行列においてはその通り。

φA(λ) = |λI - A|= 0
を満たす値λがベクトルAの固有値。固有値は行列ではなく数値。
Iは対角単位行列。
Aがn×nの正方行列なら、重解を含めて、λはn個存在する。
個別のλのことを「固有値」と呼ぶ。

だから、
>ある問題で正規分布を使っていて、|Σ|を対角行列の対角成分をすべてかけたものを
>固有値として計算する
という部分がおかしい。

これ以上は数学板で聞いたほうがいいかも。

86 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:41:22 ]
[1] 授業単元:Fizz Buzz問題
[2] 問題文(含コード&リンク):
1から100までの数字を順に表示しなさい
ただし3で割り切れる数の場合は数字の代わりにFizz、
5で割り切れる場合はBuzz、
3と5の両方で割り切れる場合はFizz Buzzと表示しなさい。
剰余演算を使うバージョンと、使わないバージョンを作ること。
ただし、あらかじめ該当数字を配列等に格納しておいてのチェックは無しとする。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: bcc
 [3.3] 言語: C
[4] 期限: 10月25日PM1時
[5] その他の制限:
よろしくお願いします

87 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:45:51 ]
就職試験対策キターーーー

88 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:48:37 ]
>>79
void quicksort(int a[], int l, int r){
int comp(const void*a, const void*b){
if(*(int*)a < *(int*)b)
return -1;
else if(*(int*)a > *(int*)b)
return 1;
else
return 0;
}
qsort(a, r-l+1, sizeof(int), comp);
}

89 名前:デフォルトの名無しさん [2007/10/24(水) 22:49:56 ]
剰余を使わずに、もっとも短いコードをつくる 
出力は次のようにする
1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, Fizz Buzz, 16, 17, Fizz, 19, Buzz, Fizz, 22, 23,
Fizz, Buzz, 26, Fizz, 28, 29, Fizz Buzz, 31, 32, Fizz, 34,

90 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:50:37 ]
関数内関数なんて使うなって一瞬言おうとしたけど、
そうゆうことなら許すw

91 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:52:40 ]
>>86
「Fizz Buzz問題」 ネーミングがイカしてるな

#include <iostream.h>

int main (void)
{
int i;

for (i=1; i<=100; i++){
if (i%3==0 && i%5==0)
cout << "Fizz Buzz" << endl;
else if (i%3==0)
cout << "Fizz" << endl;
else if (i%5==0)
cout << "Buzz" << endl;
else
cout << i << endl;
}
}

92 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:52:48 ]
>>73
#include <stdarg.h>
int print(const char*f, ...){
va_list a;
va_start(a, f);
vprintf(f,a);
va_end(a);
}

93 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:01:02 ]
>>85
固有値ではないってことだね。
|Σ|は行列の値ってことか。

ってことは間違っている原因は|Σ|じゃないってことか。




94 名前:73 mailto:sage [2007/10/24(水) 23:01:09 ]
>>92
すみません、後出しで悪いですが、
printfと同様の書式付き関数は使用しないで作ってください。
とにかく考えてくださりありがとうございます。

95 名前:12 mailto:sage [2007/10/24(水) 23:03:56 ]
>>62
迅速な対応ありがとうございます。
参考にさせて頂きます。

96 名前:デフォルトの名無しさん [2007/10/24(水) 23:04:06 ]
#include<stdio.h>

main(){
int a=3,b=5,n;
for(n=1;n<101;n++){
if(n!=a && n!=b)printf(" %d,",n);
else {if(n==a){a+=3;printf(" Fizz");}
if(n==b){b+=5;printf(" Buzz");}
if(n<100)printf(",");
}}}

97 名前:デフォルトの名無しさん [2007/10/24(水) 23:08:51 ]
[1] 授業単元:コンピューターグラフィックス
[2] 問題文CGを作れ(自由課題)
ただし以下の評価項目に関して採点を行うのでこれを満たすようなCGを作成すること
1.CGアニメーションになっていること
2.マウスによってなんらかの操作ができる
3.ホップアップメニューが使用できること
4.シェーディングが適切に行われていること
5.テクスチャマッピングが使用されていること
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:11月6日
[5] その他の制限:あまりにも難しすぎる表現はNG
いきなり自由課題しろとか言われても俺にはイミフ
誰か助けてクレヨン

98 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:11:59 ]
ナンセンス?

#include<stdio.h>

char * fizzBuzz( int n )
{
static char buffer[BUFSIZ];
return n % 15 == 0 ? "FizzBuzz" :
n % 5 == 0 ? "Fizz" :
n % 3 == 0 ? "Buzz" :
(sprintf( buffer, "%d", n ),
buffer);
}

int main()
{
int m = 0;
while( m != 100 )
{
++m;
printf("%s\n", fizzBuzz( m ) );
}
return 0;
}


99 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:12:31 ]
>>97
それほんとにいきなり出されたのか?w

100 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:15:18 ]
printf同様って・・・
300行くらいいるんじゃね?

101 名前:デフォルトの名無しさん [2007/10/24(水) 23:15:38 ]
剰余を使わず文字数が少なくてこう出力して
1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, Fizz Buzz, 16, 17, Fizz, 19,

最後は , をつけないプログラム

102 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:16:19 ]
>>80
strDate, strTimeをどう扱うかによって回答が変わるけど、
こんなのを期待されてそう。

DateTimeClass &operator = (DateTimeClass &a, const DateTimeClass &b)
{
(DateClass &)a = (const DateClass &)b;
(TimeClass &)a = (const TimeClass &)b;
strcpy(a.strDate, b.strDate);
strcpy(a.strTime, b.strTime);
return a;
}


103 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:16:43 ]
>>97
どう考えてもOpenGLとかDirectXとかが必要になりそう気がする……
どう考えてもcだけじゃコンピュータグラフィックは作れなさそうな気がする……



104 名前:デフォルトの名無しさん [2007/10/24(水) 23:18:49 ]
>>99
今まではただ惑星とかロボット作ってそれをキーボード入力で動かしてたしてただけだった
だけど授業でシェーディングとかの話し始めて出た課題がこれ
参考にできるサイトなどなんでもいいので参考になるものを教えてください

105 名前:デフォルトの名無しさん [2007/10/24(水) 23:20:32 ]
>>97
OpenGLいるな。。。じゃあここはスレ違いか
失礼しました

106 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:20:48 ]
>>104
wisdomsoft OpenGLでググれ
もしくは単位をあきらめる

107 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:22:14 ]
>>100
7行スレで7行printfがあったとか何とかって言ってた。

108 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:22:26 ]
>>104
てっきりプログラミングの授業の第一回目とかで出されたのかと思った>いきなり

109 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:23:04 ]
>>102
ありがとうございます。
そのように解答します。

110 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:23:25 ]
>>104
少なくともCでCGできる時点でこのスレの住人の3分の2くらいよりレベル上だろうな

111 名前:デフォルトの名無しさん [2007/10/24(水) 23:23:32 ]
[1] 授業単元:Fizz Buzz問題
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5141.txt
上記のプログラムは、1製品にのみ対応したものであるが、複数製品に対応したものに
書き換えなさい。また製品数の目安は100製品程度とする。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: bcc
 [3.3] 言語: C++
[4] 期限: 10月25日18時
[5] その他の制限:

よろしくお願いします


112 名前:デフォルトの名無しさん [2007/10/24(水) 23:26:27 ]
>>63
だれか、お願いします。
現在作成中でしたら、おとなしく待ってます。

113 名前:デフォルトの名無しさん [2007/10/24(水) 23:28:43 ]
>>106
ググって来るわ
OpenGLの課題片付けてくれるスレってある?



114 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:29:11 ]
[1] 授業単元:C++
[2] 問題文(含コード&リンク):
class BaseClass {
char* name;
public:
BaseClass(const char* p) {name = strdup(p);}
~BaseClass() {free(name);}
};

class MyClass : public BaseClass
{
int count;
public:
MyClass(const char* p, int n = 0) : BaseClass(p), count(n)
{
// ...
}
};

ソースコードを参考にして派生クラスでの生成と消滅の順序を画面に
表示するプログラムを作成してください。
プログラムを実行し、派生クラスと基本クラスのコンストラクタ、
デストラクタが呼ばれる順序を確認してください。
[3] 環境
 [3.1] OS: XP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C++
[4] 期限: 10/26まで
[5] その他の制限:なし

お願いします。

115 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:44:55 ]
>>101
とりあえず剰余有版はこれでOK?
剰余無し版はfizzBuzz関数の実装を変更すればいいし。
就職活動がんばってな

#include<stdio.h>

char * fizzBuzz( int n )
{
static char buffer[BUFSIZ];
return n % 15 == 0 ? "FizzBuzz" :
n % 5 == 0 ? "Fizz" :
n % 3 == 0 ? "Buzz" :
(sprintf( buffer, "%d", n ), buffer);
}

int main()
{
int m;
for( m = 1; m <= 100; ++m )
{
printf( (m == 100 ? "%s\n" : "%s,"), fizzBuzz(m));
}
return 0;
}


116 名前:デフォルトの名無しさん [2007/10/24(水) 23:50:14 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5141.txt
上記のプログラムは、1製品にのみ対応したものであるが、複数製品に対応したものに
書き換えなさい。また製品数の目安は100製品程度とする。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: bcc
 [3.3] 言語: C++
[4] 期限: 10月25日18時
[5] その他の制限:

よろしくお願いします



117 名前:デフォルトの名無しさん [2007/10/24(水) 23:50:19 ]
>>111

>>86と同じ人?Fizz Buzz問題でも今回は内容Fizz Buzzじゃないんだ。

>>86はもういいの?

とりあえず1問答えてるし、先客が終わるまで待てて。

118 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:50:55 ]
>>110
CGがなんぼのもんじゃい!

119 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:51:16 ]
>>112
一応作ったけどそのテンプレおかしい気がする。
入力文字列の最後に空白付けないと止まらないかも。

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5142.txt

120 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:53:36 ]
>>84
HP-UXかHI-UXな人だな?

121 名前:111 [2007/10/24(水) 23:54:12 ]
>>117
すいません。同一人物じゃないです。
>>86の人のテンプレコピペしたんで授業単元変えるの忘れました

122 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:55:50 ]
>>101はもういないのか?

剰余無し版

#include<stdio.h>
#include<stdbool.h>

bool isMultipleOf( int n, int m )
{
int idx;
for( idx = 1; idx != 100; ++idx )
{
if( m == idx * n )
return true;
}
return false;
}
char * ff( int n )
{
static char buffer[BUFSIZ];
return isMultipleOf( 15, n) ? "FizzBuzz":
isMultipleOf( 5, n) ? "Fizz":
isMultipleOf( 3, n) ? "Buzz":
(sprintf(buffer,"%d", n ), buffer);
}


123 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:58:53 ]
>>114
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5143.txt



124 名前:デフォルトの名無しさん [2007/10/24(水) 23:58:56 ]
>>119
テンプレの
/* コンマかピリオドならstr2の位置を1つ左 */

}

}

/* str2(単語)に終端文字を追加 */
-------------------------------------------------------
上記の部分が
/* コンマかピリオドならstr2の位置を1つ左へ */

}
/* str1を1文字右に移動 */
}

/* str2(単語)に終端文字を追加 */
でした。
真ん中の/* str1を1文字右に移動 */を追加お願いします。

125 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:59:42 ]
>>111

if(num<=300+0*10 && day>=inc_day)

の部分がヘン

というかこのプログラム、何をするプログラムなのかが一見してわからない

126 名前:デフォルトの名無しさん [2007/10/25(木) 00:02:22 ]
>>121
そなの?変なこと言ってすまん。

いまチャレンジしてるから、ちっと待って。

127 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 00:04:37 ]
>>124
i++;
を追加してくれ。忘れてた。
まあ、それでも入力の最後に空白付けないといけないのは
変わらない気がするんだが。テンプレがそれならいいのかな。

128 名前:デフォルトの名無しさん [2007/10/25(木) 00:05:46 ]
>>125
日にちと商品の在庫不足数を数字のみで表示してるんじゃない?
商品のほうはランダムで数字作成してるみたいだし。
〜日 在庫不足〜個みたいな。でも、
>>複数製品に対応したものに
ってのがわからない。


129 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 00:08:09 ]
>>128

>>111
if(num<=300+0*10 && day>=inc_day) inc_day=day+3;
で、あきらかに 0*10 という意味不明な演算をしている件について

130 名前:93 mailto:sage [2007/10/25(木) 00:08:40 ]
>>85
正規分布を使いアルゴリズムに通して正解率を出すプログラムなんだけど
|Σ|を行列の値(対角成分の積)として計算すると全然正解率がでない。
どこがおかしいのかを見るために
試しに|Σ|に対角成分の和をいれてみて計算すると正解率98%だった。
ただ計算方法が違うのであっているかわからない。

正規分布について調べると|Σ|はΣの固有値とあるんです。

どうなんでしょうかね。

131 名前:111 [2007/10/25(木) 00:09:32 ]
>>125
簡単に書くと、はじめ300個あった物が毎日80〜120ずつ減っていき、
在庫が300+0*10以下になったら、その3日後に、350個プラスされるって感じです。
ちなみに、300+0*10の0の部分は1でも2でもなんでもよいです

132 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 00:15:22 ]
>>125
別に変じゃなくないか?
numが一定値以下で、かつ現在発注中(到着待ち)じゃなけりゃ発注すんだろ?
inc_dayには発注日+3が入っているから、到着待ち中はday<inc_dayになる

133 名前:デフォルトの名無しさん [2007/10/25(木) 00:16:59 ]
>>127
「i++;」を付ける位置は以下で良いですか?

付けてみたのですが分割後に出力される最後の単語が文字化けしてしまいます。

後、テンプレ見直してみましたが、タイプミスや書き残しはもうないので仕様はこれでいいと思います。

/* コンマかピリオドならstr2の位置を1つ左へ */

}
/* str1を1文字右に移動 */
i++;
}

/* str2(単語)に終端文字を追加 */



134 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 00:17:32 ]
プログラマは数学が苦手なんです。
プログラマはコーヒーとタバコが好きなんです。

135 名前:デフォルトの名無しさん [2007/10/25(木) 00:18:36 ]
>>131
納得したその計算してたのね。

136 名前:86 mailto:sage [2007/10/25(木) 00:19:18 ]
>>86>>89>>91>>96>>98>>101>>>>115>>122
本当にありがとうございます
大変助かりげぶき



137 名前:デフォルトの名無しさん [2007/10/25(木) 00:20:34 ]
>>134
英語も苦手だよ。後、眠気覚まし+暇つぶしにガムもスキだよ。

138 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 00:30:39 ]
>>133
i++はそこでいいよ。

テンプレどおりにやると入力の最後に空白入れないとバグる。
str1[i] != ' ' のとこを str1[i] != ' ' && str1[i] != '\0'
にすればたぶんOK.

139 名前:86 mailto:sage [2007/10/25(木) 00:30:55 ]
ミス……
本当に助かりました
ありがとうございます

140 名前:22 mailto:sage [2007/10/25(木) 00:34:15 ]
自分の問題に対してレスしてくれたり、といてくれた人達、
本当にありがとう!!
助かりました!!!!

141 名前:デフォルトの名無しさん [2007/10/25(木) 00:37:59 ]
>>138
提出の際に聞いてみます。

期限ぎりぎりで半ば諦めていたので、本当に感謝ありがとうです。

手直しも直ぐにやっていただき助かりました。

142 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 00:51:09 ]
[1] 授業単元: C言語演習
[2] 問題文(含コード&リンク):
1:y=sin(x) x=0から4πまで、512分割して、yの値を求め、ファイルに書き込む。
2:y=sin(x-π/2) x=0から4πまで、512分割して、yの値を求め、ファイルに書き込む。
[3] 環境
 [3.1] OS:Windows XP
 [3.2] コンパイラ名とバージョン: bcc
 [3.3] 言語:C
[4] 期限:なるべく早めに
[5] その他の制限: 特にないです。

よろしくお願いします。

143 名前:デフォルトの名無しさん [2007/10/25(木) 01:00:46 ]
#include<stdio.h>
#include<math.h>

main(){
int n;
FILE *fp=fopen("sin.txt", "w");
for(n=0;n<=512;n++)fprintf(fp,"sin(π×%d/512) = %f\n",n,sin(4*M_PI*(n+0.0)/512));
}



144 名前:デフォルトの名無しさん [2007/10/25(木) 01:07:18 ]
こっち訂正汁

for(n=0;n<=512;n++)fprintf(fp,"sin(4π×%d/512) = %f\n",n,sin(4*M_PI*(n+0.0)/512));
for(n=0;n<=512;n++)fprintf(fp,"sin(4π×%d/512 - π/2) = %f\n",n,sin(4*M_PI*(n+0.0)/512-M_PI/2));

145 名前:デフォルトの名無しさん [2007/10/25(木) 01:13:41 ]
#include<stdio.h>
#include<math.h>

main(){
FILE *fp=fopen("sin.txt", "w");
for(int n=0;n<=512;n++)fprintf(fp,"sin(4π×%d/512 - π/2) = %f\n",n,sin(4*M_PI*(n+0.0)/512-M_PI/2));
fclose(fp);
}

146 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 01:15:03 ]
>>63
テンプレがおかしい。指示通りにやるとセグメントエラーを起こす。

147 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 01:17:10 ]
>>111
まずはこんなので
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5145.txt

148 名前:デフォルトの名無しさん [2007/10/25(木) 01:32:23 ]
>>147
ありがとうございます。
残念ながら、今はプログラミングができる環境じゃないので、明日試して見ます。

149 名前:142 mailto:sage [2007/10/25(木) 01:32:29 ]
>>143>>144>>145
早速答えていただき、本当にありがとうございます!
助かりました!

150 名前:デフォルトの名無しさん [2007/10/25(木) 01:47:38 ]
>>146
一応、>>127のi++;の付け加えでちゃんと動いてくれるので、OKです。
コンパイル通って、動作も「,.」削除+空白削除+分割表示できてるので。

151 名前:デフォルトの名無しさん [2007/10/25(木) 01:48:52 ]
i++;じゃなくてstr1[i] != ' ' && str1[i] != '\0'の変更ですね。

152 名前:147 mailto:sage [2007/10/25(木) 02:07:00 ]
>>111
念のため、

#define DAYS 10 // 販売期間
#define ITEMS 10 // 製品の種類数

の部分を

#define DAYS 1000 // 販売期間
#define ITEMS 100 // 製品の種類数

と書き換えると題意に沿った回答になる。
ただし、このとき、出力が最悪200000行になるので注意。

153 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 06:10:11 ]
>>82
課題にはそのとおり書いてあったんですが・・。
自分には問題の@〜Bの意味がさっぱりで・・・。

>>83
それが答えってことになるのですか?



154 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 06:30:23 ]
こたえだね。

155 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 07:17:13 ]
答えかどうかもわからないって…

156 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 09:26:14 ]
[1] 授業単元:情報システム基礎
[2] 問題文(含コード&リンク):このC言語で作られたプログラムをC++に変えて下さい
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5146.txt
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: すいません、よくわかりません。
                     講義では「Microsoft Visual Studio .NET 2003」を使用しています
 [3.3] 言語: CからC++へ
[4] 期限: 明日が終わるまで
[5] その他の制限: 特になし

明日までと急なことで申し訳ありませんがお願いします。

157 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 09:59:01 ]
>>156
本当にそんな問題が……?

158 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 10:04:20 ]
>>156
すでにC++ですっていって提出しちゃえば?
問題が曖昧すぎ

159 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 10:18:09 ]
プログラムは配布されたプリントから打ち込みましたが、
問題文は文章でなく口頭で出題されました。全くこの通りです。

すでにC++になっているんでしょうか?

160 名前:156 ◆B5khfT.h4o mailto:sage [2007/10/25(木) 10:19:39 ]
すいません、今更ですがトリップをつけるのを忘れていました

161 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 10:56:23 ]
>>159
拡張子cppでコンパイルしてみな

162 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 11:03:08 ]
class Helonを作ってコンストラクタで三辺の長さで初期化して
get()で返すとか、そういう風にすればどう?

あとprintfをcoutに無理矢理直すとそれらしく見える。別にprintfでも
C++の範囲内なのだが。

163 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 11:31:04 ]
>>156
無理矢理C++にしてみた。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5147.txt



164 名前:デフォルトの名無しさん [2007/10/25(木) 13:40:38 ]
>>147
一つ目の製品はちゃんと発注するんですけど、二つ目以降は発注が行われないんですけど
どうすればいいんですか?

165 名前:147 mailto:sage [2007/10/25(木) 14:00:28 ]
>>111 >>164

// 製品情報初期化
int ADD_NUM = (rand()%81)+FIRST_NUM;
int ADD_NUM_LOWER = (rand()%31)+50;
int ADD_DAYS = (rand()%5)+1;

の部分に

// 製品情報初期化
int ADD_NUM = (rand()%81)+FIRST_NUM;
int ADD_NUM_LOWER = (rand()%31)+50;
int ADD_DAYS = (rand()%5)+1;
inc_day = 0;

を書き足せばよかったみたい。

ということでソースは下記に。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5148.txt

>>152も参考に。

166 名前:デフォルトの名無しさん [2007/10/25(木) 14:06:31 ]
>>165
できました。本当にありがとうございました。


167 名前:65です [2007/10/25(木) 14:48:32 ]
遅くなりました。すいません。
変数を州ごとに集計して平均を出す部分がよくわかりません。

>67
ファンクションについてはまだ授業で習っていないので、先生に避けたほうがいいと言われました。
でも、Voidとか変数のReferenceとか基本的なことは本で読んだので、使ってくださってもけっこうです。
提出するコードは、ファンクションを使わないように書き換えます。

>70
はい。州の略はその通りで大丈夫です。

168 名前:デフォルトの名無しさん [2007/10/25(木) 15:30:40 ]
>>147さん
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5149.txt
っていう課題が新たに出されたので、やっていただけませんか?
以前のプログラムがとても見やすかったので、よろしくお願いします。

169 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 16:52:28 ]
>>65 >>167
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5150.txt

・しっかりとgetlineを使っている。
・line.substr(13, 2)とline.substr(23, 4)を使って読み込んでいるので、gasprices.txtの配置がずれたら限りなくアウト。

170 名前:デフォルトの名無しさん [2007/10/25(木) 16:54:31 ]
>>14
まだ、待っています。出来る方お願いします。

アドバイスはいくつか貰ったのですが、関数から関数への受け渡しがうまく行きません。

171 名前:169 mailto:sage [2007/10/25(木) 17:00:34 ]
>>65 >>167 続き
・1行目にある #include <algorithm> は削除。
・出力は一応CSV のはず。
・アメリカの略号に誤入力があるかもしれない。
・アメリカの州って50だったっけ?

172 名前:コンパイルは出来たがあってないぞ [2007/10/25(木) 17:06:21 ]
#include<stdio.h>
#include<string.h>
void d_word(char st[], int pos, int len){
int l=strlen(st);
int i;
for(i=pos; i<=l-len; i++) {
st[i] = st[i+len]; }}

void search_del(char st1[], char st2[]){
int i, j;
int m1=strlen(st1);
int m2=strlen(st2);
for(i=0; i<=m1-m2; i++) {
for(j=0; j<m2; j++) {
if(st1[i+j] != st2[j])
break; }
if(j=m2) {
d_word(st1, i, m2);
m1 -= m2;
}}}

int main(){
char str1[256], str2[256];
printf("string? : ");
gets(str1);
printf("deleted word? : ");
gets(str2);
search_del(str1, str2);
puts(str1);
return 0;}

173 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 17:22:18 ]
お願いします

問題【0からa-1までの整数の乱数をn個発生させ、発生した整数のヒストグラムを表示しなさい。
ただし。a<21とし、aとnはキーボードから入力する】
______________________________________________とりあえずいままで作成したコードです__________________________________
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main(void)
{
int n,a,b,i,val;
int c[21];
printf("0からa-1までの整数の乱数をn個発生させ、\n");
printf("発生した整数のヒストグラムを表示させます\n");
printf("1から21までの任意の整数aを入力してください。\n");
scanf("%d",&a);
printf("任意の正の整数nを入力してください。\n");
scanf("%d",&n);
if(a<=0||a>=22)
{printf("aの値を入力しなおしてください。\n");}
else{
val=(double)rand()/(RAND_MAX+1)*a;
if(n<=0) {printf("nの値を入力しなおしてください。\n");}
else { for (i=0; i<=(a-1); i++)
{printf("aが%dのとき、%d回\n",i,c[val]);
c[val]=c[val]+1;}
}
}
}___________________________________________________________________________________________________________________________



174 名前:173 mailto:sage [2007/10/25(木) 17:24:12 ]
結果表示はヒストグラムというか
〜は〜回という形式にします

volとかそのへんの扱いかたがよく分からずに参っております
よろしくお願いいたします。

175 名前:156 ◆B5khfT.h4o mailto:sage [2007/10/25(木) 17:26:49 ]
レスしてくれた方やプログラムを作ってくれた>>163さん、ありがとうございました。
とりあえず課題を出したうえで、C++にするのはどういうことか詳しく聞いてみます。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<157KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef