C/C++の宿題片付けます 129代目
■ このスレッドは過去ログ倉庫に格納されています
【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[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コンパイラの構成
[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の問題です。よろしくお願いします。
今日中にできそうにないので期限を延ばして再提出することにしました。
0003tac
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++でウインドウを開き、チャットの画面を作り、書き込み欄に書き込むと
その書き込まれた文字列がウインドウに表示されるプログラムから教えていただけると嬉しいです。
期限は来週ですが、出来るだけ早い完成が望ましいので宜しくお願いします。
0004デフォルトの名無しさん
2009/07/13(月) 20:14:29もしそれでも片付けてくれる人がいらっしゃればお願いできないでしょうか?
0005デフォルトの名無しさん
2009/07/13(月) 20:15:24ゼミってことは通信技術方面の研究室なんでしょ?それなら今後を考えて自分でやったほうがいいと思うよ。
初心者でも分かる参考書を紹介しとくから、勉強してみてダメだったらもう一回来てみたら?
http://www.amazon.co.jp/dp/4797334797
あとCは使えるんだよね?Cが使えることは大前提だから。
0006デフォルトの名無しさん
2009/07/13(月) 20:17:38[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:54mixiのほうはもういいの?
0008デフォルトの名無しさん
2009/07/13(月) 20:59:23#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;
}
0010デフォルトの名無しさん
2009/07/13(月) 21:14:23メールアドレスは?
0011tac
2009/07/13(月) 21:28:03完成系のイメージはチャットのような事ができるプログラムを使って、
実際の講義中にそのプログラムを使い、学生に対して使用した場合
どのような効果が得られるかを検証することなので、
チャットでなくても、インスタントメッセンジャー?!でも良いです。
一応、情報系の学部ですが、
研究テーマは「チャットのようなモノを使った時の学生の学習効果」です。
なので、プログラミングに対して全く無知なので、力を貸していただけないでしょうか??
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学習効果の調査ならc++である必要はあるの?
あと都合のいいコメントだけレス返すのやめたほうがいいですよ
0014tac
2009/07/13(月) 21:41:21C++は所属しているゼミの先生の指定があったので、強制的に決定してしまいました。
都合のいいコメントだけにレスを返したつもりはなかったんですが、
勘違いされたなら、申し訳ありませんでした。
0015デフォルトの名無しさん
2009/07/13(月) 21:42:54それがホントならフリーのチャットPG漁るべき。
C系言語でソケットから作ろうつーのは迂遠過ぎる。
(C系言語が得意で漁るより作るほうが早いって人は別ね)
0016デフォルトの名無しさん
2009/07/13(月) 21:48:450017デフォルトの名無しさん
2009/07/13(月) 21:49:02http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9740.txt
実行時間がN*N*Nに比例する単純なやつ
ぐぐったらN*N*log(N)のアルゴリズムがあるらしいので、
こういうの好きな人は俺のにかまわず別回答どうぞ
0018tac
2009/07/13(月) 21:50:14チャットPGっていうのは、簡易型のチャットってことですか?
「漁る」の意味がいまいち理解できなかったんですが、どういう意味でしょうか?
0019デフォルトの名無しさん
2009/07/13(月) 21:55:55やべ、一部ミスがあったので修正
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9741.txt
0020デフォルトの名無しさん
2009/07/13(月) 22:01:3115じゃないが漁るというのはチャットプログラムを作るのではなく、
既にあり公開されているものを持ってきて利用した方が良いのでは?
ということだろう
0021デフォルトの名無しさん
2009/07/13(月) 22:06:16漁るってのはどこからか適当なソースコード見つけてきてパクってくるってこと。
だいたい「チャットのようなモノを使った時の学生の学習効果」を調べるだけなら
わざわざ自分でチャットプログラム作る必要がないし。
チャットをする方法はjavascriptのチャットルーム使うとか、IRCクライアントを使うとか方法は
いくらでもあるからその研究内容でC++使って作るのははっきり言って無駄だって教授に言ってみろ。
0022デフォルトの名無しさん
2009/07/13(月) 22:27:1215ですが、その通りです。フォローどもでした。
0023前スレ794
2009/07/13(月) 22:49:35今日も休んだのですがメールで先生に連絡したら前スレの>>997のように少し待ってくれるみたいです
ギャグではないので改めて宜しくお願いします
0025デフォルトの名無しさん
2009/07/13(月) 23:11:48前スレ794は解答者です
0026デフォルトの名無しさん
2009/07/13(月) 23:15:58>その研究内容でC++使って作るのははっきり言って無駄だって教授に言ってみろ。
教授の真意を聞いたほうがいい。
本当の研究としてだけ(学会論文目指して)やってるならそうだが、
そうじゃないなら、学生の勉強のためにやらせてる可能性もある。
それに、調べるだけならチャットを作る必要はないんだが、
「改良」したいなら、学生がちゃんとソースを理解していることが必要だ。
それでも、C++を選択する理由としては弱いかもしれないが。
0027デフォルトの名無しさん
2009/07/13(月) 23:17:48No.9742に前スレの>>820クワイン・マクラスキー法書いたよ。
やり方分からなくてこうなったけど。
0028前スレ749
2009/07/13(月) 23:18:17正しくは749ですね
>>25さん指摘ありがとうございました
0029デフォルトの名無しさん
2009/07/13(月) 23:20:18全くの無知な学生にこの課題を出すなら、パワハラの可能性があるのでしかるべきところに相談するといいんじゃね?
0030デフォルトの名無しさん
2009/07/13(月) 23:28:31>配列を用いた計算機のプログラム
の意味がよく分からない
0031デフォルトの名無しさん
2009/07/13(月) 23:39:38丸一週間寝込んだってこと?お大事に。
0032デフォルトの名無しさん
2009/07/14(火) 00:42:12using 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いいよ
0034デフォルトの名無しさん
2009/07/14(火) 00:48:36#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その例があって、その問題が答えられないって小学生未満?
0036デフォルトの名無しさん
2009/07/14(火) 01:00:31>>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そのように出力する問題ではないのだよ
-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出力する文字列なんて下っ端には関係ないんです
…もちろんネタだよ
0041デフォルトの名無しさん
2009/07/14(火) 01:11:08先ほどの例を参考に自分で考えるという選択肢はなしかよwww
0042デフォルトの名無しさん
2009/07/14(火) 01:14:520043デフォルトの名無しさん
2009/07/14(火) 01:32:520044デフォルトの名無しさん
2009/07/14(火) 01:44:15>変数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:380046デフォルトの名無しさん
2009/07/14(火) 02:32:37ゼミナール
[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エラーが起こってしまうので、どなたか修正していただけないでしょうか。
0048デフォルトの名無しさん
2009/07/14(火) 12:16:24[2] 問題文(含コード&リンク):
主語、目的語、述部が入ったデータファイルを読み込み、それらをランダムに組み合わせて生成した短文を20個ファイルに出力するプログラムの作成。
短文の構文は必ず、「(主語)は、(目的語)(述部)。」となるようにする。
出力例:俺は、カレーが大好きだ。
データファイルは以下を使用すること。
主語: 俺 私 あなた 彼 彼女 先生 犬のポチ 猫のタマ ライオン その人 政治家 ネズミ
目的語: カレー ご飯 肉 授業 男 女 すごいもの アレ アンパン お金
述部: が大好きだ が大嫌いだ を作った をなくした が欲しい に全力を尽くす を新しいものに交換した ?なにそれ美味いの? について深く考えた を捨てた に塩をふりかけた
[3] 環境
[3.1] OS: Windows
[3.3] 言語: C
[4] 期限: 2009年7月20日
0049デフォルトの名無しさん
2009/07/14(火) 12:18:00[2] 問題文 2人の人の名前と年齢をキー入力し、同じ年なら「○○さんと××さんは同じ年です」、
そうでなければ「○○さんは××さんよりyy 歳年上です」と表示するプログラムを作成せよ。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: borlandc++
[3.3] 言語: C
[4] 期限: 今日の2時30分
[5] その他の制限: なし
よろしくお願いします
0050>8
2009/07/14(火) 12:24:180051デフォルトの名無しさん
2009/07/14(火) 12:24:27エラーが出るというなら、コードとそのエラーを貼るべきだな。
でないとどこで何が起きているのかわからん。
0052デフォルトの名無しさん
2009/07/14(火) 12:24:43前スレ>>971の回答なら俺も試したがエラー出なかったぞ
自分の書いたソースをロダにうpすれ
0053デフォルトの名無しさん
2009/07/14(火) 12:27:37前スレ>>939に回答
005447
2009/07/14(火) 12:55:24入力が誤っていたみたいです。ありがとうございました。
0055デフォルトの名無しさん
2009/07/14(火) 12:58:23[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レスに分けて投稿します。ソースを以前ろだに貼ろうと思ったのですができませんでした。見づらくてすいません。
どうか宜しくお願いします。
0056772
2009/07/14(火) 13:00:29#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] = ;
}
0057772
2009/07/14(火) 13:01:33/* ルンゲクッタ法を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]);
}
0058772
2009/07/14(火) 13:02:34int 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ろだ使えるようになってくれよ
0060デフォルトの名無しさん
2009/07/14(火) 13:08:27だからはやく宿題手伝ってください。
0061デフォルトの名無しさん
2009/07/14(火) 13:37:26>>60 ファイル名のところに直接ファイル名書いてる?、「参照..」ボタン押せ。
0062デフォルトの名無しさん
2009/07/14(火) 13:39:1860は本人じゃないだろw
このスレのみんなの心の声だ
#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:51http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9745.zip
キャストって、(int),(double)で良いんだよねぇ?
0066デフォルトの名無しさん
2009/07/14(火) 15:27:580068デフォルトの名無しさん
2009/07/14(火) 15:59:17前スレ>>939の回答だが試してみた。
で、コンパイルエラーが起こったけど修正すれば動いた。
>>srand((unsigned) time(NULL));/* 乱数系列の変更 */
上記の一文を変数宣言後の位置にいどうするか、コメントアウトすれば動く。
C99なら問題ないのだけど。
0069デフォルトの名無しさん
2009/07/14(火) 16:30:14前回回答した者だけど、規格とかまで理解できてなかったゴメン・・・
>>68さんが言ってるように修正してみてほしい
コメントアウトすると乱数が一定になるからなるべく移動で解決する方が良さそう
あと、それでもエラーが出るようなら、エラーメッセージを貼り付けて欲しい
0070デフォルトの名無しさん
2009/07/14(火) 17:26:39データファイルが本当にそういう仕様だと信じて書いてみた。
入力ファイル名、出力ファイル名はそれぞれ input.txt output.txt ね。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9747.txt
0071デフォルトの名無しさん
2009/07/14(火) 17:37:440072デフォルトの名無しさん
2009/07/14(火) 18:37:04[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>配列を用いた計算機のプログラムを作成してください。
の具体例をくれ
#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問題文の意味が全く分からない
0076デフォルトの名無しさん
2009/07/14(火) 19:42:05・問題文は、出題されたまま全文を書いてください。
0077デフォルトの名無しさん
2009/07/14(火) 20:25:48はい!ほんとにありがとうございました。
助かりました
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:060080デフォルトの名無しさん
2009/07/14(火) 20:35:20問題張りなおして
008179
2009/07/14(火) 20:44:12お願いします
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:42x=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:560085デフォルトの名無しさん
2009/07/14(火) 20:55:45ビルから飛び降りればいいんじゃないかな?
0086デフォルトの名無しさん
2009/07/14(火) 21:07:07[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課題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:10Extracting 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#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:250091デフォルトの名無しさん
2009/07/14(火) 21:50:54Q2
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9748.txt
0092デフォルトの名無しさん
2009/07/14(火) 21:51:50[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:24zipになります。どうかよろしくお願いします。
http://down11.ddo.jp/uploader/download/1247576184.zip/attatch
0094デフォルトの名無しさん
2009/07/14(火) 21:58:07passは先ほどと同じですので
0095デフォルトの名無しさん
2009/07/14(火) 21:59:38(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課題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(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;
}
009879
2009/07/14(火) 23:01:46ありがとうございます
0099デフォルトの名無しさん
2009/07/15(水) 01:17:23[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解答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ありがとうございます
■ このスレッドは過去ログ倉庫に格納されています