宿題手伝います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
0776デフォルトの名無しさん
NGNG砲戦型ドムを知らんのかププ
別名ドムタンク。
0777デフォルトの名無しさん
NGNG/**
* <i>2chで作られたクラス</i>
* @author 教えてクン
* @version 0
* @since 0
*/
class Demand {
//省略
/** ちゃんとカプセル化しておこう */
private int demand[][] = new int[shop][term];
/** ちゃんとカプセル化しておこう */
public int[][] getDemand(){
return demand;
} //省略
}
0778デフォルトの名無しさん
NGNGclass 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> public int foo(){
> int b = 0;
> int[][] a = demand.getDemand();
> for(){
> for(){ //省略
> b += a[i][j];
> //省略
> }
> }
> return b;
> }
0780デフォルトの名無しさん
NGNGそのままStoreクラスでも使いたいんだけど
それは大丈夫ですか?
例えば、demand[i][j]+supply[i][j]とかやりたいんですけど
0781デフォルトの名無しさん
NGNG駄目なときだけ聞いたらどうでしょうか?
0782デフォルトの名無しさん
NGNGプログラムを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;
}
0783782
NGNGint reverse_int(int i){
int res = 0;
while ( i ) {
res *= 10;
res += i % 10;
i /= 10;
}
return res;
}
0784デフォルトの名無しさん
NGNG0785782
NGNGint 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;
}
0786782
NGNGつまり、 状態を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;
}
}
0787782
NGNG{
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デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNG逆転人生歩んでください。
http://www.freespace.jp/~sean2001
0790デフォルトの名無しさん
NGNGまず、どういう局面でどんな動作を期待していて、それに反してどう動いてしまった
のかを書け。
でないとその長いソースを読む気がしない。
あと、 1 に貼ってある URL は見えなかったか?
0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNGスマン・・・
790と同様、読む気がしないので聞くけど、バグの原因を
聞いているという事は、バグがあったってことだよね?
どんなバグがあったの?
0793デフォルトの名無しさん
NGNGこれじゃ、どこまでがminなのかmaxなのかわからんだろ。
0794デフォルトの名無しさん
NGNGとりあえず、1つ1つの関数
(prime_number, reverse_int, lookup_pprime)
が正しく動くか確認してみれ。
これ基本。
0795デフォルトの名無しさん
NGNGfopen〜.in.〜
fopen〜.out.〜
0796デフォルトの名無しさん
NGNG0797デフォルトの名無しさん
NGNGモーマンタイ・・・
0798デフォルトの名無しさん
NGNGとりあえず、自分で
正しく動くか確認してみれ。
これ基本。
0799782
NGNG0800デフォルトの名無しさん
NGNGえーっと、数日前全く同じ質問が出て、書いてやったんだがな
どこの学校だ?
0801デフォルトの名無しさん
NGNG790,792の言っている事は無視かよ・・・
0802デフォルトの名無しさん
NGNGStoreクラス内のメソッドで
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デフォルトの名無しさん
NGNGpublic 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デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNGオーバーライド - > オーバーロードの間違い
0806デフォルトの名無しさん
NGNG0807デフォルトの名無しさん
NGNG0808デフォルトの名無しさん
NGNG0809工房
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デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNGエレガントな回答もへったくれもない。
ただ
「値段の低い個人から優先して商品を購入していく」
ってだけだろ?
0812809
NGNGこちらです。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=55
0813デフォルトの名無しさん
NGNG0814こむ
NGNG//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デフォルトの名無しさん
NGNGo) i+=2
0816デフォルトの名無しさん
NGNG“うまくいきません”じゃなく、どういう現象になるのか書かんと…
まぁ入れ替えの for ループが終わらないんだろうけど。
0817デフォルトの名無しさん
NGNGint array[10];
だから駄目なんですよ。
long array[10];
にしないと
0818こむ
NGNGありがとうございます。
>>816
スミマセン。うまく表現できなかったので…。次回から気をつけます。
ところで>>817
>>815さんが指摘したとおり修正したらintでもlongでも結果が同じでした。
こっちにした方が良いんでしょうか?
0819デフォルトの名無しさん
NGNG>>817は多分ネタ
0820デフォルトの名無しさん
NGNG>>818は多分ネタ
0821デフォルトの名無しさん
NGNG>>819は多分ネタ
0822教えて君
NGNGの56だが コンパイルはできるけど実行できません
わかる方教えてください
0823デフォルトの名無しさん
NGNG全部読むのも、コンパイルこっちでかけるのもめんどいので、コンパイル
エラーのメッセージを張り付けなされ。
0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNG0827大
NGNG1729は次のように二つの自然数の三乗の和として二通りに書ける。
1729=12^3+1^3=10^3+9^3
このような性質をもつ10000以下の自然数をすべて求めよ。
この課題だけは全く考えが浮かびません。お願いします。
0828デフォルトの名無しさん
NGNG0829大
NGNG0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNG0832 ◆AMD/zW1gzQ
NGNGCだったら書けるけどFortranは・・・
0833 ◆AMD/zW1gzQ
NGNGFORTRAN77、Fortran90ですな
0834デフォルトの名無しさん
NGNGhttp://freeweb2.kakiko.com/dengeki/index2.htm
0835デフォルトの名無しさん
NGNGx^3 + y^3 = w^3 + z^3
で、x<y, w<z, x<w, z<y, x,y,z,w<=21と出来る。
0836デフォルトの名無しさん
NGNG#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フェルマーの定理の証明でも添付すれば、単位はもらえるだろうよ。
0838大
NGNGそうですか…
やっぱりfortranなんて時代に合ってないよなぁ
0839デフォルトの名無しさん
NGNGFortranうんぬんとうよりも、アルゴリズムを作るのが先だろ。
3乗の足し算の因数分解を使ってみたらどう?
0840デフォルトの名無しさん
NGNGIDと名前のリストが保存されたファイルを読み込んで、
それをハッシュテーブルのキーと値にそれぞれ追加して初期化し
そのリストを検索、編集するプログラムを作るという問題です。
ファイルは、01,一郎/02,次郎/03,三郎…(/は改行) って感じです。
終了時には、同じファイルに編集後のリストを書き込みます。
しかしハッシュテーブルから要素を取り出す際の順番は保証されていません。
ID順(01,02,…)でファイル出力を行いたいのですが、
何かエレガントな方法はないでしょうか?
0841デフォルトの名無しさん
NGNG0842デフォルトの名無しさん
NGNG保存されたURL先に対してまた同じようにリンク先を
取り出し、別テキストに保存していくプログラムを作
りたいのです。
例えば、3階層の深さまで保存したいとき。
1.txt内にttp://www.google.co.jp/とあったら、2.txtに
はぐーぐるからリンクされている先が保存され、3.txtには
2.txtに保存されたURL先に含まれるアンカーが保存されます。
接続し指定したhtmlは取ってこれるのですが、その先の
アンカーを処理する所でつまづいています。
<a href="ここ" target="">
ここ、と表記された部分を取って来て保存したいのですが、
""で区切られた範囲を取ってこようとすると" target"みたい
なのも引っかかってしまうようで。
urlが保存できればどの位置からマッチさせてもいいので宜し
くお願いします。
どうか動作するプログラムを作って頂けませんでしょうか。
0843デフォルトの名無しさん
NGNGHTTP parser 使えば一発。
CPANでぐぐってだうそしてこい。
0844843
NGNGHTML Parser ( HTML::parse モジュール)
0846デフォルトの名無しさん
NGNG持っている参考書やC言語辞典を引っ張り出してみて考えたのですが、もうダメです。
どなたか教えてもらえないでしょうか?
ソースとかは後で書き込みさせていただきますが、題材は算術言語処理です。
どんな処理をすればいいのかわかる部分もあるのですが、半分以上わかってないかもです。
0847846です
NGNG【目的】算術式を表すものとして、明確に定義された文字列の無限集合を扱う。
形式理論言語では、このような集合を算術式を表現するものに限らず言語と呼ぶ。
与えられた文字列が特定の言語に属するかどうかは、形式的な規則によって決定される。
この規則を文法(構文規則)という。演習プログラムでは、算術式からなるごく簡単な言語を定義する。
この言語をC言語プログラムによって実際に使えるようにする事が目的である。
【制約条件】�@ 式を構成するのは、数値、演算子、変数、=のみとする。
�A 数値は0以上99999以下とする。(マイナスの数値はない)
�B 演算子は+・−・*の二項演算子と(・)のみとする。
�C 変数名は英字で始まる6文字以内とする。演算子文字(+・−・*)で始まる変数名はない。数値文字で始まる変数名はない。
�D 式の最後は必ず=。
�E token(トークン)の区切りは、1つ以上のブランクとする。
�F ファイル形式。
0848846です
NGNG# <------必ず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で、結局、「何を」「どうすれば」いいの?
0851846です
NGNG全部できたらまた書きますので。本当にすみません。
0852デフォルトの名無しさん
NGNGPerlで組んだほうが100倍読みやすいんだが、Cを指定か。
残酷な課題だな。
0853デフォルトの名無しさん
NGNG>>1 にソースが貼れる掲示板のリンクがあるから、
プログラムはそっちに書いてね。
0854846です
NGNG<a href="http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=57"></a>
ちなみに丸数字の部分は穴埋め問題になっています。
0855デフォルトの名無しさん
NGNG0856デフォルトの名無しさん
NGNGvagina := (i)
0857846です
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=58
0858デフォルトの名無しさん
NGNG0859デフォルトの名無しさん
NGNG(1)term()
(2)Set_pm
(3)lp
(4)rp
(5)factor()
(6)token != RK
(7)p->val
0860デフォルトの名無しさん
NGNGその他の関数はうpできないの?
0861846です
NGNG今はkaiseki_lib.cを打ち込んでいるところです。
ちょっと邪魔が入って全部消されてブルーになってるところですが。
それでこの課題、解説つけて提出しなきゃならないんです。
できれば解説もお願いします。注文ばかりでごめんなさい。
0862デフォルトの名無しさん
NGNG0863846です
NGNG残りは*func_x()をUPするのみです。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=59
0864デフォルトの名無しさん
NGNGx+yて変数とか。
0865デフォルトの名無しさん
NGNGそれは変数じゃなくて式として判断して下さい。
0866デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=60
プログラム・関数はこれで以上です。
皆さん色々とありがとうございます。助かります。
0867デフォルトの名無しさん
NGNGで、どの辺が解らないんだい?
0868デフォルトの名無しさん
NGNG>>867
kaiseki.c
kaiseki.h
kaiseki_lib.c
*func_x()
このプログラム・関数全てが課題になっているのです。
どの辺がというよりは、総合してわけわからないのです。
>>859さんが途中まで解答してくれたので、その穴埋めは実際に埋めてみてソース読んで何となく納得できたのですが、その後のが何が何だかサッパリで。
実は課題はこれだけじゃなく、このプログラムを元にまた発展した問題があるのです。
でもこれができないと発展問題に手を付けられなくて困っています。
0869デフォルトの名無しさん
NGNG課題の書かれたホームページのアドレスを
ここに書け
じゃないと、教えません。
0870デフォルトの名無しさん
NGNGhttp://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デフォルトの名無しさん
NGNGhttp://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ありがとうございます。助かりました。
�@〜�Eは埋めてみて納得できるくらい理解できました。
でも、�Fだけはどうしてそうなるのかが未だに理解できません。
これから自分なりの解説をつけて理解していきます。
またわからないことがあったら質問すると思いますので、よろしくお願いします。
0873デフォルトの名無しさん
NGNGその際、プログラミング中に書き込んだ数字をソートするのではなく、
テキストボックスに任意に入力した数字を昇順にソートするプログラム
を作りたいのです。お願いします。
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デフォルトの名無しさん
NGNGj = 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デフォルトの名無しさん
NGNGDim 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
■ このスレッドは過去ログ倉庫に格納されています