トップページ⇒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
0757デフォルトの名無しさんNGNG
>>696
正直、ただのバカなので勉強するかもっと自分に向いている道を探すべきだと思います。
0758デフォルトの名無しさんNGNG
>>756
それ言うならrythm & bluesじゃないのか?
0759デフォルトの名無しさんNGNG
すみません、教えてください。
文字列の、ある部分を抜き出すにはどうすればいいのでしょうか。
ファイル名の、拡張子だけを抜きたいのです。
よろしくお願いします。
0760デフォルトの名無しさんNGNG
環境書け。
0761デフォルトの名無しさんNGNG
strcmpでファイル名の最後のドットを探してそれ以降を抜き出せばOK
0762デフォルトの名無しさんNGNG
それを言うならstrrchr
0763デフォルトの名無しさんNGNG
>762
左様であった。訂正感謝いたす。
0764デフォルトの名無しさんNGNG
平均n単位時間、分散m単位時間の正規分布で動作する関数を
Cで作りたいんですが、確率とかが苦手でよくわかんないんです。
どなたかサンプルプログラム作ってください。
0765デフォルトの名無しさんNGNG
read binary
0766デフォルトの名無しさんNGNG
>>764
まず平均n分散mの出力を持つデータ列を(ビットの01がよい)Sなどで作成。
あとは、1を入力するたびに関数を呼び出せ!
0767デフォルトの名無しさんNGNG
Sってなんですか?
0768デフォルトの名無しさんNGNG
>>766
もっと、かしこいやりかたないの?っぷ
0769デフォルトの名無しさんNGNG
Sadist ⇔ Masochist
0770デフォルトの名無しさんNGNG
Sum?
0771764NGNG
お願いです、必死です。
やっぱり、random()が必要?
0772デフォルトの名無しさんNGNG
random()ってなんじゃらホイサッサ
0773デフォルトの名無しさんNGNG
>>772
gundomみたいなものです。
0774デフォルトの名無しさんNGNG
それをいうなら GUNDAM だろ?
0775デフォルトの名無しさんNGNG
JAVAで質問です
他のクラスで作成した配列の数字を別のクラスで
その値を利用したいんだけどどうしたらいいんですか?
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433
の51なんだけど、どうやったらできるのか教えてください
0776デフォルトの名無しさんNGNG
>>774
砲戦型ドムを知らんのかププ
別名ドムタンク。
0777デフォルトの名無しさんNGNG
>>775
/**
* <i>2chで作られたクラス</i>
* @author 教えてクン
* @version 0
* @since 0
*/
class Demand {
//省略
/** ちゃんとカプセル化しておこう */
private int demand[][] = new int[shop][term];
/** ちゃんとカプセル化しておこう */
public int[][] getDemand(){
return demand;
} //省略
}
0778デフォルトの名無しさんNGNG
>>777 続き
class Store {
public static final int SHOP = 50;
public static final int TERM = 100;
private Demand demand;
public Store(Demand demand){
this.demand = demand;
show();
}
/** 需要量発生
* @param demand demand
*/
private void show(Demand demand){
demand.show();
}
public int foo(){
int a = new int[Store.SHOP][Store.TERM];
for(){ //省略
a += demand.getDemand();
//省略 }
return a;
}
}
class Simul{
public static void main(String[] args){
Demand demand1 = new Demand();
Store store = new Store(demand1);
java.io.PrintWriter pw = new PrintWriter(System.out);
pw.println("" + store.foo());
}
}
0779デフォルトの名無しさんNGNG
>>778 適当に訂正
> public int foo(){
> int b = 0;
> int[][] a = demand.getDemand();
> for(){
> for(){ //省略
> b += a[i][j];
> //省略
> }
> }
> return b;
> }
0780デフォルトの名無しさんNGNG
class Demandでfor文の中で使った変数を
そのままStoreクラスでも使いたいんだけど
それは大丈夫ですか?
例えば、demand[i][j]+supply[i][j]とかやりたいんですけど
0781デフォルトの名無しさんNGNG
勝手にやって
駄目なときだけ聞いたらどうでしょうか?
0782デフォルトの名無しさんNGNG
2つの整数が与えられてその間にある回文となっている素数を発見する
プログラムをCで作りました。バグの原因が一体どこなのか、俺の書いた
プログラムで注意すべき点、などアドバイスをもらえるとうれしいです。

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

int prime_number(int a){
int i, j, b = 0;
/* iがjで割り切れなければ素数だと判断する。 */
for(i=2; i<=a; i++){
for(j=2; j<i; j++){
if(i == j)
goto noc;
if(i % j == 0)
goto cont;
}
/* bをカウンターとして用意して全部で何個素数があるのかを表す */
noc: b++;
cont: continue;
}
return b;
}
0783782NGNG
/* 回文になってるかどうかを判断する関数 */
int reverse_int(int i){
int res = 0;
while ( i ) {
res *= 10;
res += i % 10;
i /= 10;
}
return res;
}
0784デフォルトの名無しさんNGNG
基本利用料金 ¥12,000 は振り込みましたか?
0785782NGNG
void lookup_pprime(char *prime_1, char *prime_2, int m, int n, int min, int max){
int i, j, c, d, e, f = 0, g = 0;

for(i=2; i<=min; i++){
for(j=2; j<i; j++){
if(i == j)
goto noc2;
if(i % j == 0)
goto cont2;
}
/* 見つけた素数を配列prime_1に代入 */
noc2: prime_1[f] = i;
f++;
cont2: continue;
}

for(i=2; i<=max; i++){
for(j=2; j<i; j++){
if(i == j)
goto noc3;
if(i % j == 0)
goto cont3;
}
/* 見つけた素数を配列prime_2に代入 */
noc3: prime_2[g] = i;
g++;
cont3: continue;
}
0786782NGNG
/* prime_2とprime_1の間に重なっている数をprime_2から取り除く、
    つまり、 状態を0にする。*/
for(i=0; i<n; i++){
for(j=0; j<m; j++){
if(prime_1[j] == prime_2[i]){
prime_2[i] = 0;
goto cont4;
}
}
if((e=(int)prime_2[i]) != reverse_int(e))
prime_2[i] = 0;
cont4: continue;
}
}
0787782NGNG
int main(void)
{
FILE *fin, *fout;
int min, max, i, m, n;
char *prime_1, *prime_2;

fin = fopen("pprime.in.txt", "r");
fout = fopen("pprime.out.txt", "w");

fscanf(fin, "%d%d", &min, &max);
m = prime_number(min); //m以下の素数の数を見つける
n = prime_number(max); //n以下の素数の数を見つける
prime_1 = (char *)malloc(m); //素数の数だけ領域を確保
prime_2 = (char *)malloc(n); //素数の数だけ領域を確保
lookup_pprime(prime_1, prime_2, m, n, min, max);

for(i=0; i<n; i++){
if(prime_2[i])
fprintf(fout, "%d\n", prime_2[i]);
}

return 0;
}

これで終わりです。ソース丸投げですが、コメントはちゃんと入れておきました。
0788デフォルトの名無しさんNGNG
クソコード貼っつけるのはヤメレ
0789デフォルトの名無しさんNGNG
おまいらここで英文レジェメ書いてもらって外資系に就職して
逆転人生歩んでください。
http://www.freespace.jp/~sean2001

0790デフォルトの名無しさんNGNG
>>782
まず、どういう局面でどんな動作を期待していて、それに反してどう動いてしまった
のかを書け。
でないとその長いソースを読む気がしない。
あと、 1 に貼ってある URL は見えなかったか?
0791デフォルトの名無しさんNGNG
トリアエズ、アゲトクカ・・・
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)
■ このスレッドは過去ログ倉庫に格納されています