トップページ⇒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
0002デフォルトの名無しさんNGNG
2げっとん
0003デフォルトの名無しさんNGNG
3|4 getwon!
0004デフォルトの名無しさんNGNG
4|got!
0005デフォルトの名無しさんNGNG
前スレの977ですが、表はAddress、その中にAge列があるので
大文字とかの間違いは無いと思いますが
括弧ってどこにつけるのでしょうか?
0006デフォルトの名無しさんNGNG
http://www.lovegetyou.net/i/index.cgi?id=bByz3J5i2G
0007デフォルトの名無しさんNGNG
締切が25日なのは正直辛いので伸ばして欲しいのですが
0008デフォルトの名無しさんNGNG
8 ? age : sage
0009デフォルトの名無しさんNGNG
>>8
aged
0010manko_chinko ◆GLc2rpKRNM NGNG
10 ? "奈良":"北九州";
0011デフォルトの名無しさんNGNG
>>10
manko
0012manko_chinko ◆GLc2rpKRNM NGNG
kasei ? "風呂入ったらちゃんと洗え":sinsei ? "保険きくよ":kanton ? "ティムポ画像upしてください.":"むけたのいつ?";
0013デフォルトの名無しさんNGNG
y=-(゚Д゚)・∵ターン・・・・
0014manko_chinko ◆GLc2rpKRNM NGNG
ああ、兄弟よ。
左のこめかみを撃つならば、私は右のこめかみをだすであろう。
0015デフォルトの名無しさんNGNG
JSPで時刻を取得したいんですが
Calendar cal = Calendar.getInstance();
int time = cal.get(Calendar.HOUR_OF_DAY);
とやっても「クラス Calendar が見つかりません。」
と出てしまうんですが、どうすればよいのでしょうか?

001615NGNG
解決しました
0017デフォルトの名無しさんNGNG
y=-(゚Д゚)・∵ターン・・・・
0018デフォルトの名無しさんNGNG
>>15
そろそろJavaもコピペ厨なPGに汚染されはじめたのか。
0019デフォルトの名無しさんNGNG
y=-(゚Д゚)・∵ターン・・・・
0020デフォルトの名無しさんNGNG
だから手伝うって。
0021デフォルトの名無しさんNGNG
JPSで時刻を取得したいんですが...
どうしたらよいのでしょうか?
0022ssssNGNG
中和滴定曲線を描くプログラムをActiveBasicで作ってほしんですが・・・。
0023デフォルトの名無しさんNGNG
>>22
作りました
0024ssssNGNG
どこにありました?探したんですが・・・
0025ssssNGNG
教えてください、お願いします。
0026デフォルトの名無しさんNGNG
>>18
こぴぺじゃないっすよ〜
importの仕方がServletとちょっと違ってたので
出来なかったみたいです
0027デフォルトの名無しさんNGNG
>>25
ttp://member.nifty.ne.jp/yamashashin/PhGraph.html
0028デフォルトの名無しさんNGNG
次式にしたがってfn(x)を定義する。このfn(x)を計算するアルゴリズム(再起呼び出しを用いたもの)を与え、スタックがどのように利用されるか説明せよ。
f1(x)=1/1+x
f2(x)=1/1+(1/1+x)
f3(x)=1/1+(1/1+(1/1+x))

お願いします
0029デフォルトの名無しさんNGNG
>>28
ハァ?
0030デフォルトの名無しさんNGNG
式が変だけど、連分数ね
template<int N>double f(double x){return 1/(1+f<N-1>(x));}
template<>double f<0>(double x){return x;}
003128NGNG
f1(x)=1/(1+x)
f2(x)=1/(1+1/(1+x))
f3(x)=1/(1+1/(1+1/(1+x)))

こう書くべきだったかな?
0032デフォルトの名無しさんNGNG
ここってlispでも大丈夫ですか?
0033デフォルトの名無しさんNGNG
>>31
再帰関数で考えれや
0034アフォNGNG
n節点を持つ有向木を(1)配列(2)ポインタ(3)配列とポインタの両方、で記憶するとき、それぞれの場合について、木のなぞりを実行するアルゴリズムを考察し、計算に要する時間量と領域量を評価せよ
0035アフォNGNG
6文字のアルファベットからなる名前、
   x=a1,a2,・・・,a6
に対しハッシュ関数を
h(a1a2・・・a6)=俳rd(aj)modB
と定める。ただし、ord(aj)はアルファベットにおけるajの番号とする。Bはハッシュ法の大きさである。
(A)M=11、B=12として、名前の例を作り、内部ハッシュ法に従ってINSERTを11回実行し、ハッシュ表を完成させよ。ただし、Mは名前の個数である。
(B)いくつかの名前xについてMEMBER(x)を実行し、その様子を示せ。

どなたか教えていただけませんか?
0036デフォルトの名無しさんNGNG
>>34
最大n節点か、それとも完全n分木か?
なぞりは幅優先でもいいのか?
0037デフォルトの名無しさんNGNG
>>35
Mって何?
あと、「アルファベット」は形式言語でいうアルファベットか、
それとも英字のことか?
0038デフォルトの名無しさんNGNG
>>35
ハッシュテーブル+挿入関数+検索関数自作しろってさ。
どこかにコード転がってんじゃないかねえ。
0039アフォNGNG
>>36
最大n節点で、なぞりは深さ優先です
0040アフォNGNG
>>37
Mは名前の個数です。アルファベットは英字のことです。
0041アフォNGNG
どなたか教えてください
0042お茶NGNG
こんばんわ、Javaです。
じゃんけんゲームでコンピュータを強くしろという課題です。
何処をいじればいいのでしょうか?
変数?
当方プログラミング暦一週間です。
0043デフォルトの名無しさんNGNG
>>42
プレイヤーの入力をとってから、出す手を決定するようにする。
0044DNGNG
じゃんけんする前に勝ち・負け・引き分けを判定
”ポン”で相手の選択したものの勝ち・負け・引き分けにあたるものを表示
あとは勝ち・負け・引き分けそれぞれの比率を変えてやれば強くもなるし、弱くもなる
0045お茶NGNG
>>43
>>44
レスサンクスです!
難しそうですね〜(汗
とりあえずノーマルなじゃんけんゲームのソースはあるんで、
どういじればよいのでしょうか??
ヒントとかでもいいので教えて下さい!
0046お茶NGNG
package janken;

import java.io.*;

public class janken{
public static void main (String[] args){
BufferedReader reader = new BufferedReader (new InputStreamReader (System.in),1);
char y,c;
double x=0;

try{
System.out.println ("じゃーん、けーん、・・・");
System.out.println ("[g はグー、c はチョキ、p はパー]");
String st=reader.readLine();

if( st.equals("g") || st.equals("c") || st.equals("p") ){
y=st.charAt(0);
x=Math.random();
0047お茶NGNG
if( x >= 0 && x < 0.4 ){
c='g';
System.out.println("ぽん! コンピュータは グー");
}
else if( x >= 0.4 && x < 0.7 ){
c='c';
System.out.println ("ぽん! コンピュータは チョキ");
}
else if( x >= 0.7 && x < 1 ){
c='p';
System.out.println ("ぽん! コンピュータは パー");
}

else{
System.out.println ("乱数エラー! コンピュータの反則負け");
c='z';
}
0048お茶NGNG
if( y == c ){
System.out.println ("引き分け!");
}
else if( y == 'g' && c == 'c' ){
System.out.println ("あなたの勝ち!");
}
else if( y == 'c' && c == 'p' ){
System.out.println ("あなたの勝ち!");
}
else if( y == 'p' && c == 'g' ){
System.out.println ("あなたの勝ち!");
}
else{
System.out.println ("g,c,pのどれかを入力してください!");
}
}
else{
System.out.println ("g,c,pのどれかを入力してください!");
}
}
catch(IOException e){
System.out.println(e);
}
}
}
0049デフォルトの名無しさんNGNG
該当個所を下のように変えれば完璧。
if( y == 'c' ){
c='g';
System.out.println("ぽん! コンピュータは グー");
}
else if( y == 'p' ){
c='c';
System.out.println ("ぽん! コンピュータは チョキ");
}
else if( y == 'g' ){
c='p';
System.out.println ("ぽん! コンピュータは パー");
}
0050デフォルトの名無しさんNGNG
コンピュータ強すぎw
0051お茶NGNG
>>49
ありがとうございます!
まだ何で強くなったのか分からないですけど解読してみます。
Javaがんばるぞー!
0052デフォルトの名無しさんNGNG
後出しかよ、それも超高速
0053あほNGNG
めっちゃ初心者的な質問で申し訳ないのですが・・・
「日数と曜日(0=日、1=月、2=火、3=水、4=木、5=金、6=土)
を入力してカレンダーをつくれ
実行例 日数;30 曜日;0
   S M T W T F S
   1 2 3 4 5 6 7
   8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 」
という問題なのですが・・・
caseなどにわけてやってみたり、for文でやってみたりしているのですが、
どうも途中でいきづまってしまって・・・全然わからない状態なんです・・・(;;)
たすけてください
0054デフォルトの名無しさんNGNG
if(j=0;j<=10;j++)

と書いてコンパイルすると、
「パーサーエラー ;は間違っています」
と出ます。
パーサーエラーとかでぐぐってもよーわからんのです。
どなたか教えてくださいませんか。
0055DNGNG
>>42 さんへ
別にどうでもいいんでしょうけど元ネタのプログラムを

x=Math.random();を(Xはint型にしておく)
x=Math.random() * 3;
if( x >= 0 && x < 0.4 ){とかを
if( x == 0 ){、if( x == 1 ){、if( x == 2 ){
にしたほうがずっと綺麗だし乱数エラーなんかも発生しない
この方が動作が分かりやすいのでは。
0056DNGNG
>>53
言語が分からないのでサンプルは無し。
曜日コード*2個の半角スペースを用意し、その後ろに2文字分に揃えた1日〜30日までの文字列を
変数に格納する。さらに14個の半角スペースを追加する
左から14文字ずつとれば出来上がり。


005753NGNG
>>D
すいません言語のほうはC言語、かな?
自分が何をやっているのかわからないほどのあほなんで・・・
今、「C言語によるアルゴリズムとプログラム」の「制御構造」のとこを
勉強していまして、そこでいきずまったといった感じです・・・
できればサンプルをいただければうれしいんですが・・・
もー長時間悩んでます(;;)
ほんと初心者ですんません
0058お茶NGNG
>>55
まだそんな余裕無いですよ〜!
今ちょっと思いついてはダメの繰り返ししてます…。
なんか繋がりがこんがらがってきちゃって。
自分が出した手を設定しておいた乱数で出す手を決めるって
感じにしたいんですけど…。
if文がめちゃくちゃに…。
0059DNGNG
風呂入って酒飲んでて気が付かなかった
>>57
制御構造という意味ではこんな感じでしょうか。
  int a,b,c;
    a=30;b=3;
    for (c = -b;c <= a-1;c++){
      if (c>=0){
        printf("%2d ",c+1);
      }
      else{
        printf(" ");
      }
      if ((c+b) % 7 == 6){ //改行位置:(印字した数-1)/6の余り
        printf("\n");
      }
     }
     printf("\n");
この場合、a:日数 b:曜日で考え方は”今月は-3日から始まり”です。よく考えてみて。
他にも方法はいっぱいあるから別にこの方法が一番というわけではないよ。
>>58
気にしなくてもそのうち出来るようになる。今のうちに失敗やら汚いコード書きまっくて
それを”もっと簡単に出来る方法は無いか"って考えられるようになればいいと思ってる。
簡略化したコードが書けると全体もつかみやすいしひょんなことから問題の答えが見つかることもある。
とりあえずその方法の1つということで。
がんばるべし!
0060DNGNG
>>58
おまけ
強くするということはあくまで”勝ち”と”負け”との比率
勝ち:引き分け:負け=5:2:3とすると
>>52の方法で
xが勝ち:引き分け:負けが0〜4:5〜6:7〜9となれば言い訳ですよね。
それとなくイカサマしてください。宿題出した奴談にとっては"ばれなきゃ犯罪じゃない"そうです。
0061デフォルトの名無しさんNGNG
詳しくは↓
http://image.excite.co.jp/jp/shop/shopping_logo_290x65.gif
0062お茶NGNG
>>Dさん
夜遅く(朝)?までありがとうございます!
がんがります!
0063お茶NGNG
やったー!自分で工夫したのが動きました!
っていっても>>52さんのとの元のソースの二つを
乱数にしただけですけど(汗
確実に負けるやつではなくなったので宿題出せそうです!
プログラムって達成感ありますよね!?
ちょっとはまりそうです(w
Dさんの言ってたものもこれから試してみます!
0064デフォルトの名無しさんNGNG
次式にしたがってfn(x)を定義する。このfn(x)を計算するアルゴリズム(再起呼び出しを用いたもの)を与え、スタックがどのように利用されるか説明せよ。
f1(x)=1/(1+x)
f2(x)=1/(1+1/(1+x))
f3(x)=1/(1+1/(1+1/(1+x)))


お願いします
006553NGNG
>Dさん
なるほどー一回やってみますね
ほんとありがとうございましたー(^−^)
それを参考にしてまた考えてみます
0066デフォルトの名無しさんNGNG
後だしじゃんけんのまま話が終了してしまったようだが、
多分先生が期待しているのはマルコフ連鎖がどうとかそういうのでわ。。。
0067デフォルトの名無しさんNGNG
>>64
せめて漸化式ぐらい書いたら?
0068デフォルトの名無しさんNGNG
言語はCです。x,y,zの値を入力して最小値を示すプログラムです。
教授はif else のみでできて簡単だといってたんですが、よくわかりません。
私がやった雑なプログラムです↓ 簡単にするにはどうしたらいいでしょうか?
#include<stdio.h>
main()
{
int x,y,z;
int min;

printf("x、y、z、の値を入力してください。\n");
printf("x= :");
scanf("%d",&x);
printf("y= :");
scanf("%d",&y);
printf("z= :");
scanf("%d",&z);

min=x;
if(min > y){
min=y;
if(min > z){
printf("最小値はzの%dです。\n",z);
}
else{
printf("最小値はyの%dです。\n",y);
}
}
else{
printf("最小値はxの%dです。\n",x);
}
}
0069DNGNG
>>68
それきちんと動く?

if (x > y){
  if (y > z){
    printf("最小値はzの%dです。\n",z);
  }
  else{
    printf("最小値はyの%dです。\n",y);
  }
else{
  if (x > z){
    printf("最小値はzの%dです。\n",z);
  }
  else{
    printf("最小値はxの%dです。\n",x);
  }
}
こんな感じでどお?
0070デフォルトの名無しさんNGNG
switch ((x > y)*4+(x>z)*2+(y>z)) {
case ...
}
0071デフォルトの名無しさんNGNG
>>70
うーむ、ベーマガあたりに載っていそうなコードだ…。

>>68
こういうのはどう? 「第2問 配列に拡張せよ」とか言われたときに改造しやすいぞ。

min=x;
name="x";

if(min > y){
 min=y;
 name="y";
}
if(min > z){
 min=z;
 name="z";
}

printf("最小値は%sの%dです。\n",name,min);
0072デフォルトの名無しさんNGNG
<<69,70,71 ありがとうございます。参考になりました!
0073デフォルトの名無しさんNGNG
すみません。どこかに隠れマルコフモデルについてサンプルコードや、わかりやすく解説してるサイトはないでしょうか?
0074デフォルトの名無しさんNGNG
Cなんですが、何回やってもfor君が繰り返しをしてくれません。

問題は、2つの西暦を入力して、AとBの西暦の間のうるう年の年を出力して
さらに回数を求める問題なんですが、どうすればいいでしょうか?
僕が書いたなんちゃってソースは↓

main()
{
int year_a,year_b,kaisu,big,small,i,count;
printf("西暦AとBを入力"); scanf("%d%d",&year_a,&year_b);

 if(year_a > year_b) big=year_a,small=year_b;   
elase if(year_b > year_a) big=year_b,small=year_a;
 
 kaisu=(big-small)/4

for(i == small;i <= big;i++){     ←こいつです。
count=small;
count++;
if(count%4==0) printf("%d",count);
}

printf("うるう年の回数=%d",kaisu);
}

よろしく願いします
0075デフォルトの名無しさんNGNG
forのところはfor(i == small;i >= big;i++)   でした

0076名無しさん@XEmacsNGNG
またネタか.........トホホ
0077デフォルトの名無しさんNGNG
ネタのつもりはないんですが・・・

もう1度練り直してみます。
0078デフォルトの名無しさんNGNG
>>75
for(i == small;i >= big;i++)   
i==small
'=='は変だろ。

>>64
double func(double x,int n){
  return (1/(1.0+func(x,--n)));
}
こんなやつか?
0079まいった(;;)NGNG
あらゆる正の偶数は2つの素数で表記するというプログラムをC++言語で作って
います。N=prime1+prime2 N:正の偶数 prime1&2:素数
       例100 = 3 + 97
= 11 + 89
= 17 + 83
= 29 + 71
= 41 + 59
= 47 + 53 といった感じです。素数だけを求める関数(2,3,5,7,9,11...)
はできたのですが、その後どのように求めた素数をprime1,prime2に代入すればいいのか分から
ないので、誰か教えてください。
0080デフォルトの名無しさんNGNG
素数の小さい方から取りだし、
それに対して和を取った時に、
Nになるような物が素数に在るか探す?

prime1を小さい方から取りだし、
prime2を大きい方から、(←無理?)
和がNにならないか確認しつづける。
値Nの半分まで繰り返す。
0081まいった(;;)NGNG
>>80 例えばfor(int i=2;i<=n;i++){
   if((i==2||i==3)||(i%3!=0&&i%2!=0))
          cout<<i<<" ";←あくまで素数に振り分けられているか確認のため
}
結果:2 3 5 7 9 11 13...て表れるんですけど、ここからprime1, prime2に代入できないんです。
できればソースコードを書いて教えていただきたいんですがm(--)m お願いします。
0082デフォルトの名無しさんNGNG
C++知らんの。配列に入れて確保しておくとか出来ないの?
0083デフォルトの名無しさんNGNG
>>81
まてや・・・9は素数ちゃうやろw ってか、それ動かしても9は出ない
だろうけど。
でも、それ全然正しくないと思うよ。例えば35とか素数と判定しそうな
予感。
0084はあ…NGNG
以下のプログラムはデータベースにある情報をC言語で操作する、というプログラムなんです
データベースのアドレス、ユーザー名などの入力を構造体を使ってユーザーがデータベース名などを打ちこむ形で作りなおしたいのですが、
どうすればよろしいのでしょう
卓越した技術を持つ皆様、初心者のためにご教授ください…

/* PostgreSQL のフロントエンドライブラリである libpq のCプログラム */
#include <stdio.h>
#include <pgsql/libpq-fe.h>

void exit_nicely(PGconn *conn){
PQfinish(conn);
exit(1);
}
0085はあ… つづきNGNG
main(){
/* 構造体を使わずに書いた方法 */
charpghost[]="abcd",
pgport[]="0000",
usr[] ="abcd",
passwd[]="abcd",
pgoptions[]= "",
pgtty[]= "",
dbName[]= "abcd";
PGconn *conn;
/* データベースへ接続 */
conn = PQsetdb(pghost, pgport,pgoptions, pgtty, dbName);
/* バックエンドとの接続が成功したことを確認 */
if(PQstatus(conn) == CONNECTION_BAD){
fprintf(stderr, "Connection to database '%s' failed.\n\n", dbName);
fprintf(stderr, "%s", PQerrorMessage(conn));
exit_nicely(conn);
}
else if(PQstatus(conn) == CONNECTION_OK)
printf("Connection to database '%s' successed.\n\n", dbName);
PQfinish(conn);
}
0086デフォルトの名無しさんNGNG
>>79

#include <iostream>
#include <set>
typedef std::set<int> Cont ;
const max=10000 ;
int get_prime_number(int n, Cont &pl){
if(pl.empty()) pl.insert(2) ;
for(int c=*pl.rbegin()+1;c<=n;c++){
Cont::iterator vi ;
for(vi=pl.begin();*vi**vi<=c;vi++) if(!(c%*vi)) break ;
if(c%*vi) pl.insert(c) ;
}
return pl.size() ;
}
int is_sum_of_prime(int n, Cont &pl){
for(Cont::iterator vi=pl.begin();vi!=pl.end()&&(n-*vi)>=*vi;vi++)
if(pl.find(n-*vi)!=pl.end()) return *vi ;
return 0 ;
}
main(){
Cont v ;get_prime_number(max,v) ;
for(int n=4;n<=max;n+=2)
if(int p=is_sum_of_prime(n,v)) std::cout<<n<<"="<<p<<"+"<<n-p<<"\n" ;
else {std::cout<<n<<"=すごい発見!"<<std::endl ;break ;}
}
0087お茶NGNG
マルコフ連鎖…。
やっぱり大学でみんなに言われますた。
ちょっと調べたんですけど、相手の手を学習して、
手を読んで出すようにするってことですか?
0088デフォルトの名無しさんNGNG
>>79
1)2〜N/2までの素数を用意する。このときの最大素数をmとする。
 mはN/2以下。   
2)(2,N-2)、(3,N-3)・・・・・(m-1,N-m+1)、(m,N-m)
  の組み合わせで2つの数が素数であるか1)の結果を使って
  判定する。
0089デフォルトの名無しさんNGNG
>>87
マルコフ連鎖とかNグラムモデルとか。
相手の癖を見抜くんだろうね。
先生がどこまで要求してるかは授業のレベルによると思う。
プログラム初心者向けの授業だったら、後出しでいいと思うよ。
0090デフォルトの名無しさんNGNG
素数の列を作るなら、「エラトステネスのふるい」っていう手法が有名です。
googleで検索してみましょ。
0091デフォルトの名無しさんNGNG
>>79
「ゴールドバッハ予想 printf」でググッて見たら、ちらほらとサンプルあったぞ。
0092デフォルトの名無しさんNGNG
ロジスティック写像
yn+1=ayn(1−yn) (0<yn<1)
を考える。
a=3.95,y1=0.1に対して、y200をコンピューターを用いて小数点以下6桁まで正しく求めるためには、十進数で何桁程度の数値が扱えるプログラムが必要か?

お願いします
0093デフォルトの名無しさんNGNG
perlで
二次式を与え、それを因数分解するプログラムをお願いします。
二次式の与え方は、たとえば、

X^2の係数は?
Xの係数は?
定数項は?
などのように
出力は、
( X - 2 )( X + 3 )
整数の範囲で因数分解できない場合は、
その旨のメッセージを出すように。
x^2の係数は1でも結構です

お願いします
0094デフォルトの名無しさんNGNG
D
0095デフォルトの名無しさんNGNG
>>92 以下の感じでいいんじゃないかな。ちなみに当方素人っす。

漸化式y'=a*y*(1-y)に対して、Y'=y'+P',Y=y+Pと誤差を付与した式を考える。
Y'±P'=a*(Y±P)*(1-(Y±P))
これを展開してP'をPで表す。このとき、
・Pの二乗は小さい値とみなして無視。
・Pの係数にy[n]がある場合はy[n]=1と置き換える。
・±P-(±P)は0ではなく±2Pなので注意。
そうすると、aが定数であることからP'=α*P(α=定数値)という式が得られるはず。
X回の繰返しで累積誤差はα^Xになるので、0.000001/(α^X)を表せる精度が必要、となる。

定数値との演算で誤差が発生するか、とか、計算方法にもよるけど。
0096デフォルトの名無しさんNGNG
画像表示に関してですが、   
     int i, j;
int base1 = 64; //
 int base2 = 128; //
  int base3 = 192;

2値画像に変換するプログラムのbaseの部分を上のように変えて、
画像を4値化するときの色を分ける基準となる値を決めて、条件部分を
if (pixcell[i][j] < base1) modified[i][j] = 0;
else if (pixcell[i][j] < base2) modified[i][j] = 86;
else if (pixcell[i][j] < base3) modified[i][j] = 172;
else modified[i][j] = 255;

にして、原画像を4値化して、画像を4階調で表示するときの基準の値を自分で計算したので、
結果が正しいと判断したのですが、実際のプログラム実行時に,
元の値に対し正しい値が割り当たえられている確証がないので正しいとは言えないそうです。
どうしたら結果が正しいと判断できるのでしょうか。教えてください、お願いします。



0097デフォルトの名無しさんNGNG
>>96
二値画像をbase1~3を境界に四段階に区切れる理由がよくわからない
0098デフォルトの名無しさんNGNG
>>96
ループで生成した0から255の値を、そのルーチンで処理して、
ちゃんと4値になっているかどうか確かめれば?
この程度なら画像で確認しなくても大丈夫でしょ。

>>97
もとの2値化プログラムを4値化に改造したいのだと思ふた。
0099デフォルトの名無しさんNGNG
ホントに困ってます。もう6時間くらい進んでません。

前にjavaでとサーバーを作る課題がでました。
内容は、クライアント側からnameと入力するとサーバーから決まった名前が帰ってきて、numberと入力すると決まった番号が帰ってきます。byeを入力すると終了になります。
で、そのサーバーのプログラムはサンプルを変えるだけでできました。
そのときはクライアントについてはサンプルを使うだけでできました。

今回は、それをGUIベースのクライアントにするのが課題です。(アプレットではない)
簡単なものでよく、nameボタンとnumberボタンがあって、どちらかを押したら対応した文字が出る、くらいのものでいいと思います。
もちろん、このときにサーバーからデータを受け取り、それを表示する形です。

0100デフォルトの名無しさんNGNG
とりあえず完成しているサーバーのプログラムを書きます。
import java.util.*;
import java.io.*;
import java.net.*;

class MyServer {
public static void main(String args[]) {
if(args.length != 1) {
throw new IllegalArgumentException("Usage: java MyServer portnumber");
}
int port = Integer.parseInt(args[0]);
try {
ServerSocket ss = new ServerSocket(port);
while(true) {
Socket client = ss.accept();
new ServerThread(client).start();
}
}
catch(Exception e) {
System.err.println(e);
}
}
}
0101デフォルトの名無しさんNGNG
class ServerThread extends Thread {
private Socket client;
private BufferedReader file_in;
private BufferedReader from_client;
private PrintWriter to_client;
static int live_count=0;

public ServerThread(Socket c) {
super();
client = c;
}

synchronized void count_up() {
live_count++;
}

synchronized void count_down() {
live_count--;
}

public void run() {
count_up();
System.out.println(ServerThread.live_count);
try {
from_client =
new BufferedReader(new InputStreamReader(client.getInputStream()));
to_client =
new PrintWriter(client.getOutputStream());

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