プログラマー軍団がC/C++の宿題を解決します 34代目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG史上最強のプログラマー軍団の見解は?
――【注意点】――――――――――――――――――――――
・使用する言語(C/C++)や環境(CUI/GUIなど)は必ず書きましょう。
・問題文は、ちゃんと解いてもらう方にわかりやすいように全文を書きましょう。
・計算問題は必ず数式自体をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その行とエラーの詳細を書きましょう。
エラーメッセージが出た場合はそのままコピーしてください。
・後になって問題につけたしをするのはやめましょう。
解いてもらっている方に失礼になってしまいます。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
【歴代スレは>>2-10】
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNGどうでもいいが、突っ込みどころだらけなプログラムだな。
float * thetaから判るように、thetaはfloat へのポインタである。
したがって、* theta = 180.0 * atan2(y, x) / 3.141592;の意味は
atan2()関数を引き数y と x で呼び出し、その結果をラジアンから度に変換して
呼び出し元で用意した場所に格納している。
#atan2()関数が何をしているかくらいは自分で調べろ。
プログラム作成の方は、main()の方は同じ要領だから省略。
変換関数は、r とtheta を求める代わりにx とy を求めればいい。
それぞれ、r * cos(theta[rad]), r * sin(theta[rad])で求められる。
0234デフォルトの名無しさん
NGNGソート:基本選択法を使用
キーボードから「番号、氏名」を複数入力する。
入力した各データは、一旦それぞれに配列に格納して、学籍番号をキーに昇順にソートする。
そして、ソートしたデータのそれぞれをカンマで区切ったレコードにして
csv形式のファイルへ出力するプログラムを考えてます。
どなたか宜しくお願いしますm(_ _)m
0235デフォルトの名無しさん
NGNG「配列」じゃないとダメなんでしょうか? ツリーに追加していくほうが楽なんですが。
0237デフォルトの名無しさん
NGNGPop *Sort(Pop *top){
Pop dummy_top;//ダミーの先頭を作る
dummy_top.pop = 0;
dummy_top.NextPtr = top;
Pop *p_search = dummy_top.NextPtr;//検索対象
Pop *p_replace = &dummy_top;//置き換え対象(比較対象)の一つ前
while(p_search != NULL){
while(p_replace->NextPtr != p_search){
if(p_replace->NextPtr->pop > p_search->pop){
//置き換える
Pop *search_next = p_search->NextPtr;
Pop *replace_next = p_replace->NextPtr;
Pop *replace_next_next = p_replace->NextPtr->NextPtr;
p_search->NextPtr = replace_next;
p_replace->NextPtr->NextPtr = search_next;//p_replace->NextPtrより先に置き換えること
p_replace->NextPtr = replace_next_next;
//最初に戻して繰り返し
p_search = dummy_top.NextPtr;
p_replace = &dummy_top;
break;
}
p_replace = p_replace->NextPtr;
}
p_search = p_search->NextPtr;
p_replace = &dummy_top;
}
return dummy_top.NextPtr;
}
0238721
NGNGどのように式を作ったらよいかどなたか教えてください。
・分かってる点、始点(X1,Y1)中点(X2、Y2)終点(X3,Y3)です。
・(X-X0)^2+(Y-Y0)^2=r^2の式を使って連立方程式を立て中心(X0,Y0)と半径rを求めたいです。
0239デフォルトの名無しさん
NGNG3つの点代入して、その連立方程式の解を求めればいいんじゃないのか
0240238
NGNGそうなんですが、プログラムに直す時にどのようにしたら良いか分からなくて…
0241デフォルトの名無しさん
NGNGソートできてませんでした…。なんでだろう?
0242デフォルトの名無しさん
NGNG円の方程式を
x^2+y^2+lx+my+n=0
という形で表して(円の方程式をばらしただけ、数�Uの教科書参照)
ばらした式に3つの点代入して3元連立1次方程式を解いてlとmとnを求めて
元の式(x-a)^2+.....と係数比較すれば強引に求まるかも
しかし検索したら解法のアルゴリズムとかありそうだなあ…
0243235
NGNGできたけどファイルがちょっと大きかった。ここに貼るのは難しい。
しかも今ちょっと忙しい(本業:システムエン死に屋)
捨てアドでも晒してくれたら今日・明日中にでも送りますが。
それまでにだれかがソース貼ってくれるかもしれませんがw
0244デフォルトの名無しさん
NGNGすみません、私のミスでした。
ていねいなソースありがとうございました。
0245238
NGNGアドバイスありがとうございます。
もう一度挑戦してみます。
0246デフォルトの名無しさん
NGNG(x1,y1)(x3,y3)の中点では、異なる2点を与えたのと同値で
円は一意に定まらない
0247デフォルトの名無しさん
NGNGポカーン
0248デフォルトの名無しさん
NGNG0249238
NGNG中点に特に意味は無いです。
区別をつけたつもりが変な区別のつけ方になってしまいました。
0250デフォルトの名無しさん
NGNG0251242
NGNG#include <stdio.h>
#include <math.h>
int main()
{
int i,j,k; double cx,cy,r; double x[3],y[3];
double pivot; double a[3][4]; double erase;
printf("始点?:"); scanf("%lf,%lf", &x[0], &y[0]);
printf("中点?:"); scanf("%lf,%lf", &x[1], &y[1]);
printf("終点?:"); scanf("%lf,%lf", &x[2], &y[2]);
for(i=0; i<3; i++) {
a[i][0] = x[i]; a[i][1] = y[i]; a[i][2] = 1.0; a[i][3] = -(x[i]*x[i] + y[i]*y[i]);
}
for(i=0; i<3; i++) {
pivot = a[i][i];
for(j=0; j<4; j++) {
a[i][j] /= pivot;
}
for(k=0; k<3; k++) {
erase=a[k][i];
for(j=i; j<4; j++){
if(k != i) a[k][j] -= erase*a[i][j];
}
}
}
cx = a[0][3]/2; cy = a[1][3]/2;
r = sqrt((cx*cx) + (cy*cy) - a[2][3]);
printf("中心:(%lf, %lf)", cx, cy);
printf("半径:%lf", r);
return 0;
}
答えが整数になるような問題じゃないと解けないかも…
0252デフォルトの名無しさん
NGNGそもそも円だと始点と終点が同じ…
0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNGあと始点のXが0だとだめだから
そのときは格納するときどこかと交換とか他色々
0255デフォルトの名無しさん
NGNG1.要素が50ある配列を二つ用意する。(とりあえずa[ ], b[ ]とする)
2.用意した配列a[ ]に数値をランダムに入れる
3.a[ ]の50個のデータのうち最小のものを求めて、b[0]に入れる
4.a[ ]の残りの49個のデータのうち最小のものを求めてb[1]に入れる
5.a[ ]の残りの48個のデータのうち最小のものを求めてb[2]に入れる
以下繰り返し。全部のデータがb[ ]に入ったらおしまい。
ど素人です。よろしくお願いします。
0256デフォルトの名無しさん
NGNGN88BASICのプログラムをC言語に直せ。
という課題がでたのですが、一週間考えてもわかりません。
どうか教えてください。
0257デフォルトの名無しさん
NGNGSCREEN2 : CONSOLE 0,25,0,0
KMAX=100:XMAX=300
RANDOMIZE
PI=3.14159*2:EK=PI/XMAX*.7
DIM ER(KMAX),EI(KMAX),F(XMAX)
FOR K=1 TO KMAX
GOSUB *GA : ER(K)=MO
GOSUB *GA : EI(K)=MO
NEXT K
*SA
CLS
INPUT "Fractional Derivate(1.0.-2.0)",D
A=5-2*D
FMAX=0 : FMIN=0
FOR K=1 TO KMAX : KA(K)=(EK*K)^(-A/2) : NEXT K
FOR X=0 TO XMAX
F(X)=0
FOR K=1 TO KMAX
KX=EK*K*X
F(X)=F(X)+KA(K)*(ER(K)*COS(KX)-EI(K)*SIN(KX))
NEXT K
IF FMAX<F(X) THEN FMAX=F(X)
IF FMIN>F(X) THEN FMIN=F(X)
NEXT X
RETURN
0258デフォルトの名無しさん
NGNGVIEW (0,200)-(XMAX,299)
FB=F(0)
FOR X=1 TO XMAX
LINE (X-1,FB)-(X,F(X))
FB=F(X)
NEXT X
GOTO *SA
*GA
MO=0
FOR GI=1 TO 10
MO=MO+RND-.5
NEXT GI
RETURN
0259デフォルトの名無しさん
NGNGどうかよろしくお願いします。
0260デフォルトの名無しさん
NGNG微妙にスレ違い。
で、Fractional Derivateってなんだ。
しかもLINEとかの描画処理が入ってるが、これはどうだろうな・・・。
こんな宿題出すやつの気が知れん。
OSはなんだ。Windowsか?
環境を明記しとけば、暇人が手伝ってくれるかもしれん。
0262デフォルトの名無しさん
NGNGどう答えればいいかも
よく分からない小娘ですが、
宜しくお願いします。
0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNG小娘なら小娘の武器を使え。
0265デフォルトの名無しさん
NGNGとりあえずおっぱいうp
0266デフォルトの名無しさん
NGNG0267(・∀・)イイ!!
NGNGプログラミングする(・∀・)イイ!!
0268デフォルトの名無しさん
NGNGさらに破壊的な武器を要求されてまつね
まぁこういう女を主張する香具師はロクに仕事できずに
給料平等にしろなどとのたまうんだろうがな
0269デフォルトの名無しさん
NGNG>>1
つーか、メルアド搾取が目的か?
0270デフォルトの名無しさん
NGNG臭いオシッコ飲ませろ。
0271(・∀・)イイ!!
NGNG0272デフォルトの名無しさん
NGNGメンバの違いとか言われてもなぁ…
クラスメンバはクラスで一つ
インスタンスメンバはインスタンスごとに一つ
とか?メソッドは違うけど。
つーかC#シラネ
0273169=173
NGNG失礼いたしますた
あまりビットとかバイトを理解してませんでした。
これではどうでしょうか?
指定されたファイルの指定された範囲のデーターをNOTで反転
例えば40ビット目から10ビットが1111001110だったら0000110001にして保存です。
0274デフォルトの名無しさん
NGNG何がイイんだかわかんねえよカスが!!
天の上にヒトを作らず、
天の下にヒトを作らず、
って言葉しらねえのかw?
だがな、天の下に実はヒトがいたんだよ!!
それが、ここにいる香具師ら、プログラマーなんだよWWWWWW
0275デフォルトの名無しさん
NGNGひたすらコピペプログラミングしないで、きちんと清書下さい
なぜか動いてるから変えたくないとか言わないで下さい
殆どありえない場合だから構わないとか言わないで下さい
全然正しくない数式にいつまでもこだわらないで下さい
0276デフォルトの名無しさん
NGNG職にしてない者が言って悪いんだけど
そ れ っ て そ の 人 個 人 じ ゃ な い の ?
大半がそうならすまん
0277デフォルトの名無しさん
NGNGpu
0278デフォルトの名無しさん
NGNG今のところ、俺の職場にあらわれては消えていった、そしていまいる
女プログラマーの共通項。その数10人以上
0279デフォルトの名無しさん
NGNGプログラマだから仕方ないじゃんw
0280259
NGNG非整数微積分をフーリエ変換を用いて表したものです。
フラクタルの授業の課題で出ました(T_T)
教官曰くC言語で簡単に書けるらしいのですが、全く掛けません。
0281デフォルトの名無しさん
NGNG確かにいるね
動いてるんだから他の部分変えたくないって人
ソース見たらごちゃごちゃしすぎて、行き当たりばったりでデバッグの繰り返しで継ぎ足していった感じ
そいつの直すのは根本的にむりぽ
0282デフォルトの名無しさん
NGNG257と258の途中が抜けてるから無理
0283デフォルトの名無しさん
NGNG女じゃないけど、俺だvzo
0284259
NGNG一応もらったプリントどおりにうつしてあるのですが^^;
0285デフォルトの名無しさん
NGNG女か?
0286デフォルトの名無しさん
NGNG『標準入力からテキストファイルを読み込み、行を短い順に出力しなさい。
但し、行は最大 80 文字とし、 80 文字以上の行は先頭 80 文字だけの行として取扱い出力し、
空行は出力しないで下さい。
また、同じ長さの行は入力した順番に出しなさい。
レポートでは、実行例として、作成したソースプログラムをプログラムに入力した出力と、
http://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、
最後の 5 行を示しなさい。
なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに
依存しなければなりません。勝手な上限を設けてはいけません。』
CとC++のどちらでも構いません。よろしくお願いします。
0287デフォルトの名無しさん
NGNG男でも女でもいる。
でも、女の方が多いように感じる
職場に女がいなくて目につきやすいせいかわからんが
0288デフォルトの名無しさん
NGNG早く土方にでも転職しろや
0289282
NGNGNEXT X
RETURN
ここから
ここ
WINDOW (0,FMIN*1.2)-(XMAX,FMAX*1.2)
VIEW (0,200)-(XMAX,299)
:
returnの直後になぜ命令が?
0290デフォルトの名無しさん
NGNGhttp://www.blea.jp/j/index.html
0291デフォルトの名無しさん
NGNG肉体労働はいいよ。徹夜とかないからな
>>286
レポートでは、実行例として、作成したソースプログラムをプログラムに入力した出力と、
と
http://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、
最後の 5 行を示しなさい。
って何か関係あんの?
0292259
NGNG確認したところ257の最後のretuenはいらないみたいです。
でも何か間違っている気がします。ややこしくてすいません。
0293282
NGNG*SA
:
GOTO *SA
...ダメポ
0294デフォルトの名無しさん
NGNG0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNG0297259
NGNGどうも自分では、よくわかりません(T_T)鬱になります・・・
0298デフォルトの名無しさん
NGNGhttp://www.vector.co.jp/soft/dos/prog/se008400.html?site=n
0299259
NGNGでも残念ながら使えません。。
コマンドプロンプトでも試したのですが、使えませんでした。
0300デフォルトの名無しさん
NGNG>>274
>天の上にヒトを作らず、
>天の下にヒトを作らず、
>って言葉しらねえのかw?
「天は人の上に人を作らず、人の下に人を作らず」って言葉なら知ってます。
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNGそもそもコンパイラは?VC++?BCC?cygwin+XWindow+gcc?
それ次第で描画系コードが変わると思うんだけど。
0303デフォルトの名無しさん
NGNG#include <algorithm>
#include <iostream>
#include <list>
#include <string>
struct pred{
bool operator()(const std::string& x, const std::string& y)
{return x.length() < y.length();}
};
int main(){
std::list<std::string> li;
std::string line;
while (std::getline(std::cin, line))
if (!line.empty())
li.push_back(line.length() > 80 ? line.substr(0, 80) : line);
li.sort(pred());
for (std::list<std::string>::const_iterator first = li.begin(), last = li.end(); first != last; ++first)
std::cout << *first << std::endl;
}
0304デフォルトの名無しさん
NGNG全部が必要ではなく(この場合MAX/dt=10000)、1、501、1001…
というように500刻みにするにはどうすればいいのですか?
double x;
double dt=0.01;
int MIN=0;
int MAX=100;
for(x<MIN;X<=MAX;X+=dt){
if(xを500刻みで表示させたい。)
printf("hogehoge");
}
}
ifの中身を教えてください。お願いします。
0305デフォルトの名無しさん
NGNG0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNG0308304
NGNG区間(MIN<x<MAX)をできるだけ細かし、必要なだけ(500個とか300個等)
取り出したいのです。
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNG考えが浅いですね
0311デフォルトの名無しさん
NGNGループ用のixとdtはintで。
あらためてdoubleのxを使え。
0312デフォルトの名無しさん
NGNGそうですね
0313デフォルトの名無しさん
NGNGするというプログラムを作成しているのですが
char mozi[100];
gets(mozi);
char *haihun = strchr(mozi, '-');
int len;
if(NULL != haihun){ // ***
len = strlen(haihun); // ***
}else{ // ***
len = 0; // ***
} // ***
printf "一個目のハイフン以降の文字数は%d文字です", len;
cygwin上では正常にコンパイル出来て動くのですがRedHat7.3(gcc-2.96-113)
上ではparse errorが出てしまいます。
***の部分をlen = strlen(haihun);の1行にすればコンパイルは通り動作するものの、
入力文字列にハイフンが含まれていないとNULLをstrlenするためかコアダンプしてしまいます。
見ての通りぴよぴよですが解決をご教授下さいませ。
0314デフォルトの名無しさん
NGNGをメンバに持った構造体を定義し、vectorを用いて成績表を作成せよ。
10人分入力し、最後に合計点の高い順に整列させ一覧を表示する事とする。
環境はC++のコンソールです。お願いします。
0315デフォルトの名無しさん
NGNGC++としてコンパイルしてるのかな?
Cだとシンタックスエラーになるはずなんだが。
それにprintfに括弧がついてないけど。
ソースをコピペしてみて。
0316デフォルトの名無しさん
NGNGCなら変数の宣言は前のほうにもってくるほうがいいと思うけど。
char mozi[100];
char *haihun;
int len;
gets(mozi);
haihun = strchr(mozi, '-'); 以下略
0317デフォルトの名無しさん
NGNGありがとうございます。
0318デフォルトの名無しさん
NGNG>>214ではないが、まだ仕様がわからない。
対象のファイルは、バイナリ?テキスト?
バイナリであれば、どこからどこまでを1つの数字と見ていいのか?
「1、2、3」という「数値の」並びがファイルにあるとしたら、どう変更すればいいのか?
2進数だと、「00000001、00000010、00000011」
0319259
NGNGコンパイルする時は gcc ファイル名 -O ファイル名 です。
初心者で申し訳ありません。できる方どうかよろしくお願いしますm(_ _)m
0320デフォルトの名無しさん
NGNG10人分の入力はどうやってやるの?
入力機能を作るの?
0321デフォルトの名無しさん
NGNGunsigned char HANTEN(unsigned char a)
unsigned char b = 0x01;
unsigned char work =0, out =0;
for(int i=0; i<8; i++){
work = a & b;
work << (7 - i);
out = out | work;
b << 1;
}
return out;
}
下位から1bitずつ取り出してその分シフト、orで足し算、と。
取り出したビットがゼロだったら飛ばしてもいいかも
0322デフォルトの名無しさん
NGNG0323314
NGNGすいません。できればscanfとかcinなどで、
一人目の氏名→一人目の国語の点数→一人目の数学の点数
という感じで順番に手入力し、314の構造体に入れ、順次vectorに追加していく、、、
これを10人分繰り返す、という感じでお願いします。
原始的というか、初歩的な感じで結構です。よろしくお願いします。
0324デフォルトの名無しさん
NGNG*SAまでの初期化のあとに実行されるのは
WINDOW (0,FMIN*1.2)-(XMAX,FMAX*1.2)
から。
なのか?
それにしてもなんでGOTO*SAなんだ?
0325デフォルトの名無しさん
NGNG課題B教えて!
0326デフォルトの名無しさん
NGNG↑
この教官バカ。学校変えた方がいい。
0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNG・・・orz
0329デフォルトの名無しさん
NGNGファラタ
0330デフォルトの名無しさん
NGNGttp://bungee.j.dendai.ac.jp/prog2/prep/login_logout.html
0331259
NGNGそのプログラムは多少間違えてるけど、そこは推測してC言語に直すように
だそうです。。
嫌になります。とりあえず今から学校に行ってあがいてきます・・・
■ このスレッドは過去ログ倉庫に格納されています