トップページ⇒tech
1001コメント459KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG?DIA(287979)
あなたが解けない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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html
【過去ログ検索】        http://chomework.sakura.ne.jp/
【wiki】               http://www23.atwiki.jp/homework/

前スレ
C/C++の宿題片付けます 128代目
http://pc12.2ch.net/test/read.cgi/tech/1245853701/
0002デフォルトの名無しさん2009/07/13(月) 17:49:16
[1] 授業単元:
コンパイラの構成
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9696.txt
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
C(yacc、lex)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
7月30日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
スレが新しくなったので再度依頼させていただきます。
lexとyaccの問題です。よろしくお願いします。
今日中にできそうにないので期限を延ばして再提出することにしました。
0003tac2009/07/13(月) 19:48:08
【質問テンプレ】
[1] 授業単元:
    ゼミナール
[2] 問題文(含コード&リンク):
    「PC間でソケットの接続確立とデータを送信を行うプログラム」
[3] 環境
 [3.1] OS: Windows XP
 [3.2] Micro Soft Visual C++ 2008
 [3.3] 言語: C++
[4] 期限: 2009年7月22日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
  制限は特にありません。

大学のゼミの課題なんですが、C++は今までに使ったことがなくさっぱりわかりません。
ネットワークプログラミングも初めてなため、一切わかりません。

まずは、C++でウインドウを開き、チャットの画面を作り、書き込み欄に書き込むと
その書き込まれた文字列がウインドウに表示されるプログラムから教えていただけると嬉しいです。

期限は来週ですが、出来るだけ早い完成が望ましいので宜しくお願いします。
0004デフォルトの名無しさん2009/07/13(月) 20:14:29
バレが怖いのでメールでやり取りしたいのですが、
もしそれでも片付けてくれる人がいらっしゃればお願いできないでしょうか?
0005デフォルトの名無しさん2009/07/13(月) 20:15:24
問題文を見るとチャットである必要がないし、やるにしてもCUIでいいと思うんだが。
ゼミってことは通信技術方面の研究室なんでしょ?それなら今後を考えて自分でやったほうがいいと思うよ。
初心者でも分かる参考書を紹介しとくから、勉強してみてダメだったらもう一回来てみたら?
http://www.amazon.co.jp/dp/4797334797
あとCは使えるんだよね?Cが使えることは大前提だから。
0006デフォルトの名無しさん2009/07/13(月) 20:17:38
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
下に示すように,5 人の学生の体重を読み込んで、最も重い人と最も軽い人の体重を表示す
るプログラムを作成せよ.なお、体重はdouble 型で表すものとする。
体重を入力してください
1 番: 52.5
2 番: 64.0
3 番: 58.3
4 番: 67.4
5 番: 62.0
最も重い人の体重: 67.4
最も軽い人の体重: 52.5
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Visual Studio 2008
 [3.3] 言語: C
[4] 期限: 7月14日まで
[5] その他の制限:
0007デフォルトの名無しさん2009/07/13(月) 20:56:54
>>3
mixiのほうはもういいの?
0008デフォルトの名無しさん2009/07/13(月) 20:59:23
>6

#include <stdio.h>
#define NUM (5)

int main() {
double heavier,lighter,input;

for(int i = 0 ; i < NUM ; i++){
printf("%d番:",i+1);
scanf("%lf",&input);
if(i == 0){
heavier = lighter = input;
continue;
}
if(heavier < input){
heavier = input;
}
if(lighter > input){
lighter = input;
}
}
printf("最も軽い人の体重:%g\n",lighter);
printf("最も重い人の体重:%g\n",heavier);
return 0;
}
0009前スレ9492009/07/13(月) 21:12:28
前スレの>>963さん、>>972さんありがとうございます!おかげで助かりました。
0010デフォルトの名無しさん2009/07/13(月) 21:14:23
>>4
メールアドレスは?
0011tac2009/07/13(月) 21:28:03
>>5
完成系のイメージはチャットのような事ができるプログラムを使って、
 実際の講義中にそのプログラムを使い、学生に対して使用した場合
 どのような効果が得られるかを検証することなので、
 チャットでなくても、インスタントメッセンジャー?!でも良いです。
 
 一応、情報系の学部ですが、
 研究テーマは「チャットのようなモノを使った時の学生の学習効果」です。
 なので、プログラミングに対して全く無知なので、力を貸していただけないでしょうか??
0012デフォルトの名無しさん2009/07/13(月) 21:32:57
期限前の問題(全て前スレ)
>> 988-989 (1)3つ以上の整数の階層的プログラミングを行うプログラムを作成せよ。 7月23日
>> 988-989 (2)3つ以上の2次元ベクトルの階層的プログラミングを行うプログラムを作成せよ。 7月23日
>> 964(9736) 英単語とその出現回数を登録する二分探索木を書け。 7月14日10:00
>> 962(dotup.org231968) コマンドラインで指定した2つのファイルの内容を交換する。 7月14日
>> 962(dotup.org231968) ライブラリ関数qsortを使って乱数のソートを行います。 7月14日
>> 847 LLLアルゴリズムをCでプログラミング 7月17日
>> 820 3入力のクワイン・マクラスキー法のプログラム 7月13日
>> 799 指定された点x,yを含む指定された境界色C2で囲まれた平面領域を指定された色C1で塗りつぶす 7月17日 正午
>> 791(9708,9709,DLL_BMP_C) 歌詞を暗号鍵Kとして読み込み、画像 NewYear2003.bmpを暗号化した画像Cを生成する。 7月15日
>> 772 4次のルンゲ−クッタ法を用いて連立微分方程式を解く 7月28日
0013デフォルトの名無しさん2009/07/13(月) 21:37:45
>>11
学習効果の調査ならc++である必要はあるの?
あと都合のいいコメントだけレス返すのやめたほうがいいですよ
0014tac2009/07/13(月) 21:41:21
>>11
 C++は所属しているゼミの先生の指定があったので、強制的に決定してしまいました。
 都合のいいコメントだけにレスを返したつもりはなかったんですが、
 勘違いされたなら、申し訳ありませんでした。
0015デフォルトの名無しさん2009/07/13(月) 21:42:54
>>11
それがホントならフリーのチャットPG漁るべき。
C系言語でソケットから作ろうつーのは迂遠過ぎる。
(C系言語が得意で漁るより作るほうが早いって人は別ね)
0016デフォルトの名無しさん2009/07/13(月) 21:48:45
勘違いにするならいいや
0017デフォルトの名無しさん2009/07/13(月) 21:49:02
前スレ >> 988 (1)3つ以上の整数の階層的クラスタリングを行うプログラムを作成せよ。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9740.txt

実行時間がN*N*Nに比例する単純なやつ
ぐぐったらN*N*log(N)のアルゴリズムがあるらしいので、
こういうの好きな人は俺のにかまわず別回答どうぞ
0018tac2009/07/13(月) 21:50:14
>11>>15
  チャットPGっていうのは、簡易型のチャットってことですか?
 「漁る」の意味がいまいち理解できなかったんですが、どういう意味でしょうか?
 
0019デフォルトの名無しさん2009/07/13(月) 21:55:55
>>17
やべ、一部ミスがあったので修正
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9741.txt
0020デフォルトの名無しさん2009/07/13(月) 22:01:31
>>18
15じゃないが漁るというのはチャットプログラムを作るのではなく、
既にあり公開されているものを持ってきて利用した方が良いのでは?
ということだろう
0021デフォルトの名無しさん2009/07/13(月) 22:06:16
>>18
漁るってのはどこからか適当なソースコード見つけてきてパクってくるってこと。
だいたい「チャットのようなモノを使った時の学生の学習効果」を調べるだけなら
わざわざ自分でチャットプログラム作る必要がないし。
チャットをする方法はjavascriptのチャットルーム使うとか、IRCクライアントを使うとか方法は
いくらでもあるからその研究内容でC++使って作るのははっきり言って無駄だって教授に言ってみろ。
0022デフォルトの名無しさん2009/07/13(月) 22:27:12
>>20 >>21
15ですが、その通りです。フォローどもでした。
0023前スレ7942009/07/13(月) 22:49:35
本当は土曜日にもう一度お願いし直したかったのですが、しんどくて出来ませんでした
今日も休んだのですがメールで先生に連絡したら前スレの>>997のように少し待ってくれるみたいです
ギャグではないので改めて宜しくお願いします
0024 ◆jG/Re6aTC. 2009/07/13(月) 22:53:14
>>17
>>19さん

ありがとうございます!!!
提出するだけでなく、17,19さんみたいにソースを書けるように勉強させてもらいます^^
0025デフォルトの名無しさん2009/07/13(月) 23:11:48
>>23
前スレ794は解答者です
0026デフォルトの名無しさん2009/07/13(月) 23:15:58
>>21
>その研究内容でC++使って作るのははっきり言って無駄だって教授に言ってみろ。

教授の真意を聞いたほうがいい。
本当の研究としてだけ(学会論文目指して)やってるならそうだが、
そうじゃないなら、学生の勉強のためにやらせてる可能性もある。

それに、調べるだけならチャットを作る必要はないんだが、
「改良」したいなら、学生がちゃんとソースを理解していることが必要だ。
それでも、C++を選択する理由としては弱いかもしれないが。
0027デフォルトの名無しさん2009/07/13(月) 23:17:48
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
No.9742に前スレの>>820クワイン・マクラスキー法書いたよ。
やり方分からなくてこうなったけど。
0028前スレ7492009/07/13(月) 23:18:17
すいません、ぼけていました
正しくは749ですね
>>25さん指摘ありがとうございました
0029デフォルトの名無しさん2009/07/13(月) 23:20:18
>>11
全くの無知な学生にこの課題を出すなら、パワハラの可能性があるのでしかるべきところに相談するといいんじゃね?
0030デフォルトの名無しさん2009/07/13(月) 23:28:31
>>28
>配列を用いた計算機のプログラム
の意味がよく分からない
0031デフォルトの名無しさん2009/07/13(月) 23:39:38
>>28
丸一週間寝込んだってこと?お大事に。
0032デフォルトの名無しさん2009/07/14(火) 00:42:12
#include<iostream>
using namespace std;

int main(){
int a;

cout << "数値を入力してください\n";
cin >> a;

if( a > 30)
cout <<"31以上ですね\n";
}
else if(a<10){
cout <<"10未満ですね\n";
}
else {
cout <<"30以下で10以上ですね\n";
}
return 0;
}



これが例文なんですが、

ある整数変数をキーボードから入力し、その数値が9以下なら『入力した値は1桁です』と表示させて、10以上、99以下の場合は、『入力した値は2桁です』と表示させ、
100以上なら『入力した値は3桁以上です』と表示するプログラムを作成せよ


誰かこれ教えてくれませんか?
0033デフォルトの名無しさん2009/07/14(火) 00:47:47
>>32
いいよ
0034デフォルトの名無しさん2009/07/14(火) 00:48:36
>>32

#include<iostream>
using namespace std;

int main(){
int a;

cout << "数値を入力してください\n";
cin >> a;

if( a <= 9)
cout <<"入力した値は1桁です\n";
}
else if(a <= 99){
cout <<"入力した値は2桁です\n";
}
else {
cout <<"入力した値は3桁以上です\n";
}
return 0;
}
0035デフォルトの名無しさん2009/07/14(火) 00:52:31
>>32
その例があって、その問題が答えられないって小学生未満?
0036デフォルトの名無しさん2009/07/14(火) 01:00:31
>>32
>>1嫁といいたいところだがやさしい俺様は説いてあげるよ

#include <iostream>
#define DEBUG
using namespace std;

void hoge(int num){
if(num <= 9) cout << "入力した値は1桁です" << endl;
else if(num <= 99) cout << "入力した値は2桁です" << endl;
else cout << "入力した値は3桁以上です" << endl;
}

int main()
{
int num;

cin >> num;
hoge(num);

#ifdef DEBUG
cout << "num に負の数を入れてみる" << endl;
num = -100;
hoge(num);
cout << "規定外の動作だけど見なかったことにしよう!" << endl;
#endif

return 0;
}

>>35
質問の仕方からしてガキでしょ
0037デフォルトの名無しさん2009/07/14(火) 01:02:24
"入力した値は1桁です"と出力せよであって、入力した値が1桁の場合に
そのように出力する問題ではないのだよ
-100は9以下なので、"入力した値は1桁です"と出力することは完全に仕様通り。
0038デフォルトの名無しさん2009/07/14(火) 01:07:48
おっと失礼。規定外という表現が誤りだった。確かに完全に仕様通りだよ。
ただその仕様どうなのよってことが言いたかったの。
0039デフォルトの名無しさん2009/07/14(火) 01:09:06
ありがとうございました
変数aの値がbより小さい場合には、『aはbより小さいです』と表示させ、大きい場合には"a=a+b"を計算させる

文字変数mの中身が'a'ならば、『aが格納されています』と表示させて、'a'でないならば『'a'でない文字が格納されています』と表示させたあと、変数bとcを使った『b=b+c』を計算する。

変数aが、変数bより小さい場合には、『aはbより小さいです』と表示し、変数bより大きい場合には、『aはbより大きいです』と表示し、変数bと等しい場合には、『aとbは等しいです』と表示する

先ほどの例を踏まえて誰かこれ教えてくれませんか?
0040デフォルトの名無しさん2009/07/14(火) 01:10:25
9以下だった場合は「今日も暑いですね」と出力するのと同じように考えればいいよ
出力する文字列なんて下っ端には関係ないんです
…もちろんネタだよ
0041デフォルトの名無しさん2009/07/14(火) 01:11:08
おまwww
先ほどの例を参考に自分で考えるという選択肢はなしかよwww
0042デフォルトの名無しさん2009/07/14(火) 01:14:52
でもお礼を言えるっていうのは良い事だよ、うん。
0043デフォルトの名無しさん2009/07/14(火) 01:32:52
なんか前スレで見たような気がするな
0044デフォルトの名無しさん2009/07/14(火) 01:44:15
>>39
>変数aの値がbより小さい場合には、『aはbより小さいです』と表示させ、大きい場合には"a=a+b"を計算させる
main(a,b){a+b<b*2&&puts("aはbより小さいです");}

>文字変数mの中身が'a'ならば、『aが格納されています』と表示させて、'a'でないならば『'a'でない文字が格納されています』と表示させたあと、変数bとcを使った『b=b+c』を計算する。
main(m){printf("%sが格納されています",m==97?"a":"'a'でない文字");}

>変数aが、変数bより小さい場合には、『aはbより小さいです』と表示し、変数bより大きい場合には、『aはbより大きいです』と表示し、変数bと等しい場合には、『aとbは等しいです』と表示する
main(a,b){a<b&&puts("aはbより小さいです")||a>b&&puts("aはbより大きいです")||puts("aとbは等しいです");}

久しぶりにショートコーディングしてみるぜ!
C++指定無いからこれでいいよね?
あ、もちろん先ほどの礼を踏まえた回答だよ?
これでキミはヒーローだっ!!
0045デフォルトの名無しさん2009/07/14(火) 02:15:38
>>44 コンパイル忘れてるよ。
0046デフォルトの名無しさん2009/07/14(火) 02:32:37
1] 授業単元:
    ゼミナール
[2] 問題文(含コード&リンク):
    「音声をマイクを使って入力し、リアルタイムでスピーカーから出力する」
[3] 環境
 [3.1] OS: Linux
 [3.2] gcc
 [3.3] 言語:C言語
[4] 期限: 2009年7月20日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
  制限は特にありません。


ttp://homepage3.nifty.com/rio_i/lab/oss/004mic.htm
このページを参考にしつつプログラムを書いていたのですが、
録音と再生を同時に行うところで行き詰まってしまいました。
このページにのってるプログラムに追加する形でどなたか教えていただけないでしょうか。
0047デフォルトの名無しさん2009/07/14(火) 12:06:02
前スレ>>970です。
エラーが起こってしまうので、どなたか修正していただけないでしょうか。
0048デフォルトの名無しさん2009/07/14(火) 12:16:24
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
主語、目的語、述部が入ったデータファイルを読み込み、それらをランダムに組み合わせて生成した短文を20個ファイルに出力するプログラムの作成。
短文の構文は必ず、「(主語)は、(目的語)(述部)。」となるようにする。

出力例:俺は、カレーが大好きだ。

データファイルは以下を使用すること。
主語: 俺 私 あなた 彼 彼女 先生 犬のポチ 猫のタマ ライオン その人 政治家 ネズミ
目的語: カレー ご飯 肉 授業 男 女 すごいもの アレ アンパン お金 
述部: が大好きだ が大嫌いだ を作った をなくした が欲しい に全力を尽くす を新しいものに交換した ?なにそれ美味いの? について深く考えた を捨てた に塩をふりかけた
[3] 環境
 [3.1] OS: Windows
 [3.3] 言語: C
[4] 期限: 2009年7月20日
0049デフォルトの名無しさん2009/07/14(火) 12:18:00
[1] 授業単元:プログラミング
[2] 問題文 2人の人の名前と年齢をキー入力し、同じ年なら「○○さんと××さんは同じ年です」、
そうでなければ「○○さんは××さんよりyy 歳年上です」と表示するプログラムを作成せよ。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: borlandc++
 [3.3] 言語: C
[4] 期限: 今日の2時30分
[5] その他の制限: なし
よろしくお願いします
0050>82009/07/14(火) 12:24:18
それ間違ってないか?
0051デフォルトの名無しさん2009/07/14(火) 12:24:27
>>47
エラーが出るというなら、コードとそのエラーを貼るべきだな。
でないとどこで何が起きているのかわからん。
0052デフォルトの名無しさん2009/07/14(火) 12:24:43
>>47
前スレ>>971の回答なら俺も試したがエラー出なかったぞ
自分の書いたソースをロダにうpすれ
0053デフォルトの名無しさん2009/07/14(火) 12:27:37
>>48
前スレ>>939に回答
0054472009/07/14(火) 12:55:24
すみません。
入力が誤っていたみたいです。ありがとうございました。
0055デフォルトの名無しさん2009/07/14(火) 12:58:23
前スレの>>772です。スレが変わったのでもう一度貼っておきます。

[1] 授業単元: 4次のルンゲ−クッタ法を用いて連立微分方程式を解く
[2] 問題文:システムの状態x = (x, y, z) が、以下の連立微分方程式に従う場合の挙動をシミュレーション
する.
dx/dt= −y − z
dy/dt= x + ay
dz/dt= b + (x − c)z
【課題1】4 次のルンゲ-クッタ法を用いて上記方程式を数値的に解くプログラムreport.c を完
成させよ.report.c には3 つの関数が定義されている.ルンゲ-クッタ法を1 ステップ行う関数
rungekutta() は完成しているが、導関数を求める関数deriv() とプログラム全体を制御する関
数main() は不完全である.各関数に適切な実行文等を記述し、プログラムを実行できるよう完
成させよ.
【課題2】課題1で完成させたプログラムreport.c を用い、シミュレーションを実行する.シス
テムパラメータが
1. (a, b, c) = (1.0, 0.2, 1.0)
2. (a, b, c) = (1.0, 0.2, 8.0)
の2つの場合に、時刻t = 200.0 からt = 400.0 の間にx が位相空間に描く軌跡を図に表せ.シ
ミュレーションの時間刻みはdt = 0.02 とし、初期値x(0) = (x(0), y(0), z(0)) は適当な値を選ぶ
こと.またそれぞれの場合について、初期値をわずかに変化させた場合に軌跡がどのように変化
するかを、同様に図に表して比較せよ.
[3] 環境 Vine Linux
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:C
[4] 期限:2009年7月28日
[5] その他の制限:ソースは長いので3レスに分けて投稿します。ソースを以前ろだに貼ろうと思ったのですができませんでした。見づらくてすいません。

どうか宜しくお願いします。
00567722009/07/14(火) 13:00:29
#include <stdio.h>
#include <math.h>
#define N 3 //システムの次元
double a = 0.20;
double b = 0.20;
double c = 10.0;
/* 導関数 */
/* x における dx/dt を求める */
void derivs(double t, double x[], double dxdt[])
{
/* dx/dt = f(x) */
dxdt[0] = ;
dxdt[1] = ;
dxdt[2] = ;
}
00577722009/07/14(火) 13:01:33
>>56の続きです。
/* ルンゲクッタ法を1ステップ行う関数   */
/* x(t)=xin から x(t+h)=xout を求める */
void rungekutta(double xin[], double xout[], double t, double h)
{
int i;
double th2,h2,h6;
double dxdt0[N], dxdt1[N], dxdt2[N], dxdt3[N], xt[N];
double deriv(double, double [], double []);

h2=h*0.5;
h6=h/6.0;

th2=t+h2;
derivs(t,xin,dxdt0);
for(i=0;i<N;i++) xt[i] = xin[i] + h2*dxdt0[i];

derivs(th2,xt,dxdt1);
for(i=0;i<N;i++) xt[i] = xin[i] + h2*dxdt1[i];

derivs(th2,xt,dxdt2);
for(i=0;i<N;i++) xt[i] = xin[i] + h*dxdt2[i];

derivs(t+h,xt,dxdt3);
for(i=0;i<N;i++)
xout[i] = xin[i] + h6*(dxdt0[i]+2.0*(dxdt1[i]+dxdt2[i])+dxdt3[i]);
}
00587722009/07/14(火) 13:02:34
>>57の続きです。
int main()
{
int i;
double t, tmax, dt;
double x[N], x_next[N];
FILE *fp;
void rungekutta(double [], double [], double, double);
/* 諸変数を初期化 */
tmax = ;
dt = ;
/* システムの状態を表すベクトルx(N次元)の初期化 */

/* 計算結果を書き出す為のファイルを開く */
fp = fopen("result.dat","w");
/* 時間tを刻み幅dtずつ増加させながら時間発展 */
for(t=0.0;t<tmax;t+=dt){

/* 時刻tとxの各要素をファイルに書き出す */
fprintf(fp,"%lf %lf %lf %lf\n ", t, x[0], x[1], x[2]);
/* xを更新 */
x +=
}
/* ファイルを閉じる */
fclose(fp);
return 0;
}
0059デフォルトの名無しさん2009/07/14(火) 13:05:38
うpろだが使えなかった人だっけ
はやくうpろだ使えるようになってくれよ
0060デフォルトの名無しさん2009/07/14(火) 13:08:27
すみません。学習意欲がないんで、うpろだの使い方とか覚えるの面倒くさいんです。
だからはやく宿題手伝ってください。
0061デフォルトの名無しさん2009/07/14(火) 13:37:26
>>50 いえいえ、合ってますよ。
>>60 ファイル名のところに直接ファイル名書いてる?、「参照..」ボタン押せ。
0062デフォルトの名無しさん2009/07/14(火) 13:39:18
>>61
60は本人じゃないだろw
このスレのみんなの心の声だ
0063 ◆/91kCCQXBo 2009/07/14(火) 13:52:23
>>039 これは多分1、2、3を順次処理する問題なのだろう。
#include <iostream>
using namespace std;
int main(void) {
  int a, b, c;
  char m;
  cout<<"a:"; cin>>a;
  cout<<"b:"; cin>>b;
  cout<<"c:"; cin>>c;
  cout<<"m:"; cin>>m;

  if(a < b) /* - 1 - */
    cout<<"aはbより小さいです\n";
  else if(a > b)
    a = a + b;

  if( m == 'a' ) /* - 2 - */
    cout<<"'a'が格納されています\n";
  else
    cout<<"'a'でない文字が格納されています\n";
  b = b + c;

  cout<<"a="<<a<<endl;
  cout<<"b="<<b<<endl;
  if(a < b) /* - 3 - */
    cout<<"aはbより小さいです\n";
  else if(a > b)
    cout<<"aはbより大きいです\n";
  else
    cout<<"aとbは等しいです\n";
}
0064デフォルトの名無しさん2009/07/14(火) 13:56:51
>>2
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9745.zip
キャストって、(int),(double)で良いんだよねぇ?
0065 ◆/91kCCQXBo 2009/07/14(火) 15:00:08
>>049 2人の人の名前と年齢をキー入力
http://jbbs.livedoor.jp/bbs/read.cgi/computer/32221/1246384344/19
0066デフォルトの名無しさん2009/07/14(火) 15:27:58
>>55です。大変ご迷惑をおかけしました。ろだにソースを貼りましたのでよろしくお願いします。
0067デフォルトの名無しさん2009/07/14(火) 15:41:56
>>53 回答に誤りがあったみたいでプログラムが作動しません。

>>48 どなたかお願いします。
0068デフォルトの名無しさん2009/07/14(火) 15:59:17
>>67
前スレ>>939の回答だが試してみた。
で、コンパイルエラーが起こったけど修正すれば動いた。

>>srand((unsigned) time(NULL));/* 乱数系列の変更 */
上記の一文を変数宣言後の位置にいどうするか、コメントアウトすれば動く。

C99なら問題ないのだけど。 
0069デフォルトの名無しさん2009/07/14(火) 16:30:14
>>67
前回回答した者だけど、規格とかまで理解できてなかったゴメン・・・
>>68さんが言ってるように修正してみてほしい
コメントアウトすると乱数が一定になるからなるべく移動で解決する方が良さそう
あと、それでもエラーが出るようなら、エラーメッセージを貼り付けて欲しい
0070デフォルトの名無しさん2009/07/14(火) 17:26:39
>>48
データファイルが本当にそういう仕様だと信じて書いてみた。
入力ファイル名、出力ファイル名はそれぞれ input.txt output.txt ね。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9747.txt
0071デフォルトの名無しさん2009/07/14(火) 17:37:44
ノールなら130資源地しらみつぶしに攻撃したら100匹くらいやとってるとこあるからそれで完了
0072デフォルトの名無しさん2009/07/14(火) 18:37:04
[1] 授業単元:C言語
[2] 問題文:配列を用いた計算機のプログラムを作成してください。
計算は前から順に行われていく。
入力される数値の個数は最大でも20個としてください。

[3] 環境
 [3.1] OS: XP
 [3.2] コンパイラ名とバージョン: Visual Studio 2008
 [3.3] 言語:C言語

[4] 期限:2009年7月19日
[5] その他:特になし
自分も新スレになったので再貼りです
改めてよろしくおねがいします
0073デフォルトの名無しさん2009/07/14(火) 18:37:48
>>72
>配列を用いた計算機のプログラムを作成してください。
の具体例をくれ
0074 ◆/91kCCQXBo 2009/07/14(火) 18:41:02
>>070 コンパイルして、テストはしていないみたい。
#define DELIMITER " \n" /* 半角文字 */

/* 主語の読み込み */
fgets(sbuff, BUFFSIZE, ifp);
s[0] = strtok(sbuff, DELIMITER);
for (i = 1; i < S; ++i) s[i] = strtok(NULL, DELIMITER);

/* 目的語の読み込み */
fgets(mbuff, BUFFSIZE, ifp);
m[0] = strtok(mbuff, DELIMITER);
for (i = 1; i < M; ++i) m[i] = strtok(NULL, DELIMITER);

/* 述部の読み込み */
fgets(jbuff, BUFFSIZE, ifp);
j[0] = strtok(jbuff, DELIMITER);
for (i = 1; i < J; ++i) j[i] = strtok(NULL, DELIMITER);
0075デフォルトの名無しさん2009/07/14(火) 19:39:08
>>72
問題文の意味が全く分からない
0076デフォルトの名無しさん2009/07/14(火) 19:42:05
>>72
・問題文は、出題されたまま全文を書いてください。
0077デフォルトの名無しさん2009/07/14(火) 20:25:48
>>64
はい!ほんとにありがとうございました。
助かりました
0078デフォルトの名無しさん2009/07/14(火) 20:28:38
適当にエスパーしたものを貼っておく
#include <stdio.h>
#define MAX 20
int main(void) {
int i;
double result;
double num[MAX];
char op[MAX];
printf("1 個目の数字 = "); scanf("%lf", &num[0]); getchar();
for (i = 1; i < MAX; i++) {
printf("%d 個目の演算子 = ", i);
if ((op[i] = getchar()) == EOF) break;
printf("%d 個目の数字 = ", i + 1); scanf("%lf", &num[i]); getchar();
}
result = num[0];
for (i = 1; i < MAX && op[i] != EOF; i++) {
switch (op[i]) {
case '+': result += num[i]; break;
case '-': result -= num[i]; break;
case '*': result *= num[i]; break;
case '/': result /= num[i]; break;
default: printf("error\n"); return 1;
}
}
printf("ans = %f\n", result);
return 0;
}
0079デフォルトの名無しさん2009/07/14(火) 20:34:06
前スレ962をお願いします
0080デフォルトの名無しさん2009/07/14(火) 20:35:20
>>79
問題張りなおして
0081792009/07/14(火) 20:44:12
http://www.dotup.org/uploda/www.dotup.org237261.txt.html

お願いします
0082デフォルトの名無しさん2009/07/14(火) 20:47:21
課題なんだが。。。。

#include<stdio.h>
void kakugyou(void);
int hen,x,y;
void main(void)
{
printf("数字(2〜9)を入力してください:");
scanf("%d",&hen);
while(x<=hen)
{
kakugyou();
x++;
}
0083デフォルトの名無しさん2009/07/14(火) 20:48:42
↑の続き
x=hen-1;
while(1<=x)
{
kakugyou();
x=x-1;
}
}
void kakugyou(void)
{
y=1;
while(y<=x)
{
printf("*");
y=y+1;
}
printf("\n");
}
これだと、アスタリスクが旗みたいな形になるけど、これを基本にしてダイヤ型と六角形、星形の結果を出すにはどうしたらいいのだろうか。
誰か教えてください。
0084デフォルトの名無しさん2009/07/14(火) 20:51:56
ゆとり増えすぎだろこのスレマジで・・
0085デフォルトの名無しさん2009/07/14(火) 20:55:45
>星形の結果を出すにはどうしたらいいのだろうか
ビルから飛び降りればいいんじゃないかな?
0086デフォルトの名無しさん2009/07/14(火) 21:07:07
[1] 授業単元:C++
[2] 問題文(含コード&リンク):
http://down11.ddo.jp/uploader/download/1247572884.rar/attatch
[3] 環境
 [3.1] OS: (WindowsVista)
 [3.2] textpad
 [3.3] 言語: (C++)
[4] 期限: ([2009年07月15日23:59まで)

独自のプログラムの書き方なので、とても困っています。
色々と試してみたのですが、自分の力だけでは出来そうにないため相談しました。
取り扱い説明書やプログラムは001.rarに入れておきました。
緊急を要しますので、何方かどうかよろしくお願いします。
ファイルサイズが大きいため違うアップローダーをお借りしました。
パスワードは以下になります。

pass:C/C++
0087デフォルトの名無しさん2009/07/14(火) 21:21:18
>>81
課題1
#include <stdio.h>

int main(int argc, char **argv)
{
FILE *fp1, *fp2, *tfp;
int c;

if (argc != 3) return 1;

fp1 = fopen(argv[1], "r"); tfp = fopen("temp.txt", "w");
while ((c = fgetc(fp1)) != EOF) fputc(c, tfp);
fclose(fp1); fclose(tfp);

fp1 = fopen(argv[1], "w"); fp2 = fopen(argv[2], "r");
while ((c = fgetc(fp2)) != EOF) fputc(c, fp1);
fclose(fp1); fclose(fp2);

fp2 = fopen(argv[2], "w"); tfp = fopen("temp.txt", "r");
while ((c = fgetc(tfp)) != EOF) fputc(c, fp2);
fclose(fp2); fclose(tfp);

return 0;
}
0088デフォルトの名無しさん2009/07/14(火) 21:32:10
>>86 RAR駄目やっ。
Extracting from D:\My Documents\Cplus\Part129_086\001.rar
Extracting D:\My Documents\Cplus\Part129_086\tex.bmp
CRCエラー: D:\My Documents\Cplus\Part129_086\tex.bmp
0089デフォルトの名無しさん2009/07/14(火) 21:40:24
>>81 課題2
#include <stdio.h>
#include <stdlib.h>
#define N 10

int comp_i(const void *m, const void *n) { return *(int *)m - *(int *)n; }
int comp_d(const void *x, const void *y) { return *(double *)x - *(double *)y; }

int main(void)
{
int a[N];
double x[N];
int i;
srand(time(NULL));

for (i = 0; i < N; i++) { a[i] = rand() % 100; x[i] = (double)rand() / RAND_MAX; }

printf("整数1〜100の乱数を%d個発生しました\n", N);
for (i = 0; i < N; i++) printf("%7d", a[i]);
puts("\nソートすると");
qsort(a, N, sizeof(int), comp_i);
for (i = 0; i < N; i++) printf("%7d", a[i]);
puts("");

printf("実数[0, 1]の乱数を%d個発生しました\n");
for (i = 0; i < N; i++) printf("%7.3f", x[i]);
puts("\nソートすると");
qsort(x, N, sizeof(double), comp_d);
for (i = 0; i < N; i++) printf("%7.3f", x[i]);
puts("");
return 0;
}
0090デフォルトの名無しさん2009/07/14(火) 21:47:25
ごめん>>89は忘れて
0091デフォルトの名無しさん2009/07/14(火) 21:50:54
>>81
Q2
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9748.txt
0092デフォルトの名無しさん2009/07/14(火) 21:51:50
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9749.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: ?
 [3.3] 言語: C
[4] 期限: 7/17
[5] その他の制限: 特にありません。よろしくお願いします。
0093デフォルトの名無しさん2009/07/14(火) 21:57:24
>>88
zipになります。どうかよろしくお願いします。
http://down11.ddo.jp/uploader/download/1247576184.zip/attatch
0094デフォルトの名無しさん2009/07/14(火) 21:58:07
>>88
passは先ほどと同じですので
0095デフォルトの名無しさん2009/07/14(火) 21:59:38
>>92
(2)
#include <stdio.h>

int main(void)
{
int i, j;
i = 1;
while (i < 10) {
j = 1;
while (j < 10) printf("%3d", i * j++);
printf("\n");
i++;
}
return 0;
}
0096デフォルトの名無しさん2009/07/14(火) 22:26:39
>>55
課題1
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9750.c

あと問題をアップロードしたら>>66だけじゃなくリンクも書いて
元のソースこれでいいんだね?
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9746.c
0097デフォルトの名無しさん2009/07/14(火) 22:37:54
>>92
(1)
#include <stdio.h>

int main(void)
{
int f1, f2, f3, n;
printf("n = "); scanf("%d", &n);
if (n == 0) { printf("F(0) = 0\n"); return 0; }
if (n == 1) { printf("F(1) = 1\n"); return 0; }
f1 = 0; f2 = 1;
while (n >= 2) { f3 = f2 + f1; f1 = f2; f2 = f3; n--; }
printf("F(%d) = %d\n", n, f3);
return 0;
}
0098792009/07/14(火) 23:01:46
>>90
ありがとうございます
0099デフォルトの名無しさん2009/07/15(水) 01:17:23
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9751.txt
[3] 環境
 [3.1] OS: Windows
 [3.3] 言語: C
[4] 期限: 7/17
[5] その他:特になし
どうかよろしくお願いします。
0100デフォルトの名無しさん2009/07/15(水) 01:37:56
>>99
解答01: string.h
解答02: cc minitest0926A.c -o minitest0926A
解答03: 3.464102
解答04: s=r*r*3.142;
解答05: 25
解答06: ( (x)<5 ? 'c' : 'd' )
解答07: .9
解答08: p=3.141592654

環境依存あるかも。
0101デフォルトの名無しさん2009/07/15(水) 01:50:31
>>100
ありがとうございます
■ このスレッドは過去ログ倉庫に格納されています