トップページ⇒tech
982コメント315KB

宿題手伝いますYO!!

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
宿題とか手伝いますけど、以下の事項は守ってほしいです。
・マルチポストは厳禁です。
・キーワードが分かっているなら、http://www.google.co.jp を活用すること。
・質問内容がちゃんと日本語になっていること。
・言語名を入れること。
・自分の力で頑張ってみたことを伝えられる人。
・どこまでわかったのかを書くこと。
以上です。

前スレ http://pc3.2ch.net/test/read.cgi/tech/1029422194/

新
↑
│ http://pc3.2ch.net/test/read.cgi/tech/1027756023/
│ http://pc3.2ch.net/test/read.cgi/tech/1026138039/
│ http://pc.2ch.net/test/read.cgi/tech/1024592344/
│ http://pc.2ch.net/test/read.cgi/tech/1007902384/
│ http://pc.2ch.net/tech/kako/1003/10038/1003838158.html
│ http://pc.2ch.net/tech/kako/982/982853418.html
│ http://piza.2ch.net/tech/kako/972/972032579.html
↓
古

長いソースを張れるBBS
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433
0792デフォルトの名無しさんNGNG
>>782
スマン・・・
790と同様、読む気がしないので聞くけど、バグの原因を
聞いているという事は、バグがあったってことだよね?
どんなバグがあったの?
0793デフォルトの名無しさんNGNG
>fscanf(fin, "%d%d", &min, &max);
これじゃ、どこまでがminなのかmaxなのかわからんだろ。
0794デフォルトの名無しさんNGNG
>>782
とりあえず、1つ1つの関数
(prime_number, reverse_int, lookup_pprime)
が正しく動くか確認してみれ。

これ基本。
0795デフォルトの名無しさんNGNG
間にコロンが二つあるみたいだが出来るのか?
fopen〜.in.〜
fopen〜.out.〜
0796デフォルトの名無しさんNGNG
age
0797デフォルトの名無しさんNGNG
>>795
モーマンタイ・・・
0798デフォルトの名無しさんNGNG
>>795
とりあえず、自分で
正しく動くか確認してみれ。

これ基本。
0799782NGNG
誰か書きなおして
0800デフォルトの名無しさんNGNG
>>799
えーっと、数日前全く同じ質問が出て、書いてやったんだがな
どこの学校だ?
0801デフォルトの名無しさんNGNG
>>799
790,792の言っている事は無視かよ・・・
0802デフォルトの名無しさんNGNG
>>780
Storeクラス内のメソッドで
Demand d = new Demand();
d.show();
int[][] a = d.getDemand();
int b = a[1][2] + a[3][4] + a[0][0] + a[2][2];
とすればよい。
0803デフォルトの名無しさんNGNG
//ついでにこれもgetDemand()をオーバーライドしてDemandに入れとくと便利
public int getDemand(int shop, int item){
try {
//ArrayIndexOutOfBoundsExceptionがあるからいらんが...
//demand[][]を再初期化するメソッドを追加したときに備えて例外追加
if(shop > this.shop || item> this.item){
throw new OshietekunException("shop" + this.shop + "以上 item" + this.item + "以上でかい値いれるんじゃねぇよタコ");
} else {
return demand[x][y];
}
} catch(OshietekunException e){
e.printStackTrace();

//RunTimeExceptionなのでいらんかも
} catch(ArrayIndexOutOfBoundsException e){
e.printStackTrace();
} catch(Exception e){
e.printStackTrace();
}
}

//うえ動かすにはこのクラス必要
class OshietekunException extends Exception{
public OshietekunException(String message){
super(message);
}
}
0804デフォルトの名無しさんNGNG
main(){}
0805デフォルトの名無しさんNGNG
>>803
オーバーライド - > オーバーロードの間違い
0806デフォルトの名無しさんNGNG
なんだとー
0807デフォルトの名無しさんNGNG
バーカ!!
0808デフォルトの名無しさんNGNG
何だこのスレは
0809工房NGNG
学校から宿題を用意してきました。あらゆるエレガントな解答を募集しています。

会社Aが個人から商品を購入するときにもっとも少なくて何円で済むかを
計算するプログラムです。具体的には2つの整数N(0 <= N <= 2,000,000)
とM(0 <= M <= 5,000)が与えられて、Nはその会社が1日に必要とする商品
の数で、Mは商品を販売する個人の数を表す。そんで、次に1人づつ、商品
の値段(0 <= 値段 <= 1,000)と商品の数(0 <= 数 <= 2,000,000) が続いて
与えられるものとする。このとき会社Aは1日の需要を購入するにはもっと
も少なくて何円で済むかを計算してください。
例:
100 5/* 必要としている商品の数が100で5人から購入しようとしている */
5 20 /* 1人目:値段が5で、商品の数が20 */
9 40 /* 2人目:値段が9で、商品の数が40 */
3 10 /* 3人目:値段が3で、商品の数が10 */
8 80 /* 4人目:値段が8で、商品の数が80 */
6 30 /* 5人目:値段が6で、商品の数が30 */
例の解答:630

解答ソースはこちらでお願いします。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433#last

自分も参加するんで。
0810デフォルトの名無しさんNGNG
なんだとー
0811デフォルトの名無しさんNGNG
>>809
エレガントな回答もへったくれもない。

ただ
「値段の低い個人から優先して商品を購入していく」
ってだけだろ?
0812809NGNG
1通りできました。

こちらです。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=55
0813デフォルトの名無しさんNGNG
はい、糞!
0814こむNGNG
C言語なんですが、

//10個の整数を配列として受け付けて、それを配列に格納せよ。
//配列の1番目と2番目を入れ替えて、同様に3番目4番目という具合に
//隣り合う要素の入れ替えを行え。最後に入れ替えた後の配列の全要素を出力せよ。

#include <stdio.h>
int main(void) {
int array[10];
int i, temp;

for (i=0; i<10; i++) {// 10個の整数を入力
scanf("%d", &array[i]);
}

for (i=0; i<10; i+2) {// 入れ替え
temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
}

for(i=0; i<10; i++) {
printf("%d\n", array[i]);
}

return (0);
}

コンパイルしてもうまくいきません。
どこがヤバイんでしょうか?
0815デフォルトの名無しさんNGNG
x) i+2
o) i+=2
0816デフォルトの名無しさんNGNG
>>814
“うまくいきません”じゃなく、どういう現象になるのか書かんと…
まぁ入れ替えの for ループが終わらないんだろうけど。
0817デフォルトの名無しさんNGNG
>>814
int array[10];
だから駄目なんですよ。
long array[10];
にしないと
0818こむNGNG
>>815
ありがとうございます。
>>816
スミマセン。うまく表現できなかったので…。次回から気をつけます。

ところで>>817
>>815さんが指摘したとおり修正したらintでもlongでも結果が同じでした。
こっちにした方が良いんでしょうか?
0819デフォルトの名無しさんNGNG
>>818
>>817は多分ネタ
0820デフォルトの名無しさんNGNG
>>819
>>818は多分ネタ
0821デフォルトの名無しさんNGNG
>>820
>>819は多分ネタ
0822教えて君NGNG
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433
の56だが コンパイルはできるけど実行できません
わかる方教えてください
0823デフォルトの名無しさんNGNG
>>822
全部読むのも、コンパイルこっちでかけるのもめんどいので、コンパイル
エラーのメッセージを張り付けなされ。
0824デフォルトの名無しさんNGNG
824 は多分ネタ
0825デフォルトの名無しさんNGNG
825 も多分ネタ
0826デフォルトの名無しさんNGNG
826 も多分ネタ
0827大NGNG
fortran77の課題です。
1729は次のように二つの自然数の三乗の和として二通りに書ける。
1729=12^3+1^3=10^3+9^3
このような性質をもつ10000以下の自然数をすべて求めよ。
この課題だけは全く考えが浮かびません。お願いします。
0828デフォルトの名無しさんNGNG
総当りでGo
0829大NGNG
そのやり方では単位がもらえそうにありません。
0830デフォルトの名無しさんNGNG
単位要りません。
0831デフォルトの名無しさんNGNG
せいぜい20くらいまでだろ.総当たりでも問題無いと思うが.
0832 ◆AMD/zW1gzQ NGNG
>>827
Cだったら書けるけどFortranは・・・
0833 ◆AMD/zW1gzQ NGNG
しまった
FORTRAN77、Fortran90ですな
0834デフォルトの名無しさんNGNG






http://freeweb2.kakiko.com/dengeki/index2.htm




0835デフォルトの名無しさんNGNG
>>827
x^3 + y^3 = w^3 + z^3
で、x<y, w<z, x<w, z<y, x,y,z,w<=21と出来る。
0836デフォルトの名無しさんNGNG
#include <iostream>
#define max 21
#define pt(x) ((x+1)*(x+1)*(x+1))
int main(){
int i,j,k,h;
for(i=0;i<max-2;++i)
for(k=i;k<max-1;++k)
for(h=k;h<max-1;++h)
for(j=h+1;j<max;++j)
if(pt(i)+pt(j)==pt(k)+pt(h))
std::cout << i+1 << "^3+" << j+1 << "^3=" << k+1 << "^3+" << h+1 << "^3=" <<
pt(i)+pt(j) << std::endl;
return 0;
}
0837デフォルトの名無しさんNGNG
>>827
フェルマーの定理の証明でも添付すれば、単位はもらえるだろうよ。
0838大NGNG
>>837
そうですか…
やっぱりfortranなんて時代に合ってないよなぁ
0839デフォルトの名無しさんNGNG
>>838
Fortranうんぬんとうよりも、アルゴリズムを作るのが先だろ。
3乗の足し算の因数分解を使ってみたらどう?
0840デフォルトの名無しさんNGNG
javaの宿題です
IDと名前のリストが保存されたファイルを読み込んで、
それをハッシュテーブルのキーと値にそれぞれ追加して初期化し
そのリストを検索、編集するプログラムを作るという問題です。
ファイルは、01,一郎/02,次郎/03,三郎…(/は改行) って感じです。
終了時には、同じファイルに編集後のリストを書き込みます。
しかしハッシュテーブルから要素を取り出す際の順番は保証されていません。
ID順(01,02,…)でファイル出力を行いたいのですが、
何かエレガントな方法はないでしょうか?
0841デフォルトの名無しさんNGNG
SortedMap?
0842デフォルトの名無しさんNGNG
perlによって、リンク先を摘出しテキストに保存し
保存されたURL先に対してまた同じようにリンク先を
取り出し、別テキストに保存していくプログラムを作
りたいのです。
例えば、3階層の深さまで保存したいとき。
1.txt内にttp://www.google.co.jp/とあったら、2.txtに
はぐーぐるからリンクされている先が保存され、3.txtには
2.txtに保存されたURL先に含まれるアンカーが保存されます。
接続し指定したhtmlは取ってこれるのですが、その先の
アンカーを処理する所でつまづいています。
<a href="ここ" target="">
ここ、と表記された部分を取って来て保存したいのですが、
""で区切られた範囲を取ってこようとすると" target"みたい
なのも引っかかってしまうようで。
urlが保存できればどの位置からマッチさせてもいいので宜し
くお願いします。
どうか動作するプログラムを作って頂けませんでしょうか。
0843デフォルトの名無しさんNGNG
>>842
HTTP parser 使えば一発。
CPANでぐぐってだうそしてこい。
0844843NGNG
間違えた
HTML Parser ( HTML::parse モジュール)
0845 ◆F52DmOxJlc NGNG
>>842
このへんでどう?
http://pc3.2ch.net/test/read.cgi/tech/1037383722/62-66
0846デフォルトの名無しさんNGNG
冬休み明けに提出しなきゃいけない課題があるのですが、あまりにも難しすぎて私の力では何にもなりません。
持っている参考書やC言語辞典を引っ張り出してみて考えたのですが、もうダメです。
どなたか教えてもらえないでしょうか?
ソースとかは後で書き込みさせていただきますが、題材は算術言語処理です。
どんな処理をすればいいのかわかる部分もあるのですが、半分以上わかってないかもです。
0847846ですNGNG
【題材】算術言語処理
【目的】算術式を表すものとして、明確に定義された文字列の無限集合を扱う。
    形式理論言語では、このような集合を算術式を表現するものに限らず言語と呼ぶ。
    与えられた文字列が特定の言語に属するかどうかは、形式的な規則によって決定される。
    この規則を文法(構文規則)という。演習プログラムでは、算術式からなるごく簡単な言語を定義する。
    この言語をC言語プログラムによって実際に使えるようにする事が目的である。
【制約条件】�@ 式を構成するのは、数値、演算子、変数、=のみとする。
      �A 数値は0以上99999以下とする。(マイナスの数値はない)
      �B 演算子は+・−・*の二項演算子と(・)のみとする。
      �C 変数名は英字で始まる6文字以内とする。演算子文字(+・−・*)で始まる変数名はない。数値文字で始まる変数名はない。
      �D 式の最後は必ず=。
      �E token(トークン)の区切りは、1つ以上のブランクとする。
      �F ファイル形式。
0848846ですNGNG
注 1カラム(1byte)目が#の場合、その行はコメント行とする。
#           <------必ず1カラム(1byte)目
  abc   =   10
      xy = 1 <BR>cc = 3
$           <------必ず1カラム(1byte)目
   abc  +  1  *  (3 - 1)  +  567 =
 1      + 2 * 3  =
xy       *    cc     + 5 =
E           <------必ず1カラム(1byte)目
0849デフォルトの名無しさんNGNG
へー。変数も使えるようにするのか。

元の中置式から後置式(逆ポーランド) に変換して、
スタックマシンオートマトンで計算を実行でいいんじゃない?
0850デフォルトの名無しさんNGNG
>>846
で、結局、「何を」「どうすれば」いいの?
0851846ですNGNG
すみません、プログラムが異様に長いので、今打ち込んでる最中なんです。
全部できたらまた書きますので。本当にすみません。
0852デフォルトの名無しさんNGNG
>>846
Perlで組んだほうが100倍読みやすいんだが、Cを指定か。
残酷な課題だな。
0853デフォルトの名無しさんNGNG
>>851
>>1 にソースが貼れる掲示板のリンクがあるから、
プログラムはそっちに書いてね。
0854846ですNGNG
プログラムソースの一部(kaiseki.c)をUPしました。
<a href="http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=57"></a>
ちなみに丸数字の部分は穴埋め問題になっています。
0855デフォルトの名無しさんNGNG
式の定義があいまいだな。EBNFくらい書けや。
0856デフォルトの名無しさんNGNG
はい!ごめんなさい!!

vagina := (i)
0857846ですNGNG
kaiseki.hをUPしました。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=58
0858デフォルトの名無しさんNGNG
kaiseki.h も見せて
0859デフォルトの名無しさんNGNG
間違っていたらごめん。

(1)term()
(2)Set_pm
(3)lp
(4)rp
(5)factor()
(6)token != RK
(7)p->val
0860デフォルトの名無しさんNGNG
>>846
その他の関数はうpできないの?
0861846ですNGNG
今、他の関数・プログラムも打ち込んでる最中です。
今はkaiseki_lib.cを打ち込んでいるところです。
ちょっと邪魔が入って全部消されてブルーになってるところですが。

それでこの課題、解説つけて提出しなきゃならないんです。
できれば解説もお願いします。注文ばかりでごめんなさい。
0862デフォルトの名無しさんNGNG
アルゴリズムの教科書の再帰下降構文解析法の解説を読むことをお勧めする。
0863846ですNGNG
ようやくkaiseki_lib.cをUPすることができました。
残りは*func_x()をUPするのみです。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=59
0864デフォルトの名無しさんNGNG
>>847の仕様で疑問なんだが、演算子文字が含まれる変数名ってありなの?
x+yて変数とか。
0865デフォルトの名無しさんNGNG
x+yはx + yだと思います。
それは変数じゃなくて式として判断して下さい。
0866デフォルトの名無しさんNGNG
*func_x()をUPしました。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=60

プログラム・関数はこれで以上です。

皆さん色々とありがとうございます。助かります。
0867デフォルトの名無しさんNGNG
>>866
で、どの辺が解らないんだい?
0868デフォルトの名無しさんNGNG
何度もすみません。冬休みの課題にてこずっている者です。

>>867
kaiseki.c
kaiseki.h
kaiseki_lib.c
*func_x()
このプログラム・関数全てが課題になっているのです。
どの辺がというよりは、総合してわけわからないのです。
>>859さんが途中まで解答してくれたので、その穴埋めは実際に埋めてみてソース読んで何となく納得できたのですが、その後のが何が何だかサッパリで。
実は課題はこれだけじゃなく、このプログラムを元にまた発展した問題があるのです。
でもこれができないと発展問題に手を付けられなくて困っています。
0869デフォルトの名無しさんNGNG
>>868
課題の書かれたホームページのアドレスを
ここに書け
じゃないと、教えません。
0870デフォルトの名無しさんNGNG
http://www.eonet.ne.jp/~nohohon/osaka-band.htm
http://www.as-net.com/free01/mkgif/mkgif.cgi?osaka
http://res9.7777.net/bbs/osakaband/
http://www.benricgi.com/bbs/vr/d/130211/osaka.htm
0871デフォルトの名無しさんNGNG
>>869
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=57&fi=no(kaiseki.c)
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=58&fi=no(kaiseki.h)
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=59&fi=no(kaiseki_lib.h)
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=60&fi=no(*func_x())

ちなみに、丸数字の部分が穴埋め問題になっています。
0872デフォルトの名無しさんNGNG
>>859
ありがとうございます。助かりました。
�@〜�Eは埋めてみて納得できるくらい理解できました。
でも、�Fだけはどうしてそうなるのかが未だに理解できません。

これから自分なりの解説をつけて理解していきます。
またわからないことがあったら質問すると思いますので、よろしくお願いします。
0873デフォルトの名無しさんNGNG
下のVBのプログラムを元にするのですが、
その際、プログラミング中に書き込んだ数字をソートするのではなく、
テキストボックスに任意に入力した数字を昇順にソートするプログラム
を作りたいのです。お願いします。

Const N = 10

Private Sub quick(a() As Variant, L As Variant, R As Variant)
If L < R Then
s = a((L + R) \ 2)
i = L - 1: j = R + 1
Do While 1
Do
i = i + 1
Loop While a(i) < s
Do
0874デフォルトの名無しさんNGNG
Do
j = j - 1
Loop While a(j) > s
If i >= j Then Exit Do
t = a(i): a(i) = a(j): a(j) = t
Loop

quick a(), L, i - 1
quick a(), j + 1, R
End If
End Sub
0875デフォルトの名無しさんNGNG
Private Sub Command1_Click()
Dim a(N)
a(0) = 41: a(1) = 24: a(2) = 76: a(3) = 11: a(4) = 45
a(5) = 64: a(6) = 21: a(7) = 69: a(8) = 19: a(9) = 36

quick a(), 0, N - 1

Picture1.Cls
For k = 0 To N - 1
Picture1.Print a(k);
Next k
End Sub
0876871ですNGNG
>>869
ここってどこのことでしょうか?このスレッドのことでしょうか?
>>871に課題のアドレスを書いたのですが、あれから1日自分で考えましたがやっぱり進みません。
お願いします。これができないと困るので教えて下さい。
0877デフォルトの名無しさんNGNG
>>876
構文木作って解析してるみたいだけど、そこらへんのアルゴリズム(ツリーとか)とかは
ちゃんとわかってるの?
0878デフォルトの名無しさんNGNG
>>876
先生がホームページを作ってるわけでしょ?
そのページのアドレスを書き込んで。

てか、そんな簡単なプログラムもわからんのに
情報系の大学行ったの?
そういう人多いけど、けっこう悲惨な人生送る事になるよ。
学科を変えることをお勧めします。
0879デフォルトの名無しさんNGNG
> これができないと困るので教えて下さい。
実際には自分で出来る実力がないのに単位をとって卒業されると、
社会全体が困るだろ…
0880デフォルトの名無しさんNGNG
と、大したことのない>>879が言っている
0881デフォルトの名無しさんNGNG
>>879がどんな人物か知らんが言ってることは正しい。
0882デフォルトの名無しさんNGNG
が、このスレに社会の流れを変える力は無い。
0883デフォルトの名無しさんNGNG
>テキストボックスに任意に入力した数字を昇順にソートするプログラム
入力されたテキスト→数字を抜き出す→ソート
0884デフォルトの名無しさんNGNG
a(0) = 41: a(1) = 24: a(2) = 76: a(3) = 11: a(4) = 45
a(5) = 64: a(6) = 21: a(7) = 69: a(8) = 19: a(9) = 36

をテキストボックスから入力させるルーチンに置き換えるだけだな。
0885デフォルトの名無しさんNGNG
>>878
先生がホームページ作ってるとは一言も言ってません。
現に、先生はホームページ作ってません。
それにこの課題は先生自身も「決して簡単なものではないから誰に聞いてもいいから完成させて提出しなさい」と言ったんです。
そこら辺の大学とかで簡単なプログラム組んでるところと一緒にしないで下さい。
0886デフォルトの名無しさんNGNG
>>859さんは親切に教えてあげてるのに、>>867=>>869=>>878は横柄な態度取ってるね。
本当はわからないのにホラ吹いてるだけなんじゃないの?
偉そうに。簡単だって言うんだったらそれを証明したら?
0887デフォルトの名無しさんNGNG
情報系の大学を卒業しているなら誰でも知っていることだと思うけど…。
漏れなんか専門卒なのに知ってるし。構文解析なんてプログラマーなら常識じゃない?
今月のCマガジンに「コンパイラの作成」と題して詳しく書かれてあるから、
理解できない奴はよく読むべし。
0888デフォルトの名無しさんNGNG
>>886は大バカだな。
0889デフォルトの名無しさんNGNG
てか、そんな簡単なプログラムもわからんのに
情報系の大学行ったの?
そういう人多いけど、けっこう悲惨な人生送る事になるよ。
学科を変えることをお勧めします。

この部分は禿同
0890デフォルトの名無しさんNGNG
>>889
悲惨な人生とは?
0891デフォルトの名無しさんNGNG
VBで右クリックを左クリックしたかのようにさせるにはどうすればいいでしょうか?
sendkeys辺りを見てみたのですが、それらしいものはなく困ってます。
0892デフォルトの名無しさんNGNG
>>891
ビックリくりくりクリックリ〜♪
■ このスレッドは過去ログ倉庫に格納されています