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


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

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



1 名前:デフォルトの名無しさん [2009/07/13(月) 07:46:32 BE:142007235-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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
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++の宿題片付けます 128代目
pc12.2ch.net/test/read.cgi/tech/1245853701/

2 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 17:49:16 ]
[1] 授業単元:
コンパイラの構成
[2] 問題文(含コード&リンク):
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の問題です。よろしくお願いします。
今日中にできそうにないので期限を延ばして再提出することにしました。

3 名前:tac [2009/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++でウインドウを開き、チャットの画面を作り、書き込み欄に書き込むと
その書き込まれた文字列がウインドウに表示されるプログラムから教えていただけると嬉しいです。

期限は来週ですが、出来るだけ早い完成が望ましいので宜しくお願いします。


4 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 20:14:29 ]
バレが怖いのでメールでやり取りしたいのですが、
もしそれでも片付けてくれる人がいらっしゃればお願いできないでしょうか?

5 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 20:15:24 ]
問題文を見るとチャットである必要がないし、やるにしてもCUIでいいと思うんだが。
ゼミってことは通信技術方面の研究室なんでしょ?それなら今後を考えて自分でやったほうがいいと思うよ。
初心者でも分かる参考書を紹介しとくから、勉強してみてダメだったらもう一回来てみたら?
www.amazon.co.jp/dp/4797334797
あとCは使えるんだよね?Cが使えることは大前提だから。

6 名前:デフォルトの名無しさん [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] その他の制限:

7 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 20:56:54 ]
>>3
mixiのほうはもういいの?

8 名前:デフォルトの名無しさん mailto:sage [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;
}

9 名前:前スレ949 mailto:sage [2009/07/13(月) 21:12:28 ]
前スレの>>963さん、>>972さんありがとうございます!おかげで助かりました。

10 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 21:14:23 ]
>>4
メールアドレスは?



11 名前:tac [2009/07/13(月) 21:28:03 ]
>>5
完成系のイメージはチャットのような事ができるプログラムを使って、
 実際の講義中にそのプログラムを使い、学生に対して使用した場合
 どのような効果が得られるかを検証することなので、
 チャットでなくても、インスタントメッセンジャー?!でも良いです。
 
 一応、情報系の学部ですが、
 研究テーマは「チャットのようなモノを使った時の学生の学習効果」です。
 なので、プログラミングに対して全く無知なので、力を貸していただけないでしょうか??

12 名前:デフォルトの名無しさん mailto:sage [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日

13 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 21:37:45 ]
>>11
学習効果の調査ならc++である必要はあるの?
あと都合のいいコメントだけレス返すのやめたほうがいいですよ

14 名前:tac [2009/07/13(月) 21:41:21 ]
>>11
 C++は所属しているゼミの先生の指定があったので、強制的に決定してしまいました。
 都合のいいコメントだけにレスを返したつもりはなかったんですが、
 勘違いされたなら、申し訳ありませんでした。

15 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 21:42:54 ]
>>11
それがホントならフリーのチャットPG漁るべき。
C系言語でソケットから作ろうつーのは迂遠過ぎる。
(C系言語が得意で漁るより作るほうが早いって人は別ね)

16 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 21:48:45 ]
勘違いにするならいいや

17 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 21:49:02 ]
前スレ >> 988 (1)3つ以上の整数の階層的クラスタリングを行うプログラムを作成せよ。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9740.txt

実行時間がN*N*Nに比例する単純なやつ
ぐぐったらN*N*log(N)のアルゴリズムがあるらしいので、
こういうの好きな人は俺のにかまわず別回答どうぞ

18 名前:tac [2009/07/13(月) 21:50:14 ]
>11>>15
  チャットPGっていうのは、簡易型のチャットってことですか?
 「漁る」の意味がいまいち理解できなかったんですが、どういう意味でしょうか?
 

19 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 21:55:55 ]
>>17
やべ、一部ミスがあったので修正
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9741.txt

20 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 22:01:31 ]
>>18
15じゃないが漁るというのはチャットプログラムを作るのではなく、
既にあり公開されているものを持ってきて利用した方が良いのでは?
ということだろう



21 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 22:06:16 ]
>>18
漁るってのはどこからか適当なソースコード見つけてきてパクってくるってこと。
だいたい「チャットのようなモノを使った時の学生の学習効果」を調べるだけなら
わざわざ自分でチャットプログラム作る必要がないし。
チャットをする方法はjavascriptのチャットルーム使うとか、IRCクライアントを使うとか方法は
いくらでもあるからその研究内容でC++使って作るのははっきり言って無駄だって教授に言ってみろ。

22 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 22:27:12 ]
>>20 >>21
15ですが、その通りです。フォローどもでした。

23 名前:前スレ794 mailto:sage [2009/07/13(月) 22:49:35 ]
本当は土曜日にもう一度お願いし直したかったのですが、しんどくて出来ませんでした
今日も休んだのですがメールで先生に連絡したら前スレの>>997のように少し待ってくれるみたいです
ギャグではないので改めて宜しくお願いします

24 名前: ◆jG/Re6aTC. mailto:sage [2009/07/13(月) 22:53:14 ]
>>17
>>19さん

ありがとうございます!!!
提出するだけでなく、17,19さんみたいにソースを書けるように勉強させてもらいます^^


25 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 23:11:48 ]
>>23
前スレ794は解答者です

26 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 23:15:58 ]
>>21
>その研究内容でC++使って作るのははっきり言って無駄だって教授に言ってみろ。

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

それに、調べるだけならチャットを作る必要はないんだが、
「改良」したいなら、学生がちゃんとソースを理解していることが必要だ。
それでも、C++を選択する理由としては弱いかもしれないが。

27 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 23:17:48 ]
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
No.9742に前スレの>>820クワイン・マクラスキー法書いたよ。
やり方分からなくてこうなったけど。

28 名前:前スレ749 mailto:sage [2009/07/13(月) 23:18:17 ]
すいません、ぼけていました
正しくは749ですね
>>25さん指摘ありがとうございました

29 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 23:20:18 ]
>>11
全くの無知な学生にこの課題を出すなら、パワハラの可能性があるのでしかるべきところに相談するといいんじゃね?

30 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 23:28:31 ]
>>28
>配列を用いた計算機のプログラム
の意味がよく分からない



31 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 23:39:38 ]
>>28
丸一週間寝込んだってこと?お大事に。

32 名前:デフォルトの名無しさん [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桁以上です』と表示するプログラムを作成せよ


誰かこれ教えてくれませんか?

33 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 00:47:47 ]
>>32
いいよ

34 名前:デフォルトの名無しさん mailto:sage [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;
}

35 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 00:52:31 ]
>>32
その例があって、その問題が答えられないって小学生未満?

36 名前:デフォルトの名無しさん mailto:sage [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
質問の仕方からしてガキでしょ

37 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 01:02:24 ]
"入力した値は1桁です"と出力せよであって、入力した値が1桁の場合に
そのように出力する問題ではないのだよ
-100は9以下なので、"入力した値は1桁です"と出力することは完全に仕様通り。

38 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 01:07:48 ]
おっと失礼。規定外という表現が誤りだった。確かに完全に仕様通りだよ。
ただその仕様どうなのよってことが言いたかったの。

39 名前:デフォルトの名無しさん [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は等しいです』と表示する

先ほどの例を踏まえて誰かこれ教えてくれませんか?

40 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 01:10:25 ]
9以下だった場合は「今日も暑いですね」と出力するのと同じように考えればいいよ
出力する文字列なんて下っ端には関係ないんです
…もちろんネタだよ



41 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 01:11:08 ]
おまwww
先ほどの例を参考に自分で考えるという選択肢はなしかよwww

42 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 01:14:52 ]
でもお礼を言えるっていうのは良い事だよ、うん。


43 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 01:32:52 ]
なんか前スレで見たような気がするな

44 名前:デフォルトの名無しさん mailto:sage [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++指定無いからこれでいいよね?
あ、もちろん先ほどの礼を踏まえた回答だよ?
これでキミはヒーローだっ!!

45 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 02:15:38 ]
>>44 コンパイル忘れてるよ。

46 名前:デフォルトの名無しさん mailto:sage [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
このページを参考にしつつプログラムを書いていたのですが、
録音と再生を同時に行うところで行き詰まってしまいました。
このページにのってるプログラムに追加する形でどなたか教えていただけないでしょうか。

47 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 12:06:02 ]
前スレ>>970です。
エラーが起こってしまうので、どなたか修正していただけないでしょうか。

48 名前:デフォルトの名無しさん [2009/07/14(火) 12:16:24 ]
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
主語、目的語、述部が入ったデータファイルを読み込み、それらをランダムに組み合わせて生成した短文を20個ファイルに出力するプログラムの作成。
短文の構文は必ず、「(主語)は、(目的語)(述部)。」となるようにする。

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

データファイルは以下を使用すること。
主語: 俺 私 あなた 彼 彼女 先生 犬のポチ 猫のタマ ライオン その人 政治家 ネズミ
目的語: カレー ご飯 肉 授業 男 女 すごいもの アレ アンパン お金 
述部: が大好きだ が大嫌いだ を作った をなくした が欲しい に全力を尽くす を新しいものに交換した ?なにそれ美味いの? について深く考えた を捨てた に塩をふりかけた
[3] 環境
 [3.1] OS: Windows
 [3.3] 言語: C
[4] 期限: 2009年7月20日

49 名前:デフォルトの名無しさん mailto:sage [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] その他の制限: なし
よろしくお願いします

50 名前:>8 [2009/07/14(火) 12:24:18 ]
それ間違ってないか?



51 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 12:24:27 ]
>>47
エラーが出るというなら、コードとそのエラーを貼るべきだな。
でないとどこで何が起きているのかわからん。

52 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 12:24:43 ]
>>47
前スレ>>971の回答なら俺も試したがエラー出なかったぞ
自分の書いたソースをロダにうpすれ

53 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 12:27:37 ]
>>48
前スレ>>939に回答

54 名前:47 mailto:sage [2009/07/14(火) 12:55:24 ]
すみません。
入力が誤っていたみたいです。ありがとうございました。

55 名前:デフォルトの名無しさん mailto:sage [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レスに分けて投稿します。ソースを以前ろだに貼ろうと思ったのですができませんでした。見づらくてすいません。

どうか宜しくお願いします。


56 名前:772 mailto:sage [2009/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] = ;
}


57 名前:772 mailto:sage [2009/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]);
}


58 名前:772 mailto:sage [2009/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;
}


59 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 13:05:38 ]
うpろだが使えなかった人だっけ
はやくうpろだ使えるようになってくれよ

60 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 13:08:27 ]
すみません。学習意欲がないんで、うpろだの使い方とか覚えるの面倒くさいんです。
だからはやく宿題手伝ってください。



61 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 13:37:26 ]
>>50 いえいえ、合ってますよ。
>>60 ファイル名のところに直接ファイル名書いてる?、「参照..」ボタン押せ。

62 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 13:39:18 ]
>>61
60は本人じゃないだろw
このスレのみんなの心の声だ

63 名前: ◆/91kCCQXBo mailto:sage [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";
}

64 名前:デフォルトの名無しさん [2009/07/14(火) 13:56:51 ]
>>2
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9745.zip
キャストって、(int),(double)で良いんだよねぇ?

65 名前: ◆/91kCCQXBo mailto:sage [2009/07/14(火) 15:00:08 ]
>>049 2人の人の名前と年齢をキー入力
jbbs.livedoor.jp/bbs/read.cgi/computer/32221/1246384344/19

66 名前:デフォルトの名無しさん [2009/07/14(火) 15:27:58 ]
>>55です。大変ご迷惑をおかけしました。ろだにソースを貼りましたのでよろしくお願いします。

67 名前:デフォルトの名無しさん [2009/07/14(火) 15:41:56 ]
>>53 回答に誤りがあったみたいでプログラムが作動しません。

>>48 どなたかお願いします。

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

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

C99なら問題ないのだけど。 

69 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 16:30:14 ]
>>67
前回回答した者だけど、規格とかまで理解できてなかったゴメン・・・
>>68さんが言ってるように修正してみてほしい
コメントアウトすると乱数が一定になるからなるべく移動で解決する方が良さそう
あと、それでもエラーが出るようなら、エラーメッセージを貼り付けて欲しい

70 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 17:26:39 ]
>>48
データファイルが本当にそういう仕様だと信じて書いてみた。
入力ファイル名、出力ファイル名はそれぞれ input.txt output.txt ね。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9747.txt



71 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 17:37:44 ]
ノールなら130資源地しらみつぶしに攻撃したら100匹くらいやとってるとこあるからそれで完了

72 名前:デフォルトの名無しさん [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] その他:特になし
自分も新スレになったので再貼りです
改めてよろしくおねがいします


73 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 18:37:48 ]
>>72
>配列を用いた計算機のプログラムを作成してください。
の具体例をくれ

74 名前: ◆/91kCCQXBo mailto:sage [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);

75 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 19:39:08 ]
>>72
問題文の意味が全く分からない

76 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 19:42:05 ]
>>72
・問題文は、出題されたまま全文を書いてください。

77 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 20:25:48 ]
>>64
はい!ほんとにありがとうございました。
助かりました

78 名前:デフォルトの名無しさん mailto:sage [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;
}

79 名前:デフォルトの名無しさん [2009/07/14(火) 20:34:06 ]
前スレ962をお願いします

80 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 20:35:20 ]
>>79
問題張りなおして



81 名前:79 [2009/07/14(火) 20:44:12 ]
www.dotup.org/uploda/www.dotup.org237261.txt.html

お願いします

82 名前:デフォルトの名無しさん [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++;
}


83 名前:デフォルトの名無しさん [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");
}
これだと、アスタリスクが旗みたいな形になるけど、これを基本にしてダイヤ型と六角形、星形の結果を出すにはどうしたらいいのだろうか。
誰か教えてください。


84 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 20:51:56 ]
ゆとり増えすぎだろこのスレマジで・・

85 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 20:55:45 ]
>星形の結果を出すにはどうしたらいいのだろうか
ビルから飛び降りればいいんじゃないかな?

86 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:07:07 ]
[1] 授業単元:C++
[2] 問題文(含コード&リンク):
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++

87 名前:デフォルトの名無しさん mailto:sage [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;
}

88 名前:デフォルトの名無しさん mailto:sage [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

89 名前:デフォルトの名無しさん mailto:sage [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;
}

90 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:47:25 ]
ごめん>>89は忘れて



91 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:50:54 ]
>>81
Q2
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9748.txt

92 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:51:50 ]
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): 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] その他の制限: 特にありません。よろしくお願いします。

93 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:57:24 ]
>>88
zipになります。どうかよろしくお願いします。
down11.ddo.jp/uploader/download/1247576184.zip/attatch

94 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:58:07 ]
>>88
passは先ほどと同じですので

95 名前:デフォルトの名無しさん mailto:sage [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;
}

96 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 22:26:39 ]
>>55
課題1
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9750.c

あと問題をアップロードしたら>>66だけじゃなくリンクも書いて
元のソースこれでいいんだね?
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9746.c

97 名前:デフォルトの名無しさん mailto:sage [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;
}

98 名前:79 [2009/07/14(火) 23:01:46 ]
>>90
ありがとうございます

99 名前:デフォルトの名無しさん [2009/07/15(水) 01:17:23 ]
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9751.txt
[3] 環境
 [3.1] OS: Windows
 [3.3] 言語: C
[4] 期限: 7/17
[5] その他:特になし
どうかよろしくお願いします。

100 名前:デフォルトの名無しさん mailto:sage [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

環境依存あるかも。



101 名前:デフォルトの名無しさん [2009/07/15(水) 01:50:31 ]
>>100
ありがとうございます

102 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 02:32:03 ]
[1] 授業単元:OS演習
[2] 問題文(含コード&リンク):
(1)pipe3.cを完成させて、親子プロセス間で交互にメッセ
  ージを交換するプログラムを作成せよ。

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

(2)共有バッファを用いて、子プロセスでメッセージを書き込
  み、親プロセスで読み出すプログラムを作成せよ。ただし、
  共有バッファは128バイトとし、その先頭には‘書き込み
  マーク’を付し、そのリセットは親プロセスが、セットは子
  プロセスが行うとせよ。

[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語:C言語
[4] 期限: 7/16
[5] その他の制限:特にないです、どうかよろしくお願いします

103 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 03:05:57 ]
【質問テンプレ】
[1] 授業単元: C言語演習
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9753.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:  C
[4] 期限: 2009年 7月20日
[5] その他の制限: 特になし

よろしくお願いします

104 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 03:06:34 ]
ここすごく面白そうなスレだ
プログラミングの題材探しにすんげぇ助かるかもしれない

105 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 03:08:39 ]
>>104
利用料を徴収します

106 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 03:23:11 ]
最初はそう思うもんだ
がんばって技術向上のついでに単位取得を手伝ってあげるといい

107 名前:デフォルトの名無しさん [2009/07/15(水) 03:28:46 ]
[1] 授業単元: デジタル信号処理
[2] 問題文(含コード&リンク): 2つのテキストファイル(double型)を読み込み、畳み込み和を計算し、別のファイルに出力せよ。
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:  C
[4] 期限: 2009年 7月16日
[5] その他の制限: よろしくお願いします。


108 名前: ◆/91kCCQXBo mailto:sage [2009/07/15(水) 04:21:59 ]
>>082 ダイヤ型と六角形、星形
Part127>>953(9534) 問題 >>998(CODE)>>999(CODE)>>次014(9548) 「ピラミッドアート」ダイヤ、八角形、星型
Part128>>333(9630)>>342(9635)>>495 問題 >>440(9652) '*'を一辺とする六角形と星形を描画する
Part128>>898 問題 >>915(>>014(9548)) アスタリスクがダイヤ形になるプログラム

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9534.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9548.c
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9652.c
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9630.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9635.txt

109 名前:デフォルトの名無しさん [2009/07/15(水) 09:13:24 ]
[1] 授業単元: OS
[2] 問題文(含コード&リンク):
共有バッファを用いて、子プロセスでメッセージを書き込み、親プロセスで読み出すプログラムを作成せよ。
ただし、共有バッファは128バイトとし
先頭には‘書き込みマーク’を付し、そのリセットは親プロセスが、セットは子プロセスが行うとせよ。

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限:7月17日
[5] その他の制限:なし

よろしくお願いします。

110 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:37:44 ]
1] 授業単元:数値情報解析
[2] 問題文:ニュートン法により代数方程式を解くプログラムを作りなさい。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Visual Studio
 [3.3] 言語:C
[4] 期限:2009年7月22日
[5]少しでも易しい表現にしていただくようよろしくお願い致します。
 あと、ソースファイルに処理過程がわかり易いようにコメント文を加えて
 いただけるとありがたいです。



111 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:58:44 ]
maximaだとこれだけなんだけどね
t(f):=block([fd,h],fd:diff(f(x),x),h:x-f(x)/fd,return(rat(h)))$t(f);
代数方程式に制限はないの?普通の多項式に限るとか
それか、代数方程式とその微分が与えられている前提なら
話は簡単だけども
多項式の微分を自分で作れって問題ならめんどいね

112 名前:デフォルトの名無しさん [2009/07/15(水) 10:36:10 ]
>>110
方程式と、方程式の微分結果は、ソースに直接書くの?
それとも、入力された方程式を解くの?
それによって、難易度がかなり違うんだけども。

113 名前:72 [2009/07/15(水) 11:26:38 ]
問題文はこれで全部です
作成例の実行ファイルを昨日貰ったので家に帰ったらアップします

114 名前:tac [2009/07/15(水) 16:06:17 ]
   先日、このスレッドで質問を書かせていただいたんですが、
  多くの方から、意見をいただき、とても参考になりました。
  今日、ゼミがあったので教授にその話を言うと、
  自分で1から開発せずに、オープンソースを探し、
  もし足りなければ、そこから、改良を加えるという形でOKがでました。
  
   なので、今回はCもしくはC++言語で、
  ソケット間通信を可能にするオープンソースを自分自身でも探してみますが、
  お勧めのソケット間通信のオープンソースのサイトやURLを教えていただけないでしょうか?
  
  
【質問テンプレ】
[1] 授業単元:
    ゼミナール
[2] 問題文(含コード&リンク):
    「PC間でソケットの接続確立とデータを送信を行うプログラム」の
    オープンソースを探す。
[3] 環境
 [3.1] OS: Windows XP
 [3.2] Micro Soft Visual C++ 2008
 [3.3] 言語: C もしくは C++ 言語
[4] 期限: 2009年7月22日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
  制限は特にありません。


  みなさんのお勧めのインスタントメッセンジャーもしくはチャットを
 CもしくはC++言語で書かれたオープンソースを教えて下さい。

  また、お勧めの C または C++ 言語のオープンソースが置いてあるサイトを紹介してください。

  宜しくお願いします。

115 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 16:49:04 ]
FreeBSD(オープンソース)にtalk/talkdというのがあります。

116 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 17:19:47 ]
>>114
mixiであんたが消したトピに答えがあったんだが見てないのか?

117 名前:>>55 mailto:sage [2009/07/15(水) 17:36:32 ]
>>96 すみませんでした。ありがとうございます。

118 名前:デフォルトの名無しさん [2009/07/15(水) 18:32:28 ]
>>114
IPMessanger
www.ipmsg.org/
ソフト自体のソースも公開されてるし、
通信部分のみのDLLなんかもあるから、充分なんじゃない?

119 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 18:36:46 ]
[1] 授業単元:基礎プログラミング
[2] 問題文:

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9754.zip

[3] 環境
 [3.1] OS: vista
 [3.2] コンパイラ名とバージョン: Visual Studio 2008
 [3.3] 言語:C++
[4] 期限:2009年7月17日
[5] その他:特になし

よろしくおねがいします

120 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 18:56:31 ]
>>119
#include<stdio.h>
#include<string.h>
#include<ctype.h>

int check(const char *mailaddress)
{
const char *p;
int at_count=0;

if(!isalpha(mailaddress[0])) return 0;
if(!isalpha(mailaddress[strlen(mailaddress)-1])) return 0;

for(p=mailaddress;*p;p++)
{
if(!isalnum(*p) && !strchr("@-_.", *p)) return 0;
if(*p=='@') at_count++;
}
return (at_count==1);
}

int main(void)
{
char str[21];

printf("メールアドレス =>");
scanf("%20s", str);

if(check(str)) printf("OK\n");
else printf("ERROR\n");
return 0;
}



121 名前:obama ◆dXPOZaWDCk [2009/07/15(水) 19:13:28 ]
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9755.txt
上のプログラムがなぜ図のような座標列を生成したのかを説明せよ
図;g.pic.to/17jcdy
ヒント1;関数draw_polygon()中のif(r>xxx)において、数値xxxをいろいろと変えること
数値xxxを大きくしていくと図が徐々に単純になっていく、単純な図から考えを進めること

ヒント2;自分がパソコンになったつもりでプログラムを順に追っていくこと。
その際呼び出した側のdraw_polygon()と呼び出された側のdraw_polygon()を区別して考えること
(前者と後者のローカル変数の区別をわすれないこと)

[3] 環境
 [3.1] OS: (Windows
 [3.2] コンパイラ名とバージョン:
 [3.3] 言語: (C
[4] 期限: ([09年07月17日13:00まで]
[5] その他の制限:


122 名前:obama ◆dXPOZaWDCk [2009/07/15(水) 19:14:55 ]
>>121
お願いします

123 名前:デフォルトの名無しさん [2009/07/15(水) 19:29:56 ]
どなたか>>107お願いします

124 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:35:45 ]
>>103
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9756.txt

125 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:44:51 ]
[1] 授業単元:ゲームプログラミング入門
[2] 問題文(含コード&リンク):
以下のゲームの中からどれか二つを選んで作成せよ。
・マインスイーパー
・七並べ
・ブラックジャック
・ポーカー
カードゲームを作成する場合、同じカードが2枚存在してはならない。
ジョーカーは無いものとする。

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: [2009年7月17日12:00まで]

出来れば7並べかマインスイーパーをお願いします。

126 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:18:28 ]
[1] 授業単元:基礎c++
[2] 問題文(含コード&リンク):
一次元配列を用いて、Aをn次(nは100以下)の正方行列としたときの
対称行列の成分の添字番号、行成分を格納し表示せよ。
[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン: visual c++
 [3.3] 言語: c++
[4] 期限: 2009年07/17まで
[5] その他の制限: 一次元配列で考える。

よろしくお願いします。


127 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:28:13 ]
>>126
だめだ、10回読み直したけどわからん。
だれか分かりやすく読み下してくれ・・・

128 名前:デフォルトの名無しさん [2009/07/15(水) 20:43:06 ]
n次対称行列の格納に必要な配列の長さはn(n+1)/2
配列名をMとする時
i行j列成分は(i>=j)の時 M[ i*(i-1)/2+j-1 ] (i<j)の時 j,i成分と同じ
乱数で適当に格納した後表示する。
これでどーだ?

129 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:47:13 ]
>>128
先に書かれたー。せっかくなので俺がいま書いた解釈も…

N次正方行列をあらわすには普通N*N個の要素を必要とするが
それが対称行列ならN*(N-1)/2個の要素ですむ
それでは、N次の対称行列をN*(N-1)/2個の要素を持つ一次元配列に
格納し、取り出すプログラムを作成せよ

130 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:48:43 ]
>>128,129
ありがとうございます。
じっくり考えたいと思います。



131 名前:72 [2009/07/15(水) 21:05:30 ]
www.rupan.net/uploader/download/1247659238.zip
www.rupan.net/uploader/download/1247658809.zip
参考例と作成例をうpしました
参考例のほうはソースと実行ファイル共にありです
作成例のほうは実行ファイルだけになります

132 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 21:26:34 ]
>>128-129
なるほど
「添字番号、行成分」なるなにものかを何とか数値化して配列に入れる方向で考えてた。頭堅いのは駄目だな
その方向で行くとして、出力は1次元配列の構造そのままがいいんだろうか、行列っぽくするべきだろうか
なんとなく後者かなと思ったが

133 名前:obamaさんへ mailto:sage [2009/07/15(水) 21:29:22 ]
>>121
図を右上から左下、左上から右下の二本の線でバツに区切ります。
すると4つの同じような図形の菱形になります。
その一つを見るとさらに同じように4つの菱形に区切れます。
部分が全体を含んでいます。
そのように繰り返し的に同じ図形が現れるのをフラクタル図形といいます。
プログラムは4つの点を描き、中心位置をずらして
大きさを小さくしながら再帰的に同じ形を描いていっています。


134 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:07:23 ]
>>131
>>78



135 名前:デフォルトの名無しさん [2009/07/15(水) 22:22:25 ]
[1] 授業単元:プログラミングC
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9757.txtのデータを取り込み、そこから最大値、最小値、データ個数、平均値を求めるプログラムを作成せよ
ただし最大値、最小値、データ個数、平均値は引数にポインタを用いて値を返すようにプログラムを作れ
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 7月16日17時
[5]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9757.txtのファイル名はtensu.txtでお願いします
なるべく簡単なものでおねがいします

136 名前:72 [2009/07/15(水) 22:40:50 ]
うお、安価なかったので気づきませんでした
>>131さんとそれを教えてくれた>>134さんありがとうございました

137 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:57:39 ]
>>135
#include <stdio.h>

void func(int *max, int *min, int *num, double *ave)
{
int a, n;
FILE *fp = fopen("tensu.txt", "r");
if (fp == NULL) { fprintf(stderr, "file open error."); exit(1); }

if (fscanf(fp, "%d", &a) == EOF) { *num = 0; return; }
*max = *min = *ave = a;
*num = 1;
while (fscanf(fp, "%d", &a) != EOF) { if (*max < a) *max = a; if (*min > a) *min = a; *ave += a; (*num)++; }
*ave /= *num;
fclose(fp);
}

int main(void)
{
int max, min, num;
double ave;
func(&max, &min, &num, &ave);
printf("最大値 = %d, 最小値 = %d, データ個数 = %d, 平均値 = %f\n", max, min, num, ave);
return 0;
}

138 名前:デフォルトの名無しさん [2009/07/15(水) 22:59:39 ]
[1] 授業単元: Linux/C
[2] 問題文(含コード&リンク):
標準入力からの入力を元に演算、結果を標準出力に出力するプログラムがあります。
---
#include <stdio.h>
#include <stdlib.h>

main(){
char c[BUFSIZ];
fputs("input:",stderr); fgets(c,BUFSIZ,stdin);
for(int i=0;i<atoi(c);i++) fprintf(stdout, "%03d\n",i);
}
---

これを以下のように実行し、例えば100を入力しても、エコーバックが画面表示されません。
$ a.out | more
input:000 ←入力内容はエコーバックされず、最初の出力結果が表示される
001

022
--More--

入力内容をエコーバックするようにプログラムを修正、または作り直して下さい。

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

139 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 23:10:28 ]
>>137
ありがとうございました

140 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 23:45:12 ]
a.out | more

a.out
にする

あと、パスに.を入れるのはよくない



141 名前: ◆/91kCCQXBo mailto:sage [2009/07/16(木) 00:20:28 ]
>>126 n次の対称行列 めんどうなのでC/C++
#include <stdio.h>
int A[100*101/2];
int main() {
  int n, i, j, k, i1, j1;

  printf("n?"); scanf("%d%*c", &n); if(n>100) return 1;
  for(k=0, i=0; i<n; i++) { /* 成分の添字番号を表示 */
    for(j=i; j<n; j++, k++) {
      A[k] = k+1;
      printf("N(%2d,%2d) = A(%2d)\n", i, j, k);
    }
  }
  for(i=0; i<n; i++) { /* 行成分を表示 */
    for(j=0; j<n; j++) {
      if(i < j) i1=i, j1=j;
      else  i1=j, j1=i;
      k = j1+i1*n-(i1*(i1+1)/2); // i
      printf("A(%2d)=%2d", k, A[k]);
      if(j < n-1) printf(", ");
    }
    puts("");
  }
  return 0;
}
/*
1 2 3 4
2 5 6 7
3 6 8 9
4 7 9 10
*/

142 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:23:11 ]
>>112
与えられた方程式をソースに直接書くタイプなのです。
方程式や収束条件が先生の方からまだ発表されていなかったので、
大変申し訳ないですが、後日あらためて書き込みさせていただきます。


143 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:29:44 ]
>>124
ありがとうございます


144 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:52:56 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):@四則演算は用いずに, 0xabcdの下位8ビットを0にして表示するプログラムを作成せよ.
               A変数xのyビット目を1にする関数 int bit_set(int x,int y) を作成せよ.
  B変数xのyビット目を0にする関数 int bit_clear(int x,int y) を作成せよ.
               C変数xのyビット目の値を返す関数 int bit_test(int x,int y) を作成せよ.
[3] 環境
 [3.1] OS:Windows Vista SP1
 [3.2] Visual studio 2008
 [3.3] 言語:C
[4] 期限:2009年7月16日8:30まで
[5] その他の制限:基本的なもので

145 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 02:05:38 ]
>>144
@
#include <stdio.h>
int main(){
printf("%d",0xabcd & 0xff00);
return 0;
}

A
int bit_set(int x, int y){
return x | (1<<(y-1));
}

B
int bit_clear(int x, int y){
return x & ~(1<<(y-1));
}

C
int bit_test(int x,int y){
return (x>>(y-1)) & 1;
}

146 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 04:51:12 ]
どなたか>>125をお願いします。

147 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 06:45:23 ]
どなたか>>102の(2)だけでよいのでよろしくお願いします

148 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 09:19:20 ]
>>146
マインスイーパってやっぱりマウスでクリックするの?

149 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 09:48:29 ]
>>148
どちらもCUIです。
説明が足りず申し訳ありません。

150 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 09:49:58 ]
CUIでマインスイーパーって開ける箇所を座標指定とかでやるのか?



151 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 10:05:58 ]
>>150
だと思います。特に方法は指定されていませんでした。

152 名前:138 [2009/07/16(木) 11:17:32 ]
>>140
レスありがとうございます。
その場合、スクロール、ページャ運用ができません。
是非プログラム内で解決したいと思っています。
宜しくお願い致します。

153 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 12:12:15 ]
>>147
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9759.c

154 名前:デフォルトの名無しさん [2009/07/16(木) 12:57:01 ]
>>146
7並べは、コンピュータ対戦?
両方人間で、同じ画面見てたらゲームになんないよねぇ・・・

155 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 13:52:28 ]
>>154
7並べサーバを作って、人間用クライアントが複数接続できるようにして、
足りないぶんはAIクライアントに担当させる・・・
AIはインタフェースだけ決めといて実装は自由、各自が自作の思考ルーチンの強さを競う
なんて妄想してると夢だけはひろがりんぐw

156 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 21:46:37 ]
いまからマインスイーパをCで作ってみようと思う

157 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:13:11 ]
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9762.txt
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:Textpad
 [3.3] 言語:C/C++/どちらでも可
[4] 期限:2009年7月17日AM7:00まで
[5] その他の制限:特になし

朝までになりますので、どなたかよろしくお願いします。


158 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:18:58 ]
>>157
下図に示すa,bに数値を設定したときに
--------------
この図はどこ

159 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:48:36 ]
>>158
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9763.txt
すいません、こちらが図になります

160 名前:デフォルトの名無しさん [2009/07/17(金) 00:11:31 ]
[1]プログラミング
[2] 課題
言語: C もしくは C++ 言語




(1)以下のプログラムを作成しなさい(数当てゲーム)

*画面上に「好きな数字を入力してください」と表示して、キーボードからの入力を待つ。
変数aを定義して、10までの乱数を発生させて変数aに代入する。
キーボードからの入力があれば、先に発生させた乱数と一致しているならば
「あたり!!」と表示する。
一致していなければ「残念乱数はxxです」と表示する(xxには変数aの中身を表示する)




宜しくお願い致します。





161 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 00:50:40 ]
>>157
C++で
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9764.txt

162 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 01:24:03 ]
156だけど徹夜で用事入ったから17日昼までにマインスイーパ作れないと言っておく

一応windows.hを使ったインタフェースで作ってた。

163 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 03:26:21 ]
>>160
#include <stdio.h>
#include <stdlib.h>

int main(void){
int a,input;

srand( (unsigned)time(NULL) );

printf("input : ");
scanf("%d",&input);

a = rand() % 10 + 1;

if( a == input ) printf("あたり!!\n");
else printf("残念乱数は%dです。\n",a);

return 0;
}

164 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 04:07:54 ]
>>153
これから見てみます
ありがとうございました

165 名前:デフォルトの名無しさん [2009/07/17(金) 09:44:19 ]
[1] 授業単元: プログラミング言語
[2] 問題文(含コード&リンク):コメントアウト(//)を用いて下のプログラムを説明せよ。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9765.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9766.txt
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([09年7月17日12:30まで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
お願いします


166 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 10:46:21 ]
コメントアウト?
コメントじゃなくて?

167 名前:新たな課題です [2009/07/17(金) 10:59:16 ]
[1] 授業単元: プログラミング言語
[2] 問題文(含コード&リンク):
授業時に作成したプログラム(ヒント) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9767.zip
作成する図形kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9767.zip
実行例s.pic.to/zrnq2
[3] 環境
 [3.1] OS: (Windows
 [3.2] コンパイラ名とバージョン: (VC++
 [3.3] 言語: (C
[4] 期限: ([09年7月20日15:30まで] または [無期限] のいずれか)
[5] その他の制限:成功すれば図は立体的に見える。
1.星形の座標列を生成する関数void draw_star(引数1,2,/…)を作成すること
どの星型もこの関数ひとつで描けるようにすること
2.星型中心座標から各凸角までの距離は0.5、各凹角までの距離は0.25
3.星型中心y座標値は-10から10までの整数とすること
y=0の場合は凸角数4というように、y座標値で凸角数が決まってくいる(実行例参照)
ifやswitchなどの条件分岐(場合分け)を用いずに規則を見つけてプログラミングすること
5.各行(各y座標値)の最初(左端)の星型中心x座標値はゼロとし、最後(右端)のそれは
40以下とすること。隣り合う星型中心のx座標値の間隔dxはdx=2+0.3×|y|とすること。
6.実行結果は.csvファイルとして保存すること



168 名前:デフォルトの名無しさん [2009/07/17(金) 11:00:02 ]
>>166
コメントです!!



169 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 11:23:08 ]
167 ほんとにこれでいいのか?(C 括弧閉じない性格
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9767.zip

170 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 11:51:14 ]
>>167
ショートカットファイルしかありませんでした




171 名前:デフォルトの名無しさん [2009/07/17(金) 13:40:01 ]
[1] 授業単元:システムコール
[2] 問題文(含コード&リンク):
問題文
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9769.txt
リスト1〜4
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9770.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 7月21日(火)12時10分まで
[5] その他の制限: 特になし

よろしくお願いします。


172 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 18:47:16 ]
>>125
キャラクタ画面でマインスイーパ作ったけど、〆切りすぎてたね・・・
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9773.c

173 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 18:57:32 ]
ゲームってグラフィック使わないとなるとかなり難しいけどなw


174 名前:デフォルトの名無しさん [2009/07/17(金) 21:12:10 ]
>>163

ありがとうございます!!



175 名前:デフォルトの名無しさん [2009/07/17(金) 21:47:15 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):

下に示すように,キーボードから二つの文字列を読み込み,どちらの文字列が何文字長いか
を表示するプログラムを作成せよ.なお,二つの文字列が同じ長さならば,「二つの文字列は同
じ長さです.」と表示させること.

文字列A : Good
文字列B : Morning
文字列B の方が3 文字長いです.

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:Visual Studio 2008
 [3.3] 言語: C
[4] 期限: 09年07月21日
[5] その他の制限:なし。

176 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:06:06 ]
>>175

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
char a[256], b[256];
int diff;
printf("文字列A : ");
scanf("%s", a);
printf("文字列B : ");
scanf("%s", b);
if(diff = strlen(a) - strlen(b))
printf("文字列%c の方が%d 文字長いです.\n", diff>0 ? 'A' : 'B', abs(diff));
else
puts("二つの文字列は同じ長さです.");
return 0;
}


177 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:14:07 ]
>>171
WriteLine関数とReadLine関数の定義はどこ?


178 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:26:57 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9774.txt
[3] 環境
 [3.1] OS: linux
 [3.3] 言語: C
[4] 期限: 7/20
[5] その他:特になし
よろしくお願いします。

179 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:39:26 ]
>>178
【1】
stdio.h

【2】
n=0

【3】
Tn2 = Tn3

修正
n<20 を n<28 にする

【4】
2555757

【4】の解の保証
www.research.att.com/~njas/sequences/table?a=73&fmt=4

180 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:46:43 ]
>>179
助かりました。ありがとうございます。



181 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:58:23 ]
>>177
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9775.c

これになります。失礼しました

182 名前: ◆/91kCCQXBo mailto:sage [2009/07/18(土) 02:27:15 ]
>>167 星形の座標列
画像は読む事が出来た だれかプログラムしてくれ
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9777.txt

183 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 02:52:07 ]
>>182
>>167やろうと思ったけど何すればいいんだこれ
問題が意味不なんだが

184 名前: ◆/91kCCQXBo mailto:sage [2009/07/18(土) 08:27:43 ]
>>183 要するに線画の3D画像。@にあるように星の大きさ自体は全て同じ。
数値をエクセルでグラフにしたので、朝、目が覚めたら読んでくれ。こっちは解析しただけでやる気が終わった。
www51.tok2.com/home/rg550/cgi-bin/hosoku/img0046.zip

185 名前:デフォルトの名無しさん [2009/07/18(土) 14:25:51 ]
1] 授業単元:プログラミング論
[2] 問題文:データベースに対して線形探索を行うプログラムを作成するこのとき探し出す値の項目(キー)は、生徒の名前とする。なお、番兵法を用いて繰り返しの終了判定を少なくする。また、文字列を比較する場合、関数strcmp()を用いる
[3] 環境
 [3.1] OS:Windows Vista
 [3.2] コンパイラ名:CPad for Borland C++Compiler
 [3.3] 言語:C
[4] 期限: 2009年7月20日


186 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:34:07 ]
>>185
そのデータベースというのはSQLのことかい?

187 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:35:01 ]
あ、番兵って言ってるからちがうか。

188 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 15:39:08 ]
>>185
こんな感じで。配列を使うとは書いて無いから線形リストにした。
あと、動作は保障しない。

ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9782.txt

189 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 16:13:30 ]
>>188
それ番兵の意味ないでしょ。ノード数Nのときに検索回数が1少なくなるだけで比較回数はN増えるし。
検索文字を番兵にしないと。

<擬似コード>
//リストの最後に番兵を置く
sentinel = new Node("search word");
nodes.addLast(sentinel);

//検索文字を探す(番兵がいるので絶対見つかる)
int i=0;
for(p = nodes.head;p.name != "search word";p=p.next,i++){}

//リストの長さよりも小さければ番兵以外のノードが見つかった
if(i < p.count-1) return p;
else return NULL;

190 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 16:43:40 ]
>>189
それ、C++ですねぇ。
検索文字列を番兵にするのは予想外でした。確かに比較回数はへりますね。
でも、その擬似コードは末尾にpushとpopしないといけないので、サーチにやっぱり時間かかりませんか?
文字列比較よりも低コストという感じですか?



191 名前:デフォルトの名無しさん [2009/07/18(土) 16:47:19 ]
>>188
データベース(人の名前,tomなど9人,txtファイル)から
キーボードから入力したKEY(生徒の名前)を
検索するプログラムを作ってほしいんです><

192 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:02:22 ]
>>190
リストの末尾へのポインタをあらかじめ保持しておけば番兵の追加と削除に検索はいらない。
もちろん構造体を作るコストはかかるけどね。どっちが早いかは環境やリストの長さによる。

Node* head;
Node* tail;

//番兵追加
Node sentinel = new Node("hoge");
tail.next = sentinel;

//
//検索処理
//

//番兵削除
delete(tail.next);
tail.next = NULL;

>>191
初めに書けよ
他に抜けてる条件は無いのか?

193 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:03:35 ]
>>191
ちょ!おま。
情報の後出しは禁止だ!このやろー。

findfirstfileを自作しろってことか?
さらに、その上で全文検索しろってことか?
どの辺のことを言ってるのかよくわからん。

194 名前:デフォルトの名無しさん [2009/07/18(土) 17:13:26 ]
>>193

すみません;;
Tom 75 60
Jerry 85 90
Spike 45 30
Rachel 55 85
Monica 75 90
Phoebe 80 75
Chandler 70 65
Joey 85 75
Ross 90 85
こんな感じのtxtファイルを読み込んで
名前をKEYで検索して該当したデータを表示させるプログラムなんですけど
データベースからデータを検索するプログラムが作れなくて困ってたんです;;

195 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:14:20 ]
>>192
tailの管理がちょっと厄介ですなぁ。tailをpopしたら再検索ですし。まぁ、用途によりけりか。

196 名前:デフォルトの名無しさん [2009/07/18(土) 18:12:47 ]
1] 授業単元:プログラミング論
[2] 問題文:入力ストリームから読み込んだ文字列を、データベースに格納する前に
スタックに一時的に格納するプログラムを作成する
このときデータをまとめたデータ文字列を一つずつスタックへプッシュしたり
ポップしたりする過程が分かるプログラムを作成する。
なおスタックを実現するライブラリはスタックのための別のヘッダにまとめる

[プログラムの例]
入力ストリームから読み込んだデータ文字列をスタックへプッシュしたり
ポップしたりするたびにデータベースに格納された全データを表示する。
[3] 環境
 [3.1] OS:Windows Vista
 [3.2] コンパイラ名:CPad for Borland C++Compiler
 [3.3] 言語:C
[4] 期限: 2009年7月20日

参考プログラムを元に完成させてほしいです
[参考プログラム]
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9784.txt


197 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 18:44:09 ]
>>185
多分あってると思うがほとんどデバッグしてないので何とかしてくれ。動作は保障しない。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9786.zip

もう、今日は切ったり張ったりしないぞ。疲れた。

198 名前:デフォルトの名無しさん [2009/07/18(土) 18:50:20 ]
>>197

めちゃめちゃ高度ですが
すごい助かります
ありがとうございました^^
お疲れ様です;;

199 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 22:17:40 ]
[1] 授業単元:  C言語
[2] 問題文 2進数の指定した場所の0、1を逆転せよ
たとえば 00110という2進数の3番目を反転としたら 2進数が00010となる。1番目の場合10110となる
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VisualC++
 [3.3] 言語: C
[4] 期限: 7月20日
[5] その他の制限:



200 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 22:21:25 ]
>>171
サーバ側 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9788.c
クライアント側 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9787.c

ターミナル3つ立ち上げてサーバ、クライアント1、クライアント2を実行
クライアントからの入力はサーバ、他のクライアントにも送れた。
けど、サーバから文字を入力するとクライアント1側に入力文字が無限ループで出てきて
クライアント2には何も表示されなかった。課題どころか元のプログラムすら動かない危機的な状況なので
誰か助けてください。サーバ側に何か問題があると思うのですが全く見当がつきません



201 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 22:38:30 ]
>>199
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9789.txt

202 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 23:34:12 ]
>>200
サーバの202行目はj++だよね。

203 名前:デフォルトの名無しさん [2009/07/18(土) 23:37:58 ]
#include<iostream>
using namespace std;

int main() {
int value;

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

if(10 <= value && value <= 99) {
cout << "二桁の整数です\n";
}
else if( value <= 9 || value >= 100){
cout << "一桁か三桁以上の整数です.\n";
}

return 0;
}

このプログラムは負の数値に対して考慮していない。0未満の整数が入力された時、『負の整数が入力されました』と表示するプログラムを作成せよ



&&と同じ処理を&&を使わず、else ifを使って表現せよ

この2つ分かる方教えてくれませんか
C++です

204 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 23:45:37 ]
>>202
本当にありがとうございました。頑張ってみます

205 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 23:47:48 ]
>>203
負の数に対応したやつ

#include<iostream>
using namespace std;

int main() {
int value;

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

if(value < 0) {
cout << "負の整数が入力されました\n";
}
else if(10 <= value && value <= 99) {
cout << "二桁の整数です\n";
}
else if( value <= 9 || value >= 100){
cout << "一桁か三桁以上の整数です.\n";
}

return 0;
}


206 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 00:04:42 ]
>>203
&&を使わずにelse ifでむりやり版
あとテンプレ使え

#include<iostream>
using namespace std;

int main() {
int value;

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

if(10 <= value) {
if (!(value <= 99))
goto FOO;
else if(1)
cout << "二桁の整数です\n";
}
else if(value <= 9 || value >= 100){
FOO:
cout << "一桁か三桁以上の整数です.\n";
}

return 0;
}


207 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 01:08:17 ]
#include<iostream>
using namespace std;

int main() {
int value;

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

if(value >= 0){
if(value >= 100) cout << "一桁か三桁以上の整数です.\n";
else if(value >= 10) cout << "二桁の整数です\n";
else if(1) cout << "一桁か三桁以上の整数です.\n";
}else if(1){
cout << "負の整数が入力されました\n";
}

return 0;
}

自分で言うのもなんだがなんだこのクソプログラムはw
&&が使えなければドモルガンの法則使って||にすればいいじゃない、と思った

208 名前: ◆/91kCCQXBo mailto:sage [2009/07/19(日) 02:27:51 ]
>>203
//このプログラムは負の数値に対して考慮していない。←仮定
//このプログラムは1000以上の数値に対して考慮していない。←仮定を追加
//&&と同じ処理を&&を使わず、else ifを使って表現せよ
#include<iostream>
using namespace std;

int main() {
  int value;

  cout << "整数値を入力値を入力してください\n";
  cin >> value;
/*
  if(value < 0) {
    cout << "負の整数が入力されました.\n";
  }
  else
*/  if(value < 10) {
    cout << "一桁か三桁以上の整数です.\n";
  }
  else if(value < 100) {
    cout << "二桁の整数です\n";
  }
  else {
    cout << "一桁か三桁以上の整数です.\n";
  }

  return 0;
}
//これじゃ駄目かね? 質問者も、どれ提出すればいいか困るか。

209 名前: ◆/91kCCQXBo mailto:sage [2009/07/19(日) 02:39:52 ]
//ド・モルガン版 >>207
#include<iostream>
using namespace std;

int main() {
  int value;

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

  if(value < 0) {
    cout << "負の整数が入力されました.\n";
  }
  else if( value <= 9 || value >= 100) {
    cout << "一桁か三桁以上の整数です.\n";
  }
  else {
    cout << "二桁の整数です\n";
  }

  return 0;
}

210 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 02:44:04 ]
>>196
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9790.zip

>>185と同じ人っぽかったので、データベースはtxtファイルで
「データベースに格納する前にスタックに一時的に格納」ってのは
「入力されたデータをスタックにためておき、スタックが一杯になったら
データベースに書き込む」ということだと解釈したのだけど、合ってる?




211 名前: ◆/91kCCQXBo mailto:sage [2009/07/19(日) 03:14:40 ]
>>167 C++ で提出すれば君はヒーローだ。(星形の座標列を生成する)
#include <fstream>
#include <iomanip>
#include <math.h>
#include <stdlib.h>
using namespace std;
#define PI 3.1415926535897932384
void draw_star(ofstream &fout, float x1, int y1) {
  int i, dot;

  dot = abs(y1) + 4;
  for( i = 0; i <= dot; i++ ) {
    fout<<setw(6)<< cos(2*PI/dot*i)/2+x1 <<','<<setw(7)<< sin(2*PI/dot*i)/2+y1 <<endl;
    if( i < dot )
    fout<<setw(6)<< cos(2*PI/dot*(i+0.5))/4+x1 <<','<<setw(7)<< sin(2*PI/dot*(i+0.5))/4+y1 <<endl;
  }
  fout<<endl;
}
int main() {
  float x, xstep; int y;
  ofstream fout("polygon_29.csv");

  if(!fout) return 1;
  fout<<fixed<<setprecision(3);
  for( y = -10; y <= 10; y++ ) {
    xstep = 2.0 + 0.3 * abs(y);
    for( x=0.0; x<40.0; x += xstep ) {
      draw_star(fout, x, y);
    }
  }
  fout.close();
}

212 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 07:33:25 ]
>>183だけど
>>184読んでやっと理解して
defineとか使ってごちゃごちゃ書いて完成したら
>>211が出来てて涙目なので少しすっきり書き直してアップしといた
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9791.c


213 名前:デフォルトの名無しさん [2009/07/19(日) 12:40:03 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
下に示すように,キーボードから文字列を読み込み,その文字列が回文(前から読んでも後
ろから読んでも同じ)かどうかを判定するプログラムを作成せよ.なお,入力する文字列は半
角の英数字および記号のみと仮定してよい.

文字列を入力してください: abcba
回文です.
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:Visual Studio 2008
 [3.3] 言語: C
[4] 期限: 09年07月21日
[5] その他の制限:なし。

214 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 12:55:27 ]
>>213
前スレに似たようなのがあった。空白を読みとばしたり大文字小文字を区別しない上級バージョンだけど参考まで
pc12.2ch.net/test/read.cgi/tech/1245853701/107-111

215 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 12:56:06 ]
#include <stdio.h>
#include <string.h>

int is_kaibun(char* buf,int len){
int i;

for(i = 0;i<len/2;i++){
if(buf[i] != buf[len-i-1]) return 0;
}

return 1;
}

int main(){
char buf[256];

printf("文字を入力してください:");
fgets(buf,sizeof(buf),stdin);

if(is_kaibun(buf,strlen(buf)-1)){
printf("回文アル");
}else{
printf("回文チガウアル");
}

return 0;
}

216 名前:デフォルトの名無しさん [2009/07/19(日) 13:26:37 ]
こんな事したいんですけどC言語のソース書いてください

100以下の整数を入力し80以上なら”優”、70以上80未満なら“良”、60以上70未満なら“可”、60未満なら“不可”と表示する。tenに格納された値が不なら終了する。
条件:scanfの前にprintf(”点数を入力してください”);を入れる。whileを使いマイナスの値が入力された場合終了し、100〜0の場合ループさせる。ifを使う

217 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 13:29:51 ]
>>216
入門スレがあっただろ?そっちで聞け

218 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 13:31:46 ]
>>217
入門スレから誘導した
こっちで受けてやってくれw

219 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 13:38:00 ]
#include <stdio.h>

int main(){
    int ten;
    printf("点数を入力してください");
    scanf("%d", &ten);
    while( ten >= 0 ){
        if( ten >= 80 ){
            printf( "優\n" );
        }else if( ten >= 70 && ten < 80 ){
            printf( "良\n" );
        }else if( ten >= 60 && ten < 70 ){
            printf( "可\n" );
        }else{
            printf( "不可\n" );
        }
        printf("点数を入力してください");
        scanf("%d", &ten);
    }
    return 0;
}

220 名前:デフォルトの名無しさん [2009/07/19(日) 13:41:01 ]
ありがとうございます。
よろしければあと3つほどお願いしたいです。

@ユークリッドの互除法で最大公約数を求める

A自然対数の底eを求める
条件:実数で行う。eは1+1/1!+1/2!+1/3!+・・・1/n!+・・・
無限級数の打ち切りは1/n!<0.0000001とする

Bxの平方根を求める
条件:xには実数値を入れる。a=0、b=cとしてc=(a+b)/2を計算する
cの二乗<xならa=c、そうでなければb=cとして計算を繰り返す
b-aの値が0.0000001以下になったら計算を打ち切り、cの値を表示



221 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 13:43:09 ]
>>220
常連さんになるなら>>1のテンプレに沿って書き直してくれ
とくにC/C++の違いとか、よく混乱がおきてんだ

222 名前:デフォルトの名無しさん [2009/07/19(日) 13:53:47 ]
[1] 授業単元: プログラミングT
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9792.txt
[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: (良く分らないけど学校のUNIXはlcc)
 [3.3] 言語: (C言語)
[4] 期限: ([2009年7月--日--:--まで]緊急ではないのですが夏季長期休の課題なので速く終らせたい )
[5] その他の制限: (scanf,printf,if,for,get,put,とか超簡単なところしか習ってない)

223 名前:デフォルトの名無しさん [2009/07/19(日) 13:59:26 ]
1] 授業単元:OS演習
[2]
セマフォを使った同期 −共有バッファを用いたプロセス間メッセージ通信
親/子プロセスでメッセージを書き込み、子/親プロセスで読み出す →semprog2.c

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9793.c

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C言語
[4] 期限: 2009年7月22日
[5] その他の制限:特にないです。よろしくお願いします。

224 名前:デフォルトの名無しさん [2009/07/19(日) 14:15:54 ]
[1] 授業単元:情報理論
[2] 問題文(含コード&リンク):
生起確率リストのファイルlist.txtの情報源に対するハフマン符号を求めなさい。
簡単なアルゴリズムも記載するように。
list.txtは手元に無いのですが、適当な小数が列挙されているモノです。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 09年07月20日
[5] その他の制限:特にありません。

宜しくお願いします。

225 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 15:03:43 ]
授業の課題じゃないんですがよろしくお願いします。
[2]
5=1+1+1+1+1
5=1+1+1+2
5=1+1+2+1
5=1+2+1+1
5=2+1+1+1
5=1+1+3
5=1+3+1
5=3+1+1
5=1+4
5=4+1
5=3+2
5=2+3
というように入力された整数xをこのように分解して
表示するプログラムを作ってください。
ただし、 5=3+2 5=2+3
は別々のものとして扱ってください。
表示する順番は問いません。

[3] 環境
 [3.1] OS: Windows Xp
 [3.2] CPad for Borland C++Compiler
 [3.3] C言語
[4] 期限: [無期限]

226 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 15:23:18 ]
>>225
#include<stdio.h>
#include<stdlib.h>

int disp_whole_pattern(int pattern[], int pattern_num, int n){
int i, sum=0;

if(n<=0){
for(i=0;i<pattern_num;i++) sum+=pattern[i];
printf("%d=", sum);
for(i=0;i<pattern_num-1;i++) printf("%d+", pattern[i]);
printf("%d\n", pattern[i]);
return 0;
}
for(i=1;i<=n;i++){
pattern[pattern_num]=i;
disp_whole_pattern(pattern, pattern_num+1, n-i);
}
return 1;
}

int main(void){
int x=5, *pattern;

scanf("%d", &x);
pattern=malloc(sizeof(int)*x);
if(pattern==NULL) return 1;
disp_whole_pattern(pattern, 0, x);
free(pattern);
return 0;
}

227 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 16:49:38 ]
#include <stdio.h>
#include <stdlib.h>

void foo(int *a, int n) {
int i, j, *b;

for(i = 0; i < n; ++i)
printf("%d%c", a[i], i==n-1?'\n':'+');

for(i = 0; i < n-1; ++i) {
b = malloc(sizeof(int)*n-1);
for(j = 0; j < i; ++j) b[j] = a[j];
b[i] = a[i] + a[i+1];
for(j = i+1; j < n-1; ++j) b[j] = a[j+1];
foo(b, n-1);
free(b);
}
}

int main(void) {
int a[5] = {1, 1, 1, 1, 1};
foo(a, 5);
return 0;
}

重複が消せない(;ω;)

228 名前:デフォルトの名無しさん [2009/07/19(日) 16:56:03 ]
[1] 授業単元:数理物理
[2] 問題文(含コード&リンク):www.mns.kyutech.ac.jp/~kamada/suuributuri/sub15.html
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:わかりません
 [3.3] 言語:どちらでも可
[4] 期限:できれば2009年7月21日までにお願いします。
[5] その他の制限:問題ではプロットせよと書いていりますが問題の計算のプログラムをお願いします。


229 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 17:15:05 ]
www.sangakuplaza.jp/page/156408

230 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 19:02:35 ]
>>224
小数って実数のことじゃなくて、「小さな整数」の意味でいいのかな



231 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 19:59:15 ]
>>230
実数と考えて頂いて問題ないです
紛らわしくてごめんなさい

232 名前:デフォルトの名無しさん [2009/07/19(日) 20:26:16 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
fopenと fclose ライブラリ関数を使って、
C言語でファイルをコピーするプログラムを作成せよ。
ただしカレントディレクトリを表示せよ
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 09年07月20日
[5] その他の制限:特にありません。

233 名前:デフォルトの名無しさん [2009/07/19(日) 20:37:29 ]
>>210

その解釈でも大丈夫だと思いますが、プログラムの例の部分から察するに
プッシュするごとに格納されたデータを表示するんじゃないでしょうか?
あと、>>210さんのプログラムは終了させた場合のみ全データをポップ&表示
していますが、多分プッシュと同様ポップもメニュー?に入れて、
ポップするごとに全データを表示して、プッシュポップの関係を
分かりやすくするというプログラムなんじゃないでしょうか?
長々とすみませんでした。

234 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:56:14 ]
[1] 授業単元:情報工学実験(ヒューマンインタフェース)
[2] 問題文(含コード&リンク):
画面中央にウィンドウを重ねて2つ表示し、
前面をウィンドウ1、後面をウィンドウ2とする。

後ろ側のウィンドウ2を、頭部移動データに合わせて移動させ、
人間の頭の動きをウィンドウ2にトラッキングさせる。

実験環境は机の上にディスプレイが人間の正面に静置されている。
座標原点はディスプレイが置かれている机の、人間から見て右上の角とする。
そこからディスプレイ側をx軸正方向、被験者手前側をy軸正方向、地軸正方向(上向き)をz軸正方向とする。
頭部初期位置x1,y2,z3,は事前に与えられるので、移動距離はセンサデータから与えられる座標との差分によって求められる。
センサデータx,y,zは以下のように与えられる。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9795.txt

上記に基づき、頭部初期位置のセンサデータがx1=67.11,y1=88.95,z1=24.64として
与えられた時、ウィンドウ2が頭部をトラッキングするようなプログラムを完成させよ。
ウィンドウ1は動かず、常にウィンドウ2の前面にあるものとする。

注:トラッキングはユーザー頭部の上下左右方向のみなので、トラッキングにy軸のセンサデータは用いない。
センサデータの単位はcmなのでichに変換する必要があり、
使用する17インチディスプレイの解像度は72dpiであることから
ウィンドウのディスプレイ上での移動ピクセル数を算出することができる。

[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語: C,Win32API
[4] 期限: 7月22日正午
[5] その他の制限:特にありません。

長文で申し訳ありません。よろしくお願い申し上げます。

235 名前:デフォルトの名無しさん [2009/07/19(日) 21:03:00 ]
[1] 授業単元:プログラミング論
[2] 問題文:入力ストリームから読み込んだデータ文字列を、
データベースに格納する前にキューに一時的に格納するプログラムを
作成する。このとき、データをまとめたデータ文字列を一つずつ、キューへ
エンキューしたり、デキューしたりする過程が分かるプログラムを作成する。
なお、キューを実現するライブラリは、キューのための別のヘッダにまとめる。
[3] 環境
 [3.1] OS:Windows Vista
 [3.2] コンパイラ名:CPad for Borland C++Compiler
 [3.3] 言語:C
[4] 期限: 2009年7月21日
[そのほか]
・入力ストリームから読み込んだデータ文字列を、キューにエンキューしたり、
デキューしたりするたびにデータベースに格納された全データを表示する。
・構造体オブジェクトは動的な記憶域に生成する。
・生徒の名前、試験の点数を構造体オブジェクトに格納することとする。
・関数の処理にコメントをつけて、キューをどのように実現しているか、
そのプログラムの処理内容が分かるようにする。
[このプログラムの流れ]
(1)ファイルやキーボードなどの入力ストリームから
データをデータ文字列として読み込む
(2)このデータ文字列をキューに一時的に蓄える
(3)キューからデータ文字列を取り出す
(4)このデータ文字列からそれぞれデータを取り出して
文字列や数値データに変換する
(5)変換したデータをデータベース(構造体の配列など)に格納してまとめて管理する
(6)このデータベースからデータを参照し、ディスプレイに出力する
[生徒、点数データ]
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9797.txt
[参考プログラム]
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9798.txt

236 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:31:01 ]
>>222
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9799.txt

237 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:47:26 ]
>>171のクライアントがハンドル名@マシン名をサーバに送って、そのメッセージを
サーバ側であるバッファに格納する部分はどう書けばいいんでしょうか?
クライアントのどの部分でサーバにWriteLineで送るのかと
サーバ側がいつ送られてきたメッセージを受信するのかが分かりません

238 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:51:49 ]
デバッグエラーが出てしまいます。原因は何でしょうか。お願いします。ちなみに問題は以下です
配列を使って10個のデータを関数に渡します.
下記の平均を返す関数 ave1() を main 関数から呼び出し平均を求めなさい.
なお,main 関数では 配列に10個の値を代入し,ave1() を呼び出し,その結果を表示します.

#define NUM 10
double ave1( int dd[NUM] ){
int i, sum;
for(sum=0, i=0;i<NUM;i++){
sum += dd[i];
}
return (sum/(double)NUM);
}

239 名前:デフォルトの名無しさん [2009/07/19(日) 23:54:43 ]
#include<iostream>
using namespace std;

int main(){
int i,j;

for(i=1;i<=2;i++){
for(j=1;j<=3;j++){
cout << i << "X" << j << "は" << i * j<< "です\n"; }
}
}
}

結果
1×1は1です
1×2は2です
1×3は3です
2×1は2です
2×2は4です
2×3は6です
これを参考にして、完全な九九を表示するプログラムを作成せよ

上にあった書き方を参考にして、以下のように出力できるプログラムを作成せよ
5を書きました
6を書きました

12を書きました
13を書きました

誰かこれ教えてくれませんか



240 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:55:24 ]
配列の中身を0にしてその内容を表示する関数 void hairetsu_zero01(int x[10]) を作成しなさい.
関数の中で受け取った配列の中身をすべて 0 に書き換え,内容を表示して確認しなさい.

main 関数での処理は次の通りです.
まず,配列を宣言し 0〜9 を代入しなさい.
次に,内容の確認のため main 関数で配列の内容を表示しなさい.
最後に,hairetsu_zero() を呼び出し,実行後の配列の内容を表示しなさい.

さらに余力があれば,別で配列 y[5] を作成し,1..5 で初期化し, hairetsu_zero(y) を実行しなさい.





241 名前:239 [2009/07/19(日) 23:56:16 ]
1問忘れてしまいました

100を書きました
99を書きました

88を書きました
87を書きました
上にあった書き方を参考にして、以下のように出力できるプログラムを作成せよ






242 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 00:00:26 ]
質問テンプレ使いやがれー

243 名前:デフォルトの名無しさん [2009/07/20(月) 00:21:04 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):入力ファイルの各行を単方向連結リストの最後に順次追加し,そのリストの内容を先頭から順に標準出力に
出力するプログラム extra6 を作成せよ.ソースファイルの名前は extra6.c とし,単方向連結リストの最後に1行分の文字列データを
追加する関数を append_data,リストの内容を先頭から順に標準出力に出力する関数を print_list として,これら2つの関数を含む
こと.また,リストの各要素は,以下の構造体を用いて表現するものとする.

struct line {
char *data;
struct line *next;
};

なお,入力ファイル名はコマンドライン引数で指定するものとし,入力ファイルがオープンできなかった場合の処理も含めること.
また,プログラム自身を除く引数の数が0個,もしくは2個以上の場合は,何もせず適切なメッセージを出力して終了するものとする.
入力データ: pai.no.land.to/up/src/dgz13030.txt

[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VS2008
 [3.3] 言語: C
[4] 期限:2009年7月21日10時まで
[5] その他の制限: 特になし

長文すいません。リストの最後に順次追加する部分が特にわかりません。
よろしくお願いしますm(_ _)m






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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