5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:2009/11/14(土) 09:22:52
あなたが解けない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++の宿題片付けます 131代目
http://pc12.2ch.net/test/read.cgi/tech/1255709298/

589 :デフォルトの名無しさん:2009/12/01(火) 17:13:30
[1]C言語入門
[2] 3つの整数x,y,zを入力し、これらを引数として、大きい順に入れ替えて返す関数をつくれ。ただしポインタ変数を用いること。
main関数は整数の入力と結果の表示のみにする。

[3.1] Linux
[3.2] gcc 3.4
[3.3] C
[4] 2009/12/7/15:00
[5] 特になし。

よろしくお願いします


590 :デフォルトの名無しさん:2009/12/01(火) 17:31:13
[1]C言語実習
[2] 覆面算 SEND+MORE=MONEYを解くプログラム(各字は数字を表す)
2進数から16進数の場合について、解がある時は一つずつ進数を明示した上で
表示。但しいずれの場合も最上位桁は0ではないものとする。
[3] OS:Windows XP 言語C( Visual studio)
[4] 12/15迄
[5]特に無し

591 :デフォルトの名無しさん:2009/12/01(火) 17:54:35
>>587
IEEE形式だと、実数は符号ビット+仮数部+指数部で構成され
仮数部と指数部の内部表現は2進数で表現されている。
仮数部は最上位を省略とかしてたりするから詳細は下で
http://ja.wikipedia.org/wiki/%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0

592 :590:2009/12/01(火) 18:00:03
2進数==>8進数
の間違いでした。ミスを訂正します

593 :デフォルトの名無しさん:2009/12/01(火) 18:09:48
>>589
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10213.c

594 :デフォルトの名無しさん:2009/12/01(火) 18:56:55
>>588
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10214.c

課題(2)
任意の数字と桁数を入力し、桁数に該当する整数を出力する関数を各自で定義し結果を出力するプログラムを書け。
例えば数字に123456789と入力し、桁数を5とした場合下5桁の5を出力する関数。

595 :デフォルトの名無しさん:2009/12/01(火) 19:14:29
>>588
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10215.c

課題(3)
課題(1)の整数を配列形式で定義し、同様に最大値、最小値、平均値を出力するプログラムを書け。
(余力があれば分散も考えてみよ)

596 :デフォルトの名無しさん:2009/12/01(火) 19:27:54
>>432
>>433 とは違うやり方
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10216.c
俺の環境では多少速くなった

597 :デフォルトの名無しさん:2009/12/01(火) 20:26:45
588です。回答ありがとうございました。
申し訳ないのですがC++の方でもお願いできないでしょうか

598 :デフォルトの名無しさん:2009/12/01(火) 20:56:40
http://www.dnj.ynu.ac.jp/kageilab/kagei/lecture/CPP_exerc_net/CPP_exerc_1.html
問題1.5を教えてください。

変数の代入を使って入れ替えるにはどうすればいいのでしょうか?

599 :デフォルトの名無しさん:2009/12/01(火) 20:57:50
>>430
当方の環境は Windows XP/cygwin、処理系は gcc 4.3.2 です。
http://codepad.org/TgmK9FF5
コマンドラインの各数をいったん正の数としてとりこみ10進2進変換→符号反転を行うため、負の最小の数 -9223372036854775808 は overflow 扱いになります。

600 :デフォルトの名無しさん:2009/12/01(火) 21:11:10
>>566
ttp://codepad.org/eskpXPiL

601 :デフォルトの名無しさん:2009/12/01(火) 21:23:58
>>597
(2) http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10218.cpp
(3) http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10217.cpp

(2)の方,ファイル上のコメントが間違ってるけど,気にしないで.
C++流っぽくないかも.

602 :デフォルトの名無しさん:2009/12/01(火) 21:33:54
>>598

例えば,元がa : 1, b: 2とすると,これをa: 2, b: 1とすればゴールです.
単純にa = b; b = aとやったのでは,a = 2, b = 2となってしまいます.
なので,もう一つ変数を用意して,消えてしまう値をそこに入れておきます.

というのが,そこの「ヒント」にかかれていることです.

603 :598:2009/12/01(火) 21:43:38
わかりました

604 :デフォルトの名無しさん:2009/12/01(火) 21:57:28
[1] 授業単元:
[2] 問題文(含コード&リンク):https://www.ioi-jp.org/JOI/auth/showForm.action?id=t4&term=pr
[3] 環境
 [3.1] OS: Windows xp
 [3.2] コンパイラ名とバージョン: VC++2008
 [3.3] 言語: C
[4] 期限: 特になし
[5] その他の制限:

得点を比較するプログラムです
最初に書いてあるscanfは、比較する回数を入力して、
ループの中に入ってからのscanfは、比較する数字を入力して、大きい方に1を足して
最後にはカウントした数字を出力します

#include<stdio.h>
int main(){
int a,c=0,b,d=0,n,m;
scanf("%d",&n);
for(m=0;m<n;m++){
scanf("%d %d",&a,&b);
if(a > b) c++;
else if(a < b) d++;
}
printf("%d %d",c,d);
return 0;
}

こういうプログラムを考えました
ファイルから数字を読み込むプログラムに変えたいのですが、
どうすればファイルから読み込むことが出来るようになりますか?
少し席を外しますが、俺は必ず言います お願いします

605 :デフォルトの名無しさん:2009/12/01(火) 22:00:23
俺は×
お礼は○
です

606 :デフォルトの名無しさん:2009/12/01(火) 22:07:32
>>604
リンク先は認証が必要で読んでないのですが….
ファイルから読みたいのなら,ファイルをオープンするところからはじまります.

こちらの記事などいかがでしょうか.
「第17章 ファイル入出力 - 初心者のためのポイント学習C言語」
http://www9.plala.or.jp/sgwr-t/c/sec17.html

607 :デフォルトの名無しさん:2009/12/01(火) 22:10:45
>>601
ご丁寧にありがとうございました。

608 :デフォルトの名無しさん:2009/12/01(火) 22:18:28
[1] 授業単元:C言語とアルゴリズム
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10219.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語
[4] 期限:明日11:30までに

よろしくお願いします!

>>435なのですがエラーがたくさん出てきて実行できなかったのでやってもらえないでしょうか?
申し訳ございません。

609 :デフォルトの名無しさん:2009/12/01(火) 22:38:03
>>608

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10220.c

課題1-2は,このプログラムのsearch_print()を少し修正すればよいだけなので,簡単でしょう.

610 :デフォルトの名無しさん:2009/12/01(火) 22:43:12
>>606さん

問題
A さんと B さんがゲームで対戦した.対戦は N 回にわたって行った.各回の対戦において,
より高い点数を獲得した人がその回の勝者となる.
すなわち,第 i 回目の対戦で
A さんの点数が B さんの点数より大きければ第 i 回目は A さんの勝ち,
B さんの点数が A さんの点数より大きければ B さんの勝ち,
同点の場合はどちらの勝ちにもならない.
N 回の対戦における A さんと B さんの点数が与えられたとき,
A さんと B さんがそれぞれ何回勝ったかを出力するプログラムを作成せよ.

入力
入力は 1+N 行からなる.
1 行目には対戦の回数 N (1 ≦ N ≦ 1000000) が書かれている.
2 行目以降の i+1 行目 (1 ≦ i ≦ N) には i 回目の対戦における A さんと B さんの点数が空白区切りで書かれている.
各々の点数は 0 以上 100 以下の整数である.

出力
出力は 1 行からなる. A さんが勝った回数と B さんが勝った回数をこの順に空白で区切って出力せよ.



となっています
入力データ2までとかならまだ件数が少ないので良いのですが、
入力データ5になると1万件の入力データがあるのでファイルを読み込む以外は無いと思いました

そのサイトに行ってもどうすればいいか良く解りませんでした
ですので、書き方ではなくてソースを書いてください お願いします

611 :デフォルトの名無しさん:2009/12/01(火) 22:59:05
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10222.txt
[3]環境
 [3.1] OS:Vista
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語
[4] 期限:明後日

よろしくお願い致します

612 :デフォルトの名無しさん:2009/12/01(火) 23:02:44
>>610
ファイルからの入力についての質問ということで良いでしょうか.
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10221.c
こちらをご覧ください.

ファイル上のコメントにファイルのフォーマットを記述しておきました.
すなわち,各行にAのポイントとBのポイントが,スペースで区切られているようなフォーマットです.
入力は,効率よく,うまくやろうと思うとすっっっごく面倒くさいので,よくある書き方の一例で許してください.

以下は実行の様子です.
ちゃんとin.txtから読み込めていることがわかります.

Z:\test>gcc -Wall test.c

Z:\test>a in.txt
A: 10, B:100
A: 20, B: 15
A: 2, B: 0
A: 121, B: 14

Z:\test>

613 :デフォルトの名無しさん:2009/12/01(火) 23:07:53
>>610
リダイレクトすれば変更なしでいける

614 :デフォルトの名無しさん:2009/12/02(水) 00:43:49
>>611

http://codepad.org/gimueiJ2

Goto文とかせこい手使ってるけど気にしないでほしい。


615 :デフォルトの名無しさん:2009/12/02(水) 00:47:49
>>611
インクルードファイルがコピペできてなかった

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

メンゴ

616 :デフォルトの名無しさん:2009/12/02(水) 02:29:05
>>610
なぁ、認証が必要な、現在進行形の公式な問題を公開してもいいのか?

617 :デフォルトの名無しさん:2009/12/02(水) 03:17:14
普通は解答サイトへの認証ブロックが設けられるのが先で
問題そのものに設けられるのは、それだけ教育現場での
競争が激しいってことの証しかもな。
自分で解く能力よりか、いかに他人の助けを借りて総合的に
問題解決が出来るかがIT時代以後の能力評価基準になって
るわけだし。(もちろんこれは破綻への道でしかないが)
でこういうスレがそれを煽っているとw
どんなに簡単な問題でも貼られてから24時間は解答を敢
えて貼らないというのはそろそろ不文律にしたほうがいい
んでね?質問者の設定した締め切り時刻の24時間以内
ってのが理想だとオモ

618 :デフォルトの名無しさん:2009/12/02(水) 03:19:21
999.99以下の3行3列の正の実数データを入力してください

data[0][0]の値? 350.23
data[0][1]の値? 1.0
data[0][2]の値? 503.25
data[1][0]の値? 625
data[1][1]の値? 3.1415
data[1][2]の値? 50.27
data[2][0]の値? 999
data[2][1]の値? 750.75
data[2][2]の値? 0

ここまでデータ入力
集計の結果は次のとおりである.

350.23 1.00 503.25 : 854.48

625.00 3.14 50.27 : 678.41

999.00 750.75 0.00 : 1749.75

=================================

1974.23 754.89 553.52 : 3282.64

続行するには何かキーを押してください . . .

となるようなプログラムをうっているのですが…

619 :デフォルトの名無しさん:2009/12/02(水) 03:19:56
他人の力を借りて ×
自分の力を極力使わず ○

620 :619:2009/12/02(水) 03:21:29
>>618の修正ね

621 :デフォルトの名無しさん:2009/12/02(水) 03:22:13
長いので二回ぐらいに分けて質問します。
私は今、

999.99以下の3行3列の正の実数データを入力してください

data[0][0]の値? 350.23
data[0][1]の値? 1.0
data[0][2]の値? 503.25
data[1][0]の値? 625
data[1][1]の値? 3.1415
data[1][2]の値? 50.27
data[2][0]の値? 999
data[2][1]の値? 750.75
data[2][2]の値? 0

集計の結果は次のとおりである.

350.23 1.00 503.25 : 854.48
625.00 3.14 50.27 : 678.41
999.00 750.75 0.00 : 1749.75
=================================
1974.23 754.89 553.52 : 3282.64

続行するには何かキーを押してください . . .



のように表示されるプログラムを作っているのですが、


622 :619:2009/12/02(水) 03:22:27
>>617だった(連投スマソ)

623 :デフォルトの名無しさん:2009/12/02(水) 03:45:46
よくわからないので教えて下さい。
点プレには沿いたくありません

624 :デフォルトの名無しさん:2009/12/02(水) 05:12:40
今回だけだぞ
>>621
#include <stdio.h>
#include <stdlib.h>
#define M 3
#define N 3
int main(void)
{
int i, j;
double data[M][N], sumcol[M] = {0.0}, sumrow[N] = {0.0}, sumall = 0.0;
printf("999.99以下の%d行%d列の正の実数データを入力してください\n\n", M, N);
for (i = 0; i < M; i++)
for (j = 0; j < N; j++) {
printf("data[%d][%d]の値? ", i, j);
scanf("%lf", &data[i][j]);
}
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
printf("%.2f ", data[i][j]);
sumcol[i] += data[i][j];
sumrow[j] += data[i][j];
}
printf(": %.2f\n", sumcol[i]);
}
puts("=================================");
for (i = 0; i < N; i++) {
printf("%.2f ", sumrow[i]);
sumall += sumrow[i];
}
printf(": %.2f\n\n", sumall);
return 0;
}

625 :デフォルトの名無しさん:2009/12/02(水) 05:16:38
一行抜けてた
#include <stdio.h>
#include <stdlib.h>
#define M 3
#define N 3
int main(void)
{
int i, j;
double data[M][N], sumcol[M] = {0.0}, sumrow[N] = {0.0}, sumall = 0.0;
printf("999.99以下の%d行%d列の正の実数データを入力してください\n\n", M, N);
for (i = 0; i < M; i++)
for (j = 0; j < N; j++) {
printf("data[%d][%d]の値? ", i, j);
scanf("%lf", &data[i][j]);
}
puts("\n集計の結果は次のとおりである.\n");
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
printf("%.2f ", data[i][j]);
sumcol[i] += data[i][j];
sumrow[j] += data[i][j];
}
printf(": %.2f\n", sumcol[i]);
}
puts("=================================");
for (i = 0; i < N; i++) {
printf("%.2f ", sumrow[i]);
sumall += sumrow[i];
}
printf(": %.2f\n\n", sumall);
return 0;
}

626 :デフォルトの名無しさん:2009/12/02(水) 05:18:19
https://www.ioi-jp.org/
俺も登録して誰かに解いてもらおうかな

627 :デフォルトの名無しさん:2009/12/02(水) 07:19:43
>>626
回答者に報酬がないものか。小遣いかせぎしたいもの。

628 :デフォルトの名無しさん:2009/12/02(水) 07:23:19
[1] 授業単元:
[2] 問題文(含コード&リンク):粒子の数値計算
[3] 環境
 [3.1] OS:Linux
 [3.2] g++
 [3.3] 言語:C++
[4] 期限: 早めに
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10223.cpp
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10224.cpp
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10225.c
3つめのcファイルはhファイルに変えてください

うまく位置の更新ができなくて困っています。同じ値が繰り返しでてきます。
あと100個の位置データをでるようにしているはずですがなぜか69個しかでてきません

よろしくおねがいします


629 :デフォルトの名無しさん:2009/12/02(水) 07:49:20
>>600
ありがとうございます!

630 :デフォルトの名無しさん:2009/12/02(水) 08:10:00
国語の先生に数学は兎も角理科の問題まで聞かれても困る
というのが実際のところだろw
しかも「早めに」だし....
一般論だけであるという但し書き付きだがアドバイス

テンプレートクラスの多用はバグのもと。余程慣れてないと
特有の癖(言語文法の制約からくるもので作者が下手という
わけではない)がバグを誘発する。
せっかくC++で書いているんだから、出来る限りすべて
クラス化して記述。(インスタンスを作らないクラスを
mainで呼び出す)
あと大事なこと。「おかしいな」と思ったら余りしつこく追求せず
そのコードを潔く捨てて忘れて1から書き直すこと。急がば回れ。

631 :デフォルトの名無しさん:2009/12/02(水) 13:41:15
>>614-615
サンキューベリーマッチ!

632 :デフォルトの名無しさん:2009/12/02(水) 14:10:28
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10226.txt
[3]環境
 [3.1] OS:Vista
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語
[4] 期限:明日

どういう意味かわかりません・・・よろしくお願いします

633 :デフォルトの名無しさん:2009/12/02(水) 14:24:18
void intary_rcpy(int v1[], const int v2[],int no){
int i;
for(i=0;i<no;i++) v1[i]=v2[no-1-i];
}
で動けばラッキーだと思え

634 :デフォルトの名無しさん:2009/12/02(水) 14:24:27
>>532 要素数がnoであるint型の配列v2の並びを逆順にしたものを配列v1に格納する関数
http://jbbs.livedoor.jp/bbs/read.cgi/computer/32221/1246384344/32

635 :デフォルトの名無しさん:2009/12/02(水) 15:29:20
>>566をどなたかお願いします

636 :デフォルトの名無しさん:2009/12/02(水) 15:35:33
>>566 >>600

637 :デフォルトの名無しさん:2009/12/02(水) 15:36:02
>>635
アンカーミス?

638 :ああああ:2009/12/02(水) 16:07:19
【質問テンプレ】
[1] 授業単元:大学の授業
[2] 問題文(含コード&リンク):したにまとめて書きました
[3] 環境
 [3.1] OS: (Windows/Linux/等々) windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) ビジュアルスタジオ2005??
 [3.3] 言語: (C/C++/どちらでも可 のいずれか) Cでおねがいします
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) なるべく早く
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) ありません

したにつづく

639 :ああああ:2009/12/02(水) 16:09:40
1:originalファイルから、シミュレーション範囲(数値)を読み取り、insertedファイルにコピー
2:absorbalファイルから、水分子の各原子の位置(座標)を読み取る


3:2の座標をランダムに発生させた数(ランダムに発生させた数の範囲は0以上originalファイルから読み込んだ範囲まで)だけ平行移動し、insertedファイルに書きたす
  3は入力されたn回繰り返す

4:3の結果をinsertedファイルに書き足し、そのあとendを2回書きこみ終了


以下のコードではシミュレーション範囲は読み取れているが乱数発生時に反映されていない
また、水分子の位置も毎回同じになっている→これを改善したい

つづく


640 :ああああ:2009/12/02(水) 16:11:27
#include<stdafx.h>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<time.h>
#include<iostream> //substr関数用
#pragma warning(disable : 4192) //警告を制御
#pragma warning(disable : 4996)
int main(void)
{
/*ファイルアドレス記憶用のポインタ変数*/
FILE*fp_original; //シュミレーション範囲(長さや角度など)のoriginal.carファイル用
FILE*fp_absorbal; //挿入したい分子構造のabsorbal.carファイル用
FILE*fp_inserted; //insertedファイル=original.carファイル+absorbalファイルを基に計算を行った結果


printf("デバッグ22行目\n");

/*使用する3つのファイル(original,absorbal,inserted)の準備*/
//↓マテスタで作った、シュミレーション範囲(長さや角度など)の.carファイル(original.car)を読み込む(書きたせてはいけない)
fp_original=fopen("original.car","r"); //r:読み込み、テキストモード

//↓マテスタで作った、挿入したい分子構造の.carファイル(absorbal.car)を読み込む(書きたせなくてよい)
fp_absorbal=fopen("absorbal.car","r");





641 :ああああ:2009/12/02(水) 16:12:21
#include<stdafx.h>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<time.h>
#include<iostream> //substr関数用
#pragma warning(disable : 4192) //警告を制御
#pragma warning(disable : 4996)


int main(void)
{


/*ファイルアドレス記憶用のポインタ変数*/

FILE*fp_original; //シュミレーション範囲(長さや角度など)のoriginal.carファイル用
FILE*fp_absorbal; //挿入したい分子構造のabsorbal.carファイル用
FILE*fp_inserted; //insertedファイル=original.carファイル+absorbalファイルを基に計算を行った結果

642 :ああああ:2009/12/02(水) 16:20:20
すいません。上に書いたコードは間違いです…
テンプレの内容は同じですが、よろしくお願いします。

つくりたいプログラムの説明
1:originalファイルをそのままinsertedファイルにコピー
2:absorbalファイルから01,H1,H2原子の座標を引っ張り出し、
それに発生させた乱数(乱数の範囲は0〜insertedのシミュレーション範囲まで)
を加え、その結果をinsertedファイルに書き足す。
2を入力した回数繰り返す

です。
各ファイルの中は以下の通り(続く)



643 :ああああ:2009/12/02(水) 16:25:03
つづき
!BIOSYM archive 3
PBC=ON
Materials Studio Generated CAR File
!DATE Thu Nov 19 17:13:56 2009
PBC 12.0000 12.0000 12.0000 90.0000 90.0000 90.0000 (P1)
O1 -1.741302123 -0.790912385 -6.162912333 XXXX 1 xx O 0.000
H1 -2.498841233 -1.371238949 -6.162123933 XXXX 1 xx H 0.000
H2 -0.983761232 -1.378123949 -6.161232933 XXXX 1 xx H 0.000
O2 -4.566621230 -1.546123478 -4.791230741 XXXX 1 xx O 0.000

シミュレーション範囲は12.0000 12.0000 12.0000 です。




644 :デフォルトの名無しさん:2009/12/02(水) 17:55:26
リンク使えよ

645 :デフォルトの名無しさん:2009/12/02(水) 19:47:49
質問者は

http://codepad.org/

これつかったほうがいいと思う

646 :デフォルトの名無しさん:2009/12/02(水) 20:04:46
ふざけて質問してるのかと思った

647 :デフォルトの名無しさん:2009/12/02(水) 20:14:46
>>645
問題をアップするのだから codepad は使えないのでは?
テンプレどおりでいいと思います。
むしろ回答側で codepad にて身の潔白を証明するのがいいかと。

648 :デフォルトの名無しさん:2009/12/02(水) 20:34:15
>>647
Plain Textってのもあるみたいだよ.

649 :デフォルトの名無しさん:2009/12/02(水) 20:43:12
>>633-634
ありがとうございまっする

650 :ああああ:2009/12/02(水) 20:57:11
643のつづきです

absorbalファイルの中!BIOSYM archive 3
PBC=OFF
Materials Studio Generated CAR File
!DATE Thu Nov 05 15:15:30 2009
O1 -10.396332 -8.568939 -2.443329 XXXX 1 xx O 0.000
H1 -11.153873 -9.156903 -2.443329 XXXX 1 xx H 0.000
H2 -9.638791 -9.156903 -2.443329 XXXX 1 xx H 0.000
end
end




651 :ああああ:2009/12/02(水) 20:59:11
codepad使いこなせませんでした…

連投で申し訳ありませんが非常に困っておりますのでよろしくお願いします!!

652 :デフォルトの名無しさん:2009/12/02(水) 21:12:51
#include <iostream>
#include <cmath>
using namespace std;

int main() {
double a,b,c;
cin >> a >> b >> c;

if(a==0) {
cout << (-c/b) << '\n';
}
else if((b*b-4*a*c)<0) {
cout << (-b/2/a) << 'i' << sqrt(4*a*c-b*b)/2/a << '\n';
}
else {


}

return 0;
}

C++で二次方程式のプログラムを作るんですが条件は虚数解、実数解、a=0の時で分けるんですが最後のelseの下にcoutの文一行だけ書いてないんですが教えてくれませんか

653 :デフォルトの名無しさん:2009/12/02(水) 21:58:41
2次方程式の解の公式って、中学生で習うんだっけ?

654 :デフォルトの名無しさん:2009/12/02(水) 22:01:22
>>651
アンカーすら付けて無いから、650に気付かない人は多いだろうな。
本当に困っているなら尚更、テンプレ>>1にある掲示板に問題を書き込むべし。

655 :デフォルトの名無しさん:2009/12/02(水) 23:13:04
>>653
高校ですよ

656 :デフォルトの名無しさん:2009/12/02(水) 23:16:08
#include <iostream>
#include <cmath>
using namespace std;

int main() {
  double a,b,c,D;

  cin >> a >> b >> c;
  if(a==0) {
    if(b!=0)
      cout << (-c/b) << '\n';
  }
  else {
    D = b*b-4*a*c;
    if(D < 0) {
      cout << -b/(2*a) << "±" << sqrt(-D)/(2*a) << "*i" << endl;
    }
    else {
      cout << -b/(2*a) + sqrt(D)/(2*a) << ", ";
      cout << -b/(2*a) - sqrt(D)/(2*a) << endl;
    }
  }
  return 0;
}

657 :デフォルトの名無しさん:2009/12/02(水) 23:33:56
>>656
ありがとうございます

これのフローチャートを最後に誰か教えてくれませんか?

開始と終了→楕円
処理を行う→四角
判断を行う→ひし形
でお願いします

658 :デフォルトの名無しさん:2009/12/02(水) 23:42:21
>・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
ここまで教えてあげないといけないの?

659 :デフォルトの名無しさん:2009/12/02(水) 23:58:42
628ですが一部抜粋

#include <iostream>
#include <cstdlib>

double uniformed_rand(void)
{
return (rand()+1.0)/RAND_MAX;
}

int main(void){
int n=100;
double r=1.0;
double x,y,z;

for(n=0;n<100;n++)
{
x=(uniformed_rand()*2-1)*r;
y=(uniformed_rand()*2-1)*r;
z=(uniformed_rand()*2-1)*r;
if(x*x+y*y+z*z<r*r) n++;
std::cout << x << " " << y << " " << z<< std::endl;
}

return 0;
}

これで100個のデータが出て欲しいんですが69個しかでてきません
原因はどこにあるんでしょうか?

660 :デフォルトの名無しさん:2009/12/03(木) 00:12:19
>>659
n++ が多い

661 :デフォルトの名無しさん:2009/12/03(木) 00:27:55
>>660
n++消したら69個にはならなくなりましたが180個くらいになってしまいます。
たびたびすいません

662 :デフォルトの名無しさん:2009/12/03(木) 00:32:00
>>661
15c15
< for (n = 0; n < 100; n++) {
---
> for (n = 0; n < 100;) {
19c19
< if (x * x + y * y + z * z < r * r)
---
> if (x * x + y * y + z * z < r * r) {
21c21,22
< std::cout << x << " " << y << " " << z << std::endl;
---
> std::cout << x << " " << y << " " << z << std::endl;
> }

663 :デフォルトの名無しさん:2009/12/03(木) 00:45:57
>>662
ありがとうございます
解決致しました
感謝します

664 :デフォルトの名無しさん:2009/12/03(木) 03:20:42
[1] C言語
[2] 問題文(含コード&リンク):
問題1 unsigned int型の引数を1つ持ち, その値を2進数で印字する戻
値のない関数, print_bin() を作成し, 動作を確認できるプロ
グラムとして作成して rep07.c として提出せよ。
ただし, putchar() 以外のライブラリ関数を使用してはなら
ない。
問題2 double型の配列とint型の引数を持ち, double型の戻値を持つ関
数を考える。第一引数のdouble型の配列の要素数が第二引数で
与えられるとして, 第一引数のdouble 型の配列に格納されてい
る値のうち最大のものを戻値として返す関数 max_d_array() を
作成し, 動作確認できるプログラムとして作成して rep08.c と
して提出せよ。
ただし, max_d_array() 内部ではいかなる関数も呼んではな
らず, 制御構文としては while()文, if()文, return文のみを
用いて実装しなければならない。do-while()文, for()文,
switch-case文, goto文, 条件式(三項演算子?:)は使ってはなら
ない。三項演算子以外の各種演算子と変数は自由に使って良い。
問題3 
標準入力からの入力に対して、アルファベットの文字を3文字ず
らして標準出力に出力するシーザー暗号化プログラムを作成し
て、rep09.c として提出せよ。具体的には, 小文字に対しては
a -> d, b -> e, ..., w -> z, x -> a, y -> b, z -> c なる
変換である。もちろん大文字に関しても同様の変換処理をしな
ければならない。
[3] 環境
 [3.1] OS: unix
 [3.2] コンパイラ名とバージョン: gcc 
[3.3] 言語: C
[4] 期限: h21 12月4日 13時 まで
[5] その他の制限:特になし

665 :デフォルトの名無しさん:2009/12/03(木) 04:05:21
>>664
課題1
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10228.c

666 :デフォルトの名無しさん:2009/12/03(木) 07:12:40
>>664
問題2
#include <stdio.h>

double max_d_array(double *p, int n)
{
double max = *p;

while(--n) if(max < *++p) max = *p;

return max;
}

int main(void)
{
double a[] = {1,2,3,4,5};

printf("%f\n", max_d_array(a, sizeof a / sizeof *a));

return 0;
}

667 :デフォルトの名無しさん:2009/12/03(木) 09:18:09
[1] 授業単元:C++実習
[2] 問題文(含コード&リンク):分数クラス2
分数を扱うクラスを作成する。クラス名はBunsu。データメンバはint型でbunshiとbunboでpraivateとする。
コンストラクタにより初期化をおこなう。初期値が指定されなかったときは省略時引数ででbunshi,bunboとも1で初期化すること。
またBunsuクラスの振る舞いをテストする適切なmain関数も作成すること。1ファイルで作成してください。

作成する関数
・コンストラクタ
・演算子のオーバーロード(friend関数で作成すること)
+, -, *, /, ==, != の演算子について多重定義を行なう。演算結果は約分する。
>>と<<のオーバーロード(friend関数で作成すること)
・<<Bunsuクラスのオブジェクトをcoutで出力すると分子/分母の形式で出力する。
[3] 環境
 [3.1] OS:Windows(Vista)
 [3.2] コンパイラ名とバージョン:VisualStudio2008
 [3.3] 言語:C++
[4] 期限:[2009年12月6日22:00まで]
[5] その他の制限:とくにありません。
よろしくお願いします。

668 :デフォルトの名無しさん:2009/12/03(木) 10:27:25
>>664
課題3
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10229.c

669 :デフォルトの名無しさん:2009/12/03(木) 13:28:13
1] 授業単元:プログラミング演習
[2] 問題文
氏名をキーボードから入力させ、入力された文字列長を求めて画面に表示するプログラムを作りなさい。
ただし、文字列長を求めるのに標準ライブラリ関数を使用しないこと。バッファオーバーランなどが発生する
不正な入力は行われないものとする。
[3] 環境
 [3.1] Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:明後日まで
[5] その他の制限:コンソール入出力というところまで習っています。
どなたかお願いします

670 :デフォルトの名無しさん:2009/12/03(木) 16:17:04
>>669
http://codepad.org/JWMpce3O


671 :デフォルトの名無しさん:2009/12/03(木) 17:30:39
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
関数としてy=sinx,y'=sinx+xcosxを取り上げ、f'(x)=sinx+xcosxの値を数値微分による方法から計算するプログラムを作成し
解析値と比較してみよ。ただしh=0.1とし、0≦x≦πとせよ。
[3] 環境
 [3.1] OS:windows vista
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: Cのみ
[4] 期限: (2009年12月5日10:00まで]
[5] その他の制限:特にはありません。

すいませんが、よろしくお願いします。

672 :デフォルトの名無しさん:2009/12/03(木) 18:22:19
>>671
f(x) を求めるのですか?それとも f ' (x) ? ∫f(x)dx ?
なにを求めるのか教えてください。

673 :デフォルトの名無しさん:2009/12/03(木) 20:30:13
[1] 授業単元:プログラミング
[2] 問題文:並べ替え部分を関数(ポインターを用いる)にして書き直す。
元のプログラム↓

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10231.txt
[3] 環境
 [3.1] OS: Windows xp
 [3.2] VC 6.0
 [3.3] 言語: C
[4] 期限: 12月5日
[5] その他の制限:特にないです

674 :デフォルトの名無しさん:2009/12/03(木) 20:53:07
>>673
ほとんど答えが書いてあるような問題だけど・・・

#include<stdio.h>

void swap(int *l, int *r)
{
int tmp;
tmp=*l;
*l=*r;
*r=tmp;
}

int main(void)
{
int n1,n2;

puts("2つの整数を入力してください。");
printf("整数A:"); scanf("%d",&n1);
printf("整数B:"); scanf("%d",&n2);
swap(&n1, &n2);
puts("これらの値を交換しました。");
printf("整数Aは%dです。\n",n1);
printf("整数Bは%dです。\n",n2);
return 0;
}

675 :デフォルトの名無しさん:2009/12/03(木) 21:15:12
>>156 ちょっと見てから提出したほうがいい。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10232.cpp

676 :デフォルトの名無しさん:2009/12/03(木) 22:47:39
>>672
遅レスすいません。
f'(x)を求める問題です。

677 :デフォルトの名無しさん:2009/12/03(木) 23:12:17
[1] 授業単元:プログラミング演習
[2] 1.サンプルプログラムを参考に乱数によって生成した20個の数字を配列に入れ、バブルソートによって小さい順に表示するプログラムを作成せよ。
2.サンプルプログラムを参考乱数によって生成した20個の数字を配列に入れ、バブルソートによって大きいものから順に表示するプログラムを作成せよ。
3.キーボードから次々に整数を入力し、入力のたびにそれまでに入力した数字を小さい順に表示するプログラムを作成せよ。数字は10個入力したらプログラムは終了するようにすること.
4.0から1までのdouble型の数字を20個乱数によって生成し、小さい順に表示するプログラムを作成せよ。
5.以下の英単語を辞書順に(アルファベット順に)ソートによって並べ替えて表示するプログラムを作成せよ。すべての4文字の単語であることを利用してもよい。

mane, malt, mama, mark, mare, maid, made, mach, many, mess, meat, neat, like, lime, limb

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10230.txt
 [3.1] WindowsXP
 [3.2] turbo C
 [3.3] C++
[4] 今週中
[5] 1、2番は乱数の生成がわからなかったのでできませんでした。よろしくおねがいします。


678 :デフォルトの名無しさん:2009/12/03(木) 23:13:27
[1] 授業単元:プログラミング演習
[2] 1.サンプルプログラムを参考に乱数によって生成した20個の数字を配列に入れ、バブルソートによって小さい順に表示するプログラムを作成せよ。
2.サンプルプログラムを参考乱数によって生成した20個の数字を配列に入れ、バブルソートによって大きいものから順に表示するプログラムを作成せよ。
3.キーボードから次々に整数を入力し、入力のたびにそれまでに入力した数字を小さい順に表示するプログラムを作成せよ。数字は10個入力したらプログラムは終了するようにすること.
4.0から1までのdouble型の数字を20個乱数によって生成し、小さい順に表示するプログラムを作成せよ。
5.以下の英単語を辞書順に(アルファベット順に)ソートによって並べ替えて表示するプログラムを作成せよ。すべての4文字の単語であることを利用してもよい。

mane, malt, mama, mark, mare, maid, made, mach, many, mess, meat, neat, like, lime, limb

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10230.txt
 [3.1] WindowsXP
 [3.2] turbo C
 [3.3] C++
[4] 今週中
[5] 1、2番は乱数の生成がわからなかったのでできませんでした。よろしくおねがいします。


679 :デフォルトの名無しさん:2009/12/03(木) 23:14:20
[1] 授業単元:プログラミング演習
[2] 1.サンプルプログラムを参考に乱数によって生成した20個の数字を配列に入れ、バブルソートによって小さい順に表示するプログラムを作成せよ。
2.サンプルプログラムを参考乱数によって生成した20個の数字を配列に入れ、バブルソートによって大きいものから順に表示するプログラムを作成せよ。
3.キーボードから次々に整数を入力し、入力のたびにそれまでに入力した数字を小さい順に表示するプログラムを作成せよ。数字は10個入力したらプログラムは終了するようにすること.
4.0から1までのdouble型の数字を20個乱数によって生成し、小さい順に表示するプログラムを作成せよ。
5.以下の英単語を辞書順に(アルファベット順に)ソートによって並べ替えて表示するプログラムを作成せよ。すべての4文字の単語であることを利用してもよい。

mane, malt, mama, mark, mare, maid, made, mach, many, mess, meat, neat, like, lime, limb

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10230.txt
 [3.1] WindowsXP
 [3.2] turbo C
 [3.3] C++
[4] 今週中
[5] 1、2番は乱数の生成がわからなかったのでできませんでした。よろしくおねがいします。


680 :デフォルトの名無しさん:2009/12/03(木) 23:19:30
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):以下のURLにあるプログラムが、どこがどういう風になってこの書き方になっているのか説明
して頂ける方を募集してます。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10233.txt


[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C言語
[4] 期限:大至急
[5] その他の制限:特に制限はないです

681 :デフォルトの名無しさん:2009/12/04(金) 00:08:37
>>679

5.以下の英単語を辞書順に(アルファベット順に)ソートによって並べ替えて表示するプログラムを作成せよ。
http://codepad.org/bIdj4pYj

682 :デフォルトの名無しさん:2009/12/04(金) 00:11:13
>>679
乱数は,#include <stdlib.h>してrand()したらOK.
srand()するとなおよい.

683 :671:2009/12/04(金) 00:19:24
671ですがどなたかお願いできませんか?


684 :デフォルトの名無しさん:2009/12/04(金) 00:22:13
>>683
> y=sinx,y'=sinx+xcosx
2つの関数じゃないなら、これって矛盾してないかい?

685 :671:2009/12/04(金) 00:31:41
>>684
y'はただyの式を微分しただけなので特に矛盾はないと思うんですが
ただ正直、私も題意を理解できなかったのでここに書かせてもらいました…



686 :デフォルトの名無しさん:2009/12/04(金) 00:44:23
y=xsinxの間違いじゃないんですか

687 :デフォルトの名無しさん:2009/12/04(金) 00:47:53
[1] 授業単元:プログラミング演習
[2] 1.サンプルプログラムを参考に乱数によって生成した20個の数字を配列に入れ、バブルソートによって小さい順に表示するプログラムを作成せよ。
2.サンプルプログラムを参考乱数によって生成した20個の数字を配列に入れ、バブルソートによって大きいものから順に表示するプログラムを作成せよ。
3.キーボードから次々に整数を入力し、入力のたびにそれまでに入力した数字を小さい順に表示するプログラムを作成せよ。数字は10個入力したらプログラムは終了するようにすること.
4.0から1までのdouble型の数字を20個乱数によって生成し、小さい順に表示するプログラムを作成せよ。
5.以下の英単語を辞書順に(アルファベット順に)ソートによって並べ替えて表示するプログラムを作成せよ。すべての4文字の単語であることを利用してもよい。

mane, malt, mama, mark, mare, maid, made, mach, many, mess, meat, neat, like, lime, limb

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10230.txt
 [3.1] WindowsXP
 [3.2] turbo C
 [3.3] C++
[4] 今週中
[5] 1、2番は乱数の生成がわからなかったのでできませんでした。よろしくおねがいします。


688 :デフォルトの名無しさん:2009/12/04(金) 01:47:52
[1] 授業単元:
アルゴリズムとプログラミング
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10234.txt

[3] 環境
 [3.1] OS: (Windows/Linux/等々)
Linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
12月11日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
特にありません

337 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)