トップページ⇒tech
987コメント331KB

宿題みてあげるっ

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001怜NGNG
前スレのお兄ちゃんの恋人の怜です。
かわいい弟クンのために、宿題みてあげるね。
でも、丸投げとかしたらおこっちゃうよ。まずは自分で考えてね。

前スレ
http://pc.2ch.net/test/read.cgi/tech/1003838158/
0002怜NGNG
基本的な用語とか、名前がわかっているアルゴリズムとかの解説は
自分でインターネットで検索した方が早いかな。
http://www.google.co.jp/
で検索してから質問してね。
0003デフォルトの名無しさんNGNG
Cでクエスチョン

int a=1;
a=a+-+a;

aの値は、環境依存?
0004デフォルトの名無しさんNGNG
a = a + (-(+a));
別に環境依存でもないんじゃ?
0005デフォルトの名無しさんNGNG
0 (VC6)
0006デフォルトの名無しさんNGNG
% gcc -v
Reading specs from /usr/local/gnu/lib/gcc-lib/sparc-sun-solaris2.8/2.95.2/specs
gcc version 2.95.2 19991024 (release)

0
0007デフォルトの名無しさんNGNG
o(^0^)/
0008デフォルトの名無しさんNGNG
怜ちゃんごくろーサマンサ
0009怜NGNG
>>3
うーんとね、
単項の+,-は二項形高い優先順位を持つのね。で、右から左に結合するの。
だから、a=a+-+aっていうのは
→a=a+-(+a)→a=a+(-(+a)) っていうふうに解釈される。
だから、>>4さんが言ってくれてるように、環境依存ではないと思うよ。
0010怜NGNG
あら、書き間違えてしまったみたい。
>二項形高い優先順位
「二項形式より高い優先順位」ね。二項形式っていうのはa+bみたいなやつ。
単項は-aとかいう感じのね。
0011デフォルトの名無しさんNGNG
麻衣よりお姉さんだな。
0012怜NGNG
>>前スレのハンターの話の生徒さん

 その仕様って獲物クラスについてだけだよね?
 ゲームを管理するクラスとか、ハンタークラスについて
スケルトンはもらってない?
 メソッドについてはいくらでも追加していいと思うよ。
でも一応privateで宣言しようね。
0013933(生徒)NGNG
新スレだ〜
デバッグは一応終わりました…
ダミークラスつくるのはちょっと方針上あきらめました。
コンパイルが通ったやつです。
 ↓
import java.util.*;

public class Game{

 private int N; /* nxn の正方格子の定義 */
 private int x,y; /* 正方格子のX座標 Y座標 */
 private int see; /* 見える範囲のマス数 */

 /* 5方向の箱を作ります */
 int[] mode_dir=new int[5];

 /* ハンターを監視するための箱を作ります */
 int[][][] Hunt=new int[N+2][N+2][3];
 Hunter[] h=new Hunter[3];
0014933(生徒)NGNG
/** Game クラスのコンストラクター
@param i 獲物のx座標
@param j 獲物のy座標
*/
public Game(int i,int j,int n){
x = i;
y = j;
N = n;
for(int e = 0;e <= 4;e++){
mode_dir[e] = e;
}
for(int a = 0;a <= N+1;a++){
for(int b = 0;b <= N+1;b++){
for(int c = 0;c <= 2;c++){
Hunt[a][b][c] = 0;
}
}
}
}

/** nxn の正方格子数を設定します
@param n nxn の正方格子数
*/
public void setN(int n){
N = n;
}

/** 正方格子を設定します。
@param x 正方格子のX方向
@param y 正方格子のY方向
*/
public void setXY(int i,int j){
x = i;
y = j;
}

/** 見える範囲のマス数を設定します
@param see 見える範囲のマス数
*/
public void setSee(int s){
see = s;
}
/** X座標を取得します
@return X座標
*/
public int getX(){
return x;
}
/** Y座標を取得します
@return Y座標
*/
public int getY(){
return y;
}
0015933(生徒)NGNG
/** 獲物の行動を決定します
@param h1,h2,h3 ハンターの位置情報
*/
/* ハンターの位置情報を箱に確保します */
/* 視界の中にハンターがいればフラグを立てます */

 public void escapeGame(Hunter h1,Hunter h2,Hunter h3){
  h[0] = h1;
  h[1] = h2;
  h[2] = h3;
  int flag;
  flag = 0; /* フラグの有無 */

  for(int a = 0;a <= N+1;a++){
   for(int b = 0;b <= N+1;b++){
    for(int c = 0;c <= 2;c++){
     if((0 < (x - h[c].getX())) && ((x - h[c].getX()) <= ((see-1)/2)) && (y == h[c].getY())){
      Hunt[a][b][c] = h[c].getX() - x;
      flag += 1;
     }else if((0 < (y - h[c].getY())) && ((y - h[c].getY()) <= ((see-1)/2)) && (x == h[c].getX())){
      Hunt[a][b][c] = h[c].getY() - y;
      flag += 1;
     }else if((0 < (h[c].getX() - x)) && ((h[c].getX() - x) <= ((see-1)/2)) && (y == h[c].getY())){
      Hunt[a][b][c] = h[c].getX() - x;
      flag += 1;
     }else if((0 < (h[c].getY() - y)) && ((h[c].getY() - y) <= ((see-1)/2)) && (x == h[c].getX())){
      Hunt[a][b][c] = h[c].getY() - y;
      flag += 1;
     }
    }
   }
  }
0016933(生徒)NGNG
 /* ハンターが獲物の視界内にいればフラグを立てる */

 /* 壁があります */
 /* 壁がない方向の箱を拾って壁がある方向の箱は控除します */
  if(x == 1){
   mode_dir[0] = 5;
   /* これ以上上に行けません(上への進路無効化)*/
  }else if(y == 1){
   mode_dir[1] = 5;
   /* これ以上左に行けません(左への進路無効化)*/
  }else if(x == N){
   mode_dir[2] = 5;
   /* これ以上下に行けません(下への進路無効化)*/
  }else if(y == N){
   mode_dir[3] = 5;
   /* これ以上右に行けません(右への進路無効化)*/
  }else{}

  /* ハンターの位置が視界内・視界外の判定をします */

  if(flag == 0){
   for(int g = 0;g <= 100;g++){
    int modeA;
    int modeB;
    int modeC;
    modeA = (int)(Math.random() * 5 );
    modeB = (int)(Math.random() * 5 );
    modeC = mode_dir[modeA];
    mode_dir[modeA] = mode_dir[modeB];
    mode_dir[modeB] = modeC;
    /* mode_dirの内容をシャッフルすることで入れ替えます */
   }
  }
0017933(生徒)NGNG
  else if(flag == 1){
   for (int c = 0;c <= 2;c++){
    if(Hunt[h[c].getX()][y][c] <= 1){
    mode_dir[0]= 5;
    }else if(Hunt[x][h[c].getY()][c] <= 1){
    mode_dir[1]= 5;
    }else if(Hunt[h[c].getX()][y][c] >= 1){
    mode_dir[2]= 5;
    }else if(Hunt[x][h[c].getY()][c] >= 1){
    mode_dir[3]= 5;
    }else{}
   }
   /* 〜ハンターがいない方向をランダムに選びそちらへ進みます*/
   /* 視界にハンターがいますが近いハンターから遠ざかる方に動きます */
   /* 移動可能な方向に限定してランダムに動きます */
   }else if(flag >= 2 ){
    for (int c = 0;c <= 2;c++){
     if(Hunt[h[c].getX()][y][c] <= 2){
     mode_dir[0] = 0;
     }else if(Hunt[x][h[c].getY()][c] <= 2){
     mode_dir[1] = 1;
     }else if(Hunt[h[c].getX()][y][c] >= 2){
     mode_dir[2] = 2;
     }else if(Hunt[x][h[c].getY()][c] >= 2){
     mode_dir[3] = 3;
     }else {
     mode_dir[4] = 4;
     }
    }
   }
   /* 塞がれて動けなければその場にとどまります */
   if(mode_dir[0] == 5
   && mode_dir[1] == 5
   && mode_dir[2] == 5
   && mode_dir[3] == 5){
   mode_dir[4] = 4;
   }
0018933(生徒)NGNG
  /* 3. 獲物の行動を決定します */
  private int p = 0;
  private int r = 0;
  private boolean breakflag = true;
  do{
  r = (int)(Math.random()*100);
  p = (r)%5;
  switch(mode_dir[p]){
   case 0:/* 上に動く */
   y -= 1;
   breakflag = false;
   break;
   case 1:/* 左に動く */
   x -= 1;
   breakflag = false;
   break;
   case 2:/* 下に動く */
   y += 1;
   breakflag = false;
   break;
   case 3:/* 右に動く */
   x += 1;
   breakflag = false;
   break;
   case 4:/* その場にとどまる */
   breakflag = false;
   break;
   case 5:/* 抽選しなおす */
   p++;
   break;
   }
  }while(breakflag);
 }
}
0019933(生徒)NGNG
以上です。
こっからやっといろいろいじくれます…
まだコンパイルが通っただけですが…。
0020怜NGNG
コンパイルエラーはなくなったのね。
ここからが本当のデバッグの開始だからがんばっていこうね。

まず、mode_dirとHuntをコンストラクタの中で初期化してるけど、
これは、escapeGameを呼び出すたびに初期化する必要があるのよね。
まず、そこは直さないとね。

Hunt[a][b][c] = h[c].getX() - x;
ってやってるから、Hunt[a][b][c]にはマイナスが入ることもあるわよね?
だから、flag == 1のときに、
if(Hunt[h[c].getX()][y][c] <= 1){
}else if(Hunt[h[c].getX()][y][c] >= 1){
みたいな、判定をするのは、何か違う気がするの。0より大きい、もしくは小さい
でいいんじゃないの?
 それにマイナスになる事考えると、
flag >= 2のときの、
 if(Hunt[h[c].getX()][y][c] <= 2){
とかいうのも明らかにおかしいのよね。
 Math.abs(x)とやれば、xの絶対値が得られるからこれも上手く利用するといいか
も。

 まあ、とりあえず目についたのはこれくらいかな。
 これくらいといっても、基本的な部分で問題があるから、修正すると他にも色々
間違えそうだけど。
 プログラムなんて、デバッグをどれだけ頑張れるかで力がついていくものだから、
頑張ってね。
0021933(生徒)NGNG
mode_dir , Hunt は
escapeGame の中で初期化させろということですか?
移動すればいいんですよね?了解です。

マイナスをつけているのは左←→右にいる、上←→下にいる、っていうのを
1回でわかるようにするためにつけています。
だから距離だけじゃなくて方向も導入した方がいいと思いまして。
ただ、それだと確かに全体で筋が通らないのも事実で…
これをどうしようかと今考えてます。


それと、自分がageるべきなんでしょうか?やっぱ。
0022933(生徒)NGNG
flag に private つけるとエラーが出るんですけど…
なんでじゃ〜!!
0023怜NGNG
そうね、質問するときはageてね。

>マイナスをつけているのは左←→右にいる、上←→下にいる、っていうのを
>1回でわかるようにするためにつけています。

その意図はわかるんだけど、だったらまず、flag == 1のとき、
if(Hunt[h[c].getX()][y][c] <= 1)
とかじゃなく、
if(Hunt[h[c].getX()][y][c] < 0)
とかすべきよね、ってこと。

あと、flag == 2のときも、
if(Hunt[h[c].getX()][y][c] <= 2){
じゃなくて、
if(Hunt[h[c].getX()][y][c] <= -2){
とか。

あと、publicとかprivateとかつけるのはクラスのメンバ変数(クラスのメソッド
の外で定義されて、クラス全体で使う変数のことね)だけで、メソッドの中で定義
される変数にはつけないものなの。
publicとかprivateとかの意味はわかる?
0024933(生徒)NGNG
すんませんです、
>>18 の
  private int p = 0;
  private int r = 0;
  private boolean breakflag = true;
はうそです…
自分がここにコピペする時つけてもいいだろうと思ってたのでつけましたが
コンパイル通すと叱られました…
これらと flag は escapeGame より上のクラスで
private 指定しないといけないものなのですか?
というより、こういうことするのはおせっかいですかね?
0025933(生徒)NGNG
了解です。ageします。

public や private の意味とかはわかります。
語句の意味は。
だけど、そのプログラム的な扱い方なんかがホントわかってないんです。
言われて「あ、そっか…」と思ってます。
クラスのメンバ変数、っていう考え方があって
その上で「これからクラス内でこの変数を使いますよ〜」っていう宣言は
クラスより上で指定されなければいけないってことですか?
0026933(生徒)NGNG
今回の
  private int p = 0;
  private int r = 0;
  private boolean breakflag = true;
っていうのは private 外すとひょっとしたら class Game 外の他の値を
参照してしまう危険があるわけですよね?
だけど escapeGame 内で指定するのは間違ってるってことですよね。
0027怜NGNG
えーっとね、そうじゃなくて・・
privateをつけると、クラスの外部から参照される事がなくなるとか、
publicをつけると、クラスの外部からも参照、書き換えができるように
なるとかそういうものなの。

クラス全体で使うものはメソッド(関数)の中ではなくて、
public class ●●{
の直下で、宣言しないといけないのね。
0028933(生徒)NGNG
メソッドの中でだけ使う、というような考え方自体が
おかしいってことでしょうか?

一応 int p , int r , boolean breakflag , int flag
全て最初のクラスの下に private をつけて宣言しなおして
コンパイル正しました。
p = 0 ; , r = 0 ; , breakflag = true ; , flag = 0 ; は
全てそのままにしてあります。

こういう処理の方がいい、ということですよね?
0029933(生徒)NGNG
それと main 文を作って
Nの大きさ、seeの範囲、3人のハンター及び獲物の位置情報などを
入力して実際に動作確認をしてみたいのですが、
どの場所に main を置くのが正しいのか
または完全に独立させてメイン文書いたほうがいいのか
よくわかってません。

オブジェクト思考がなんたるかに沿いながら解説していただけると
非常に助かります。
(ホントなんでおれ講義出なかったんだよ…)
0030933(生徒)NGNG
※ちなみに
 int[] mode_dir=new int[5];
 int[][][] Hunt=new int[N+2][N+2][3];
 Hunter[] h=new Hunter[3];
の前にも private をつけました。

現在の仕様:
 ↓
 private int N; /* nxn の正方格子の定義 */
 private int x,y; /* 正方格子のX座標 Y座標 */
 private int see; /* 見える範囲のマス数 */
 private int flag;
 private int p;
 private int r;
 private boolean breakflag;

 private int[] mode_dir=new int[5];
 private int[][][] Hunt=new int[N+2][N+2][3];
 private Hunter[] h=new Hunter[3];

 public Game(int i,int j,int n){
  x = i;
  y = j;
  N = n;
 }

 public void setN(int n){
  N = n;
 }

 public void setXY(int i,int j){
  x = i;
  y = j;
 }

 public void setSee(int s){
  see = s;
 }

 public int getX(){
  return x;
 }
 public int getY(){
  return y;
 }
0031デフォルトの名無しさんNGNG
ひとつ質問。
この933ってのは何人もいるのか?
0032デフォルトの名無しさんNGNG
http://www2.bbspink.com/test/read.cgi?bbs=club&key=1005652592&st=30&to=30&nofirst=true
↑これ書いたの誰だよ。
0033933(生徒)NGNG
いや、今の所騙りはいませんが…
自分だけです。
>>31
0034デフォルトの名無しさんNGNG
http://cgi.members.interq.or.jp/gold/marken/bbs.htm

2001 12/10 12:28

えむえす

誰かつぎの問題のプログラムを制作してください。お願いします


問題1

n個の中から、r個を選ぶ組み合わせの数nCrををもとめる再帰呼び出しを使った
プログラムを作成せよ。ここでnCrには、次の関係式が成り立つ。
nCr=n-1Cr+n-1Cr-1
また、常に、nC0=1,nCn=1が成り立つ。
0035味噌醤油醸造株式会社NGNG
>>34
int C(int n, int r)
{
return C(n-1,r)+C(n,r+1);
}

int main()
{
printf("%d\n", C(-100, -10));
return 0;
}
0036デフォルトの名無しさんNGNG
933君はなかなかの強敵だな。
0037怜NGNG
>>29
テストするならダミークラスをつくらなくちゃ。
少なくとも、Hunterと、ゲーム進行を管理するクラスが必要。
ゲーム管理だからGameManagerとか名前付けたいんだけど、
獲物にGameなんてつけてるからそれじゃ解りにくくなっちゃうわね。
私なら獲物じゃなくて逃亡者(Runaway)とか命名するんだけどなぁ。

とにかくテスト用にこんな風にクラスを作ったらどうかな。

// 933君のGameクラス
class Game{
  private int x;
  private int y;

  public void escapeGame(Hunter h1, Hunter h2, Hunter h3){
    x = h1.getX() + h2.getX() + h3.getX();
    y = h1.getY() + h2.getY() + h3.getY();
  }

  // デバッグ用データ出力メソッド
  public void debugPrint(){
    System.out.println("[Game] x = " + x);
    System.out.println("[Game] y = " + y);
  }
}

//テスト用Hunter
class Hunter{
  private int x;
  private int y;

  public void setPos(int posx, int posy){
    x = posx;
    y = posy;
  }

  public int getX(){return x;}
  public int getY(){return y;}
}

//テスト用Main
public class Main{
  public static void main(String[] args){
    Hunter hunter1 = new Hunter();
    Hunter hunter2 = new Hunter();
    Hunter hunter3 = new Hunter();
    Game game = new Game();

    hunter1.setPos(10,10); //hunterの位置をセット
    hunter2.setPos(20,20); //hunterの位置をセット
    hunter3.setPos(30,30); //hunterの位置をセット

    game.escapeGame(hunter1,hunter2,hunter3);

    game.debugPrint(); // escapeGameの結果出力
  }
}

これをベースに、必要な処理を付け加えてね。
コンパイル、実行のやりかたはわかるわよね?
0038怜NGNG
それから、ちょっと気になったんだけど。
933君はフィールドとローカル変数の違い、ちゃんと理解してる?
0039デフォルトの名無しさんNGNG
933は、授業中に2chで質問してるのか?
0040デフォルトの名無しさんNGNG
>>39
たしかに(W
0041怜NGNG
>>35
うそ教えちゃかわいそうよ。
int C(int n, int r)
{
 if(r == 0 || r == n) return 1;
 return C(n-1, r) + C(n, r-1);
}

int main()
{
 printf("%d\n", C(-100, 10));
}
0042怜NGNG
>オブジェクト思考がなんたるかに沿いながら解説していただけると
>非常に助かります。

 とりあえず、本当にわかっていないっぽいので、簡単にオブジェクト指向について
説明するわね。ちょっと語弊ある言い方するかもしれないけど、感じをつかむという
意味でね。
 オブジェクト指向っていうのは、簡単に言えばプログラムを部品化したいのね。
内部で何をしているかを気にせずに、ある機能を持つプログラムを使いたいと。
この場合獲物のクラスっていうのがあるわよね? この場合、獲物がどのような
事を考えて行動を決めるかっていうのは、ゲームを管理するクラスからは興味ない
の。単にこういう場合にどういう行動したか、その結果が欲しいだけなの。
 だから、内部で色々分析するのに使った変数なんて、外部からは見たくないし、
また見せたくないのよね。だから、そういうのは全部privateで宣言するの。

 それで、このGameクラスっていうのは、獲物そのものを表現してるのね。だから、
これ単独で使うことはないから、mainはここにはいれないものなの。
 実際にどうするかっていうと、多分先生が用意するゲームを管理するクラスで
933クンが作ったGameクラスのインスタンスを作るの。インスタンスっていうのは、
なんていえばいいのかな。まあクラスに実体を持たせたものというか・・うーん。
その辺から説明しないといけないか。
 今、獲物を表すクラスを作ったよね。でも、これは獲物の一般的な定義なわけね。
これに対し「獲物A」みたいなの作りたいの。だから、このGameクラスのインスタンス
っていうのを(まあ変数みたいな気分ね)作ることによって、「獲物A」ができるの。
何個もインスタンスを作ることで「獲物B」「獲物C」、とかも作れるわけね。
 このときに、大切なのは、このクラスのメンバ変数っていうのは(ここでいうと
例えばNとかxとかy等のクラスの中で定義され、メソッドの外で定義されてるもの)、
「獲物A」「獲物B」「獲物C」それぞれ違う値をもっているの。だから、獲物Aに
逃げろっていえば、獲物Aのxとかyとかの値に従って、escapeGame()を実行すること
になるのよね。で、このメンバ変数っていうのは、「獲物A」とかが無くなるまで
保持されるの。でも、メソッドの中で定義された変数はそのメソッドが実行しおわって
しまうと消えてしまうわけ。
 まあ、そのインスタンスを作って、それに「こういう状況だけど逃げろ」って感じ
でゲームを進めていくわけね。
・・・って、説明難しい。とりあえずオブジェクト指向については、少ししっかり書いて
あるページでもみてみてね。
0043933(生徒)NGNG
長い間席を開けてしまいすいません。
共同制作の友達と大学で夜を明かして完成に至りました。
奇跡のように動くので感動してます。
(プログラムソースは…希望者があれば貼ります)
ここの住人の方々にはスレ消費などの迷惑をかけてしまい申し訳ないです。
以後もまたここでつたない質問などして茶を濁すかもしれません。

オネエさんの説明も今になってようやくわかります。
他にも砕身してくださった方、ありがとうございました。
0044あNGNG
へ
0045デフォルトの名無しさんNGNG
あへ?
0046 NGNG
よいしょ
0047デフォルトの名無しさんNGNG
前スレの1000、つまらん終わり方しやがって。
0048 NGNG
続き聞いてもいいかな?
While使うのはどうやって。。
素人なんでごめんなさい。
0049デフォルトの名無しさんNGNG
>>48

比べた後にフラグレジスターを見て条件付きジャンプ命令で飛ぶ。
0050デフォルトの名無しさんNGNG
チューリングマシンでwhileって?
万能機でも作るのか?
0051デフォルトの名無しさんNGNG
ごんぎつねの感想文
僕のかわりに書け
0052デフォルトの名無しさんNGNG
以前,佐賀県の過疎村にある小学校4年生の「ごんぎつね」の学習で感動を受けたことがある.
4年生はAちゃんという女の子一人しかいない小学校で,彼女は一生懸命ごんぎつねの感想文を書いた.
しかし,悲しいかなそれに答えてくれる同学年の子供は彼女の学校にはいないのである.
Aちゃんの感想文は先生の力によってホームページに載った.
それから暫くして日本中の学校から「感想文の感想」が送られてたのである.
いまでは「絵」あり「まんが」ありのとても充実した学習ページになっている.
彼女は一人ではなかったのである.
もちろんAちゃんの先生がコンピュータができるだけの人でなく,コンピュータの本来の使い方を知っていたということが最大のポイントであることは言うまでもない.
これもコンピュータがあればこそのことである.
0053 NGNG
乗算だけです
加算のチューリングマシンは
M+=(K2)^2LlTlB  こんな感じになってました
0054デフォルトの名無しさんNGNG
>>52はコンピュータの「本来の使い方」なのだろうか?
0055デフォルトの名無しさんNGNG
エーちゃん萌えっ!
0056デフォルトの名無しさんNGNG
>>53
その記号何語?
0057デフォルトの名無しさんNGNG
C言語ですが(for文だけで)
「人数を入力してその人数分の成績を入力すると
 合計点、平均点、最高点、最低点が表示される
 ようにせよ」という問題です。
0058デフォルトの名無しさんNGNG
for文だけじゃむりだなぁ
0059 NGNG
r 一駒右へ行く  l(小文字のL)一駒左へ行くとか
B ヘッドが見ている駒にBを書く

らしいですが・・・
0060デフォルトの名無しさんNGNG
すいません、while文を使わずにです。
0061デフォルトの名無しさんNGNG
>>60

forでもwhileでもそれだけじゃ無理だ。
○×は禁止。ならともかく。
0062Kusakabe YouichiNGNG
In article >>57, デフォルトの名無しさん/57 wrote:

> C言語ですが(for文だけで)
> 「人数を入力してその人数分の成績を入力すると
>  合計点、平均点、最高点、最低点が表示される
>  ようにせよ」という問題です。

変な課題出すひとですね。

でもまあ、そんな授業でも、聞いてなくて
こんなところで質問するのはかなりマヌケですが。
0063デフォルトの名無しさんNGNG
>>59
遷移表じゃないと分からないっす

>>57
真に受けないように
0064デフォルトの名無しさんNGNG
>>57
入力は分かるね。合計点は全部足せば良いし
平均点はそれを人数で割ればよい。
最高点は一番大きい数を更新すればよいし
最低点はその逆だ。何がわからん?
0065デフォルトの名無しさんNGNG
つか、「whileを使うな」という条件がどういう学習目的から来てるのか
小一時間問いつめたい。
むしろ俺なら「whileを禁止する無意味さ」を論文にして回答として提出するね。
0066デフォルトの名無しさんNGNG
#include<stdio.h>
#include<limits.h>
main()
{
int nin,i;
int ten,max=INT_MIN,min=INT_MAX,sum=0;
float avel;
printf("人数いれろ >> ");
scanf("%d",&nin);
printf("---------------\n");
for(i=0;i<nin;i++){
printf("点数いれろ >> ");
scanf("%d",&ten);
if(ten>max) max = ten;
if(ten<min) min = ten;
sum += ten;
}
avel = (float)sum;
avel /= nin;
printf("---------------\n");
printf("合計点%d\n",sum);
printf("平均点%f\n",avel);
printf("最高点%d\n",max);
printf("最低点%d\n",min);
}
0067Kusakabe YouichiNGNG
In article >>66, デフォルトの名無しさん/sage/66 wrote:

> #include<stdio.h>
> #include<limits.h>

こうやって書くやつは例の入門書読んだのだろうか? :)
0068デフォルトの名無しさんNGNG
>>67

作ってわかるCプログラミング?
0069 NGNG
eの値を小数点以下100桁まで求めるプログラムと
πの値を小数点以下100桁まで求めるプログラムを教えてください。
(´_ゝ`)
0070デフォルトの名無しさんNGNG
何だお前?
あっちこっちに書くな、鬱陶しいなあ
0071怜NGNG
>>69
丸投げはダメって言ったでしょ?

どこがわからないか言ってごらん。
1.e.πをどうしう式で表していいかわからない。
2.それをどうプログラムで表現していいかわからない。
2の場合、特にどのあたりで困っているか。
100桁っていう、doubleとかで扱えない桁数の処理かな?
0072デフォルトの名無しさんNGNG
ファイルから数値を読み取り
バブルで昇順にするのなんですけど
整数のはできたけど小数が入っている場合が
よく分からないので
どこをかえればいいか教えてください。
0073Kusakabe YouichiNGNG
In article >>72, デフォルトの名無しさん/72 wrote:

> ファイルから数値を読み取り
> バブルで昇順にするのなんですけど
> 整数のはできたけど小数が入っている場合が
> よく分からないので
> どこをかえればいいか教えてください。

小数が入っているとどうわからないのか、
整数のときはどう書いたのか、が書いてあれば答えてもらえるでしょうね。
0074デフォルトの名無しさんNGNG
5桁の2進数を10進数に変換するって問題で、
変換の方のプログラムはできるんですが、
キーボードから5桁の2進数を入力してそれを配列に格納する方法がわかりません。
色々検索して似たようなものを見つけたはみつけたのですが、
ttp://robotics.me.es.osaka-u.ac.jp/~masutani/Jouki/Kyouzai/binary.html
atoiとかを使ってやるのかなと考えたのですが判りません。
ダレか教えてください。
0075デフォルトの名無しさんNGNG
>>74
fgets()
0076デフォルトの名無しさんNGNG
asciiなら、文字列でもらってきて、str[0..len]-='0'すればぁ?
判らないなら、
if(strcmp(str,"00000") == 0) return "0";
if(strcmp(str,"00001") == 0) return "1";
if(strcmp(str,"00010") == 0) return "2";
とか並べればぁ?
0077デフォルトの名無しさんNGNG
>>76
変換方法はわかってるって言ってるじゃん。
0078デフォルトの名無しさんNGNG
my $message;
my $message2;
my $msg;

$message = param('input');
$message2 = param('input2');
$substract = 2001-$message2;

if($substract>1981)
{
$msg="20以下は駄目";
}

ここまでなんとかやったんですけど
40以下は、駄目って表示したい場合、どうやればいいんですか?
andみたいな奴ってあります?
0079デフォルトの名無しさんNGNG
>>78
my $message;
my $message2;
my $msg;

$message = param('input');
$message2 = param('input2');
$substract = 2001-$message2;

if($substract>1981)
{
$msg="40以下は駄目";
}
0080電気科の人NGNG

#include <stdio.h>
main()
{
int a,b;
printf("やす君:消費税を計算できるもてもてやす君16歳だべ。\n");
printf("やす君:商品は何円っスか。\n");
scanf("%d",&a);
b=a*1.05+1;
printf("入力者:%d円です。\n",a);
printf("やす君:その商品は%d円になるぞ。\n",b);
}
0081電気科の人NGNG
80↑は間違って書き込んでしまったものです。
すみません。
0082電気科の人NGNG
(改めて)すみません。Cのプログラムみてください。

#include <stdio.h>
main()
{
int a,b;
printf("やす君:消費税を計算できるもてもてやす君16歳だべ。\n");
printf("やす君:商品は何円っスか。\n");
scanf("%d",&a);
b=a*1.05+1;
printf("入力者:%d円です。\n",a);
printf("やす君:その商品は%d円になるぞ。\n",b);
}

このプログラムだと
なんか900円くらいまでは大丈夫みたいなんですけど、
1000円以上になると値がおかしくなるんです。
なんでですか??

1をプラスしないと答えが合わないのはなぜですか??
(1000円以上だとこっちのほうは答えがあう)

誰か教えてください。
0083デフォルトの名無しさんNGNG
>>82

1を足す意味がわからない。
0084デフォルトの名無しさんNGNG
>>82
Cの初心者HP逝って「型」を調べてみてね。
0085デフォルトの名無しさんNGNG
>>84

int型にしているのは小数点以下を切り捨てるためだと思うが。
0086デフォルトの名無しさんNGNG
b=(double)a*1.05;


・・・・・無駄だな。
0087デフォルトの名無しさんNGNG
いずれにせよ、+1している理由が不明である。
0088デフォルトの名無しさんNGNG
なんでfloatにしないの?
0089デフォルトの名無しさんNGNG
>>88

goto 85
0090とても親切な人NGNG
>>82
>1をプラスしないと答えが合わないのはなぜですか??

なぜ1をプラスすると答えが合うって言うんだい?
よし、仮に入力が1だったとしよう。
int(1 * 1.05 + 1) を計算すると答えは2だね。
で、キミの住む町というか妄想世界では1円の商品を購入
すると消費税1円が加算されて2円請求されるという事かい?
もしそうなら悪いことは言わない、早くその町というか
妄想世界から引越しなさい。
そうすれば、そのプログラムは b=a* 1.05; とするだけで
普通に答えが合うようになるぞ。
それとも「消費税を計算できるもてもてやす君16歳」
というのを忠実にシミュレートするプログラムだと
そうするしかないのかな?
0091デフォルトの名無しさんNGNG
どうでもいいが質問者が頭悪そうなので、次の問題にいこ〜
0092デフォルトの名無しさんNGNG
>>82
なんか、あってるんだけど。どこがおかしいの?
0093デフォルトの名無しさんNGNG
怜たんが居ないと荒れるなあ・・(w
取り合えず+1はやめれ 意味不明
全部floatでやって最後にintにキャストすりゃいいだろ
009492NGNG
あ、コンパイルしたら合ってたって事。
1500→1575(+1無しで)
0095デフォルトの名無しさんNGNG
>>92
0を入力して見ろよ。
それでも合ってるって言うのかお前ってヤツは!!
009692NGNG
>>95
0
009792NGNG
20000→21000
何がおかしいのか分からん。
小数点以下もちゃんとでないし。ちなみにVC++6。
0098デフォルトの名無しさんNGNG
>>96
まいりました。
0099デフォルトの名無しさんNGNG
>>97
質問の意図をはずしていると思われる。
まず元のソースを変更せずにコンパイルし、
900以下の数値を入力して得られる結果を「正しい」と思い、
1000以上の数値を入力して得られる結果が「おかしい」と思う
ところからスタートしなさい。
010092NGNG
>>99
じゃ、元のソースで。
800→841
20000→21001
だそうです。
ちゅうか、ソース見て+1の効果が分からんの?
0101デフォルトの名無しさんNGNG
消費税って切り上げだったっけ (^-^;
010299NGNG
>>100
>ちゅうか、ソース見て+1の効果が分からんの?
+1の効果?
バグの原因て意味ならわかるけど正解を導く為に必要ってんならわからないです。
82は「800→841でOK」だけど「21000→21001はNG」と言っていますけど。
010399NGNG
>>102
訂正
×:「21000→21001はNG」
○:「20000→21001はNG」
0104デフォルトの名無しさんNGNG
>>101
切り上げの店が多いな。
だから足すなら1じゃなくて0.5だ。
はい、次の質問〜
010592NGNG
>>92
>82は「800→841でOK」だけど「21000→21001はNG」と言っていますけど。
841でOK、ってどこに書いてあるの?800円のモノ買ったら841円
請求されんの?マジで?消費税って5.125%になったの?
0106105NGNG
あ、>>102だーね。
010799NGNG
>>105
なんか900円くらいまでは大丈夫みたいですよ。

>>82より引用。
>このプログラムだと
>なんか900円くらいまでは大丈夫みたいなんですけど、
>1000円以上になると値がおかしくなるんです。
>なんでですか??

#スレ荒らしてしまったみたいなのでこれでやめる
010892NGNG
>>107
「正解」の意味が変だって事だよ。そして電気科は最後まで現れなかった・・・と。
0109デフォルトの名無しさんNGNG
やす君はじつは消費税も計算できないし、もてもてでもなかった。
0110デフォルトの名無しさんNGNG
16歳でさえもなかったらモーサイコー!!
0111電気科の人NGNG
>83〜110さん
今までチャット&ご飯だった。
+1は結果を合わそうとして無理矢理付け加えたもの。
0としたら1円だった。それおかしいと思った。
ただ+1を抜かすと、100と入力したら104円になった。

要するに言いたいことは

〜〜〜〜〜+0除いたソースの場合〜〜〜〜〜
1.入力100とすると出力104←×
2.入力1000とすると出力1050←○

〜〜〜〜〜+1を付け加えたソースの場合(82のソース)〜〜〜〜〜
1.入力100とすると出力105←○
2.入力1000とすると出力1051←×

〜〜〜〜〜本来なるべき結果〜〜〜〜〜
1.100と入力すると出力105←○
2.1000と入力すると出力1050←○

文はごちゃごちゃになってしまいましたが(あしからず)
「〜本来なるべき結果〜」出力のソースお願いします。

では一旦お風呂タイムっす(笑)
0112デフォルトの名無しさんNGNG
入力がY円だとしたら、消費税込みでは
Y + (Y * 5) /100 円
0113デフォルトの名無しさんNGNG
>ただ+1を抜かすと、100と入力したら104円になった。

ならねーよターコ
0114デフォルトの名無しさんNGNG
約分したら
Y + Y /20 円

端数切り上げなら
Y + Y / 20 + (Y % 20 ? 1 : 0)
0115デフォルトの名無しさんNGNG
消費税は定数じゃなくて変数にしとかないとあとで泣くぞ。
0116デフォルトの名無しさんNGNG
>>115

マクロがいい。
0117電気科の人NGNG
>113さん
なるんです。ちなみにコンパイラは
LSIC(?)試食版で
エディタはLCPADです。

>115さん
へいっ!!結構貴重っぽいアドバイスありがとうございます。

>116さん
プリプロセッサ指令??

#include <stdio.h>
main()
{
int a,b;
printf("やす君:消費税を計算できるもてもてやす君16歳だべ。\n");
printf("やす君:商品は何円っスか。\n");
scanf("%d",&a);
b=a*1.05;
printf("入力者:%d円です。\n",a);
printf("やす君:その商品はd円になるぞ。\n",b);
}
これだと少なくとも(入力したら)100円の時と400円の時はおかしいス。
0118デフォルトの名無しさんNGNG
>>117

おかしくない。
ちなみにVC++6.0 Pro
0119デフォルトの名無しさんNGNG
だからfloatでやれっつてんだろ ヴォケ
感電して氏ね!!
0120デフォルトの名無しさんNGNG
>>119

自動型変換をするからfloatにする必要はないと思われ。
うまくゆかなかったらコンパイラが悪い。
0121デフォルトの名無しさんNGNG
>>117
> なるんです。ちなみにコンパイラは
> LSIC(?)試食版で
ずいぶん誤差が大きいんだな >LSI-C
とりあえず>>104を欲嫁。

> エディタはLCPADです。
そんなもん誰も生糸欄。
0122質問NGNG
sprintf のs はsecret のs?
0123デフォルトの名無しさんNGNG
>>122
stringだろ。
0124デフォルトの名無しさんNGNG
>>122

プログラミング言語C第二版の189ページに書かれていることからして、
stringのsだと思う。
0125怜NGNG
>>93
ありがとー。荒れるの防止に一役かえてるなら嬉しいわ(w

質問者が理解していない可能性があるから、ちょっとフォローしてくわね。
>>112 >>114さんが言ってくれたみたいにやればいいと思うよ。

これは、b = a * 1.05;
って書くとa * 1.05を計算するときには浮動小数点で計算されるの。
このときに、コンピュータの内部では二進数で計算するのね。
だから、微妙に誤差が出ちゃうわけ(丸め誤差っていうから覚えとこう)。

で、浮動小数点→整数に変換されるときには、小数点以下は切り捨てられるの。
だから、もしほんの少し誤差がでて、計算した結果が、
a = 104,99999999999999999999999
みたくなったら、a = 104 になってしまう。
 誤差がどういう風に出るかによって結果が違ってくるから上手くいく場合といかない
場合があるのよね。
 この誤差を防ぐには、>>114さんが書いてくれたように全部整数で計算すればいいわけね。
0126デフォルトの名無しさんNGNG
>>116
消費税率かわるたびに再コンパイル?
そのうち地方によって消費税率が異なるようになったら大変だな。
0127デフォルトの名無しさんNGNG
大きさ11の配列rootの各要素に3.0、3.1、・・・・・4.0の平方根を求めてから、
各要素の値を少数第8位まで出力しなさい。

#include<iostream.h>
#include<math.h>
#include<iomanip.h>

int main(void)
{
double root[11];

for(int x=0; x<11; x++)
root[x]=sqrt(3.0+x/10.0);

cout << setiosflags(ios :: fixed);
for(x=0; x<11; x++)
cout << setprecision(8) << root[x] << endl;

return 0;
}

ってやったんですけどうまくいきません。何が悪いんでしょうか?
0128Kusakabe YouichiNGNG
In article >>127, デフォルトの名無しさん/127 wrote:
> 大きさ11の配列rootの各要素に3.0(I$3.1(I$%%%%%4.0の平方根を求めてから、

文字化けしてます。

> 各要素の値を少数第8位まで出力しなさい。

少ない数?

> #include<iostream.h>
> #include<math.h>
> #include<iomanip.h>

この書き方...へんな入門書でも読みましたか? :)

> for (int x = 0; x < 11; x++)

> for (x = 0; x < 11; x++)

> ってやったんですけどうまくいきません。何が悪いんでしょうか?

うまく行かないってのは、コンパイルエラーでも出たのですか?
だったらそのエラーを読めばいいじゃん。
0129デフォルトの名無しさんNGNG
>>127
二つめのfor(x=...)で引っかかってるでしょう。
for(int x=..)で解決。
0130デフォルトの名無しさんNGNG
ねぇねぇ、
Kusakabeってマジ?それともネタ?
0131デフォルトの名無しさんNGNG
じつは日下部なんて人間は最初から存在しない

fjの昔からある荒し専用コテハン
2ちゃんではごく最近なので誤解している人多数
0132デフォルトの名無しさんNGNG
「くさかべ」は、fjに常駐している4人のやさぐれプログラマ集団
の名前だという説もある。フランスのブルバキみたいなもの(そんな
立派ではないか)。
0133電気科の人NGNG
>125怜さん
わかりました。それ理解することできました。
でも大変申し上げにくいことが・・・w

>一緒に考えてくれた人達
LSIC(?)でも成功する方法を発見しました。
これは先パイの友に聞いた方法なんですが・・・
#include <stdio.h>
main()
{
int b;
float a,c;
a=1.05;
printf("入力せよ\n");
scanf("%d",&b);
c=a*b;
printf("%.0f\n",c);
}

でLSIC(?)でもできます。
100と入力したら105。となる。
1000と入力したら1050。となる
・・・一緒に考えてくれたみなさん。ありがとうございました。
とりあえず万事解決です!!
0134デフォルトの名無しさんNGNG
>>133
だからそれが丸め誤差だっつーの。
覚えときなさいよ、まったく。
0135怜NGNG
>>133
うん、それでも大丈夫だね。
浮動小数点型をprintfで表示したときは、問答無用で切り捨てたりしないのよね。
0136デフォルトの名無しさんNGNG
>>127
使ってるコンパイラは何?VC6ならそれでうまくいくんだけど、
g++だと>>129の言うようにしないとだめ。

for文の()内のスコープがコンパイラによって違う。
このへんの話しはKusakabeちゃんが大好きな話しだよね。
素直に話しちゃくれないだろうけど。

話し。
0137デフォルトの名無しさんNGNG
>>133
やす君はクビですか?
0138デフォルトの名無しさんNGNG
age推奨
0139Kusakabe YouichiNGNG
In article >>136, デフォルトの名無しさん/sage/136 wrote:
> for文の()内のスコープがコンパイラによって違う。

標準規格に適合しているかどうかの問題でしょ?

> このへんの話しはKusakabeちゃんが大好きな話しだよね。

はなしし?
0140デフォルトの名無しさんNGNG
「話し」は「話す」の連用形です。連用形は単独で名詞的に使われますね。
0141Kusakabe YouichiNGNG
In article >>140, デフォルトの名無しさん/sage/140 wrote:

> 「話し」は「話す」の連用形です。連用形は単独で名詞的に使われますね。

連用形と名詞は別箇ですよ。
(連用形が名詞化したものは多いですが)
0142デフォルトの名無しさんNGNG
>>133
あれだけfloatにしろって言われたのに友達の先輩から
言われるまで頑なに拒み続けた電波科の人。何しにこのスレに来たのか?
0143デフォルトの名無しさんNGNG
>>142
 説明不足が悪い。
 floatにして、floatのままprintfで表示することが大切だが、そこまで説明
してなかったから。floatにして、intにキャストしてたら結果は一緒だよ。
0144名前なしNGNG
初めて書き込みします。
JAVAで二分探索木を作りたいんですが
ポインタがないジャバでノードとパスをどのようにすればいいんでしょうか?
そのようなクラスとかメソッドがあるんでしょうか?
0145デフォルトの名無しさんNGNG
>>144
次の人のインスタンスを自分自身のメンバに持っちゃうクラスを作る
0146デフォルトの名無しさんNGNG
>>144
TreeMap
というそのものズバリがあることはあるが
ご要望に添えるかどうかは仕様を見て自分で判断してくれ。
http://java.sun.com/products/jdk/1.2/ja/docs/ja/api/java/util/TreeMap.html
JDKにはソースもたぶんついてくるからそれを見て参考にするのもよし。

Javaにポインタが無いといっても「参照」と呼ばれる物は
制限付きのポインタと思ってもほぼ間違いないものなので
LinkListやTreeもちゃんと作れるよ。
0147怜NGNG
>>144
Javaのクラスを表す変数は気分的には全てポインタと思ってもらって構わないよ。
ポインタがないというより、ポインタしかないと言うべきかな。
c++とか知ってると少し混乱するかも。コピーコンストラクタとかないからね。
intとかdoubleとかの基本型はまた別。
0148デフォルトの名無しさんNGNG
初歩的なことで悩んでいるのですが・・・・
ルンゲクッタで数値計算するときに、
double x1[100][720]のように配列を指定すると実行できるのですが、
double x1[50][7200]にすると実行できなくなります。

同じようなソースで、double x1[150][1200],x2[150][1200]ですると動きます。
配列:50*7200=360000、150*1200*2=360000なので
メモリーに問題は無い気がするのですが、どうなんでしょうか?
上手く実行する方法ないでしょうか?
メモリーを節約する方法とかないでしょうか?
お願いします。
0149デフォルトの名無しさんNGNG
>148
スタックが不足してる、コンパイラのHELP見てスタックを広げるか
constにしちゃえ、或いは*x1[50]としてmallocするか
ルンゲクッタはちょっと勘弁 w
0150デフォルトの名無しさんNGNG
あ、変な事言ってる、逝って来ます
0151デフォルトの名無しさんNGNG
点を配置して3次元に図をプログラムで書くとき、
ただの丸(Z軸は考えない)は(sin(x),cos(x),0)のxを変えて書けたんですが、
Z軸が入る球はどうすればよいのでしょうか・・・?
なんか頭がこんがらがってきました。
ちなみにC++です。
0152デフォルトの名無しさんNGNG
>>148
149の言うようにヒープから確保すればよい。
0153デフォルトの名無しさんNGNG
>>151
何が問題?
一次変換、投影、陰線処理などは解決済?
0154デフォルトの名無しさんNGNG
>>144
配列のインデックスをポインタ代わりに使うってのも楽かもしれない
0155デフォルトの名無しさんNGNG
球の方程式がわからないってこと?
0156デフォルトの名無しさんNGNG
x=sinθ cosφ
y=sinθ sinφ
z=cosθ
0157148NGNG
>>149,152様ありがとうございます。
調べてやってみます。
0158デフォルトの名無しさんNGNG
double x[50][50]の配列設定で
関数f1が→double型で f1= exp(1/x[k][i])で表現できる時、
main文の前に

double f1(double x)
{
return();
}
のように宣言したいのですが、

double f1(double x[50][50])
{
return(exp(1/x[k][i]);
}
にするとコンパイルできません。
配列を使って宣言する方法を教えて下さい。
ちなみにmain文の中に、
double f1とf1= exp(1/x[k][i])をいれると動きます。
0159デフォルトの名無しさんNGNG
>>158
mainからはどういうカタチで呼び出したいのかも書いてくれ。
0160デフォルトの名無しさんNGNG
>>158
kとiを受け取っていないからじゃないか?
0161デフォルトの名無しさんNGNG
こういうこと?

double f1(double x)
{
return exp(1/x);
}

main()
{
double x[50][50];
double ans;
int k,i;
ans = f1(a[k][i]);
}
0162訂正NGNG
誤 ans = f1(a[k][i]);
正 ans = f1(x[k][i]);
0163デフォルトの名無しさんNGNG
>>158
double f1(double (*x)[50])
{
return exp(1/x[k][i]);
}

そりゃー、全角のカッコ使ったりカッコの数が合ってなかったりしたら、
コンパイルは通らん罠。
0164デフォルトの名無しさんNGNG
>>161
やらせたいことを具体的に数式で表現してくれ
0165161NGNG
俺は質問者じゃない。
0166デフォルトの名無しさんNGNG
double f1(double x[50][50], int k, int i)
{
return (1/x[k][i]);
}

main(){
double x[50][50];
double ans;
int k,i;
k = hogehoge1(); // 1次元の配列番号決定処理
i = hogehoge2(); // 2次元の配列番号決定処理
ans = f1(x, k, i);
}

こういうことをしたいのかな?
へんなプログラムだけど。
0167161NGNG
それだったら、>>161とおんなじだよな。
0168166NGNG
>>167
そうなんだけど、>>158にあるのは
>double f1(double x[50][50])
>{
>return(exp(1/x[k][i]);
>}
だから、無理に合わせてみました。
0169164NGNG
>>161
ごめん。
どう見ても通らなそうだったから、つい。
0170デフォルトの名無しさんNGNG
皆様ありがとうございます。
遅くなって申し訳ありません。
実際の概略はこんな感じです。

void ans(x[50][50],y[50][50])
{double k1;double k2;double k3;double k4;
k1=exp(1/x[k][i]);
k2=exp(1/(x[k][i]+k1/2);
k3=exp(1/(x[k][i]+k2/2);
k4=exp(1/(x[k][i]+k3);
y[k][i+1]=y[k][i]+(k1+k2+k3+k4)/6;
}

main()
{
double x[50][50],y[50][50],z[50][50];
int k,i,a;
a=3;

for(k=0;k<50;++k){
x[0][0]=0;
y[k][0]=1;
for(i=0;i<50;++k){
ans(x,y);
z[k][i]=10*y[k][i];
}
x[k+1][i]=x[k][i]+a*z[k][i];
}
}

これを
double f(double x[50][50])
{
return(exp/(x1[k][i]));
}

void ans(x[50][50],y[50][50])
{double k1(double x[50][50]);double k2(double x[50][50]);
double k3(double x[50][50]);double k4(double x[50][50]);
k1=f(x[k][i]);
k2=f(x[k][i]+k1/2);
k3=f(x[k][i]+k2/2);
k4=f(x[k][i]+k3);
y[k][i+1]=y[k][i]+(k1+k2+k3+k4)/6;
}
main()
double x[50][50],y[50][50],z[50][50];
int k,i,a;

のように書きなおしたいのですが、できませんでした。
実際はもっと代入する式が多いので、f=exp(1/x[k][i])を
k1,k2,k3,に代入しない形にしたいのです。
何かよい方法ないでしょうか?
0171デフォルトの名無しさんNGNG
>>170
全部グローバル変数にしなさい
0172デフォルトの名無しさんNGNG
もとのコードがまず動かない。
どうせルンゲ-クッタだろ?

本にかいてある通りに書き写しなさい。
0173166NGNG
>>170
>k1,k2,k3,に代入しない形にしたいのです

概略のソース見る限りでは再帰呼び出しで解決しそうだけど。
0174デフォルトの名無しさんNGNG
>>172
ルンゲです。ここに書いたのは概略だったので、動かないと思います。
申し訳ないです。
0175デフォルトの名無しさんNGNG
#include <stdio.h>

void main(){
char s[100],m[100];
scanf("%s",s);
gets(m);
printf("%s\n%s\n",s);
}

でgetsが飛ばされて実行される理由は何ですか?
0176デフォルトの名無しさんNGNG
あ、最後の間違い
printf("%s\n%s\n",s,m);
です
0177デフォルトの名無しさんNGNG
>>175
入力バッファに'\n'が残っていてgets()はそれを取ってきてしまう。
対処法はgets()のまえにffluch(stdin);

これって宿題なのか?
0178デフォルトの名無しさんNGNG
man gets↓

バグ
gets() は絶対に使用してはならない。データを知ることなし に
gets() が何文字読むかを先に知る事はできず、 gets() がバッ
ファの終りを越えて書き込み続けるため、使用は大変危険 で あ
る。この事はコンピュータのセキュリティを破るのに使われてき
た。代わりに fgets() を使うこと。
0179デフォルトの名無しさんNGNG
>>177
折れんとこそれ駄目だったよ(gcc on Linux)?


#include <stdio.h>

int main()
{
char s1[100], s2[100]; /* ←名前が悪いから176みたいなことになる */

scanf("%s\n", s1); /* ←こうすればよい */
fgets(s2, sizeof(s2), stdin); /* ←178参照 */

printf("%s\n", s1);
printf("%s\n", s2);

return 0;
}
0180デフォルトの名無しさんNGNG
>>179
ダメって fflush 使ってもちゃんと動かなかったって話?
ffluch (c じゃないだろ) が無いとかいう話?
0181デフォルトの名無しさんNGNG
fflushってパイプとかの時結構コケルんじゃ無かったかな(うろ覚え)
# と言うかスペル間違えてるよー (^ ^;
0182179NGNG
$./a.out[RET]
first_str[RET]
firat_str


$

↑聞きやがらねぇ
0183デフォルトの名無しさんNGNG
fgetsを二つ続けて、sscanfや、strtolすれば済む話では?
0184デフォルトの名無しさんNGNG
>>177
読み込み用にオープンされたFILEに対するfflush()の動作は、
未定義じゃなかったか。
たまたまペンディングされたデータを捨てる処理系もあるが。

>>179
glibcにはfpurge()というのがあるが、Linuxではサポートされ
てないと書いてあるな。
0185デフォルトの名無しさんNGNG
えふふらっちage
0186177NGNG
>184
>未定義
あっ、そうだったんすか…

>185
iyan...
0187デフォルトの名無しさんNGNG
宿題age
>>177
http://www.freebsd.org/cgi/man.cgi?query=fflush&apropos=0&sektion=0&manpath=FreeBSD+4.4-RELEASE&format=html
を見てfflushの機能についてレポート提出の事。
0188デフォルトの名無しさんNGNG
ここって、宿題に答えてもらえるんではなく、
宿題を出されるスレだたのか!(((( ;゚Д゚)))ガクガクブルブル
0189デフォルトの名無しさんNGNG
ルンゲの子はもうどうでもよくなったのか?
0190177NGNG
>>187
fflush はバッファの中を消すのでなく (消すのは fpurge)
行使 (変な表現ですが…) するのですね。
しかし、行使するにあたって、出力用バッファは書き出すところが決まっているのに対し、
入力用バッファは書き出す (というか受け取る) ところが決まってないので、
入力用バッファは行使 (fflush を適用) されるべきものではない。

みたいな感じでしょか?
0191177NGNG
って入力用に関する話でなく fflush の機能にレポートか…

fflush は入出力にあたってバッファリングされているもので
宛先が決まっているもの (つまり出力用ストリーム) を行使する。

fflush に出力用にオープンされたストリーム (FILE*型) を渡すと
そのストリームのバッファを書き出し、
NULL が渡されると、すべての出力用ストリームのバッファを書き出す。

以上、こんなかんじで勘弁して下さい。
0192名無しさんNGNG
以下の級数Srを計算する関数sr(r)を定義し、sr(10)を計算し、出力するプログラムを作成せよ。
[for文 関数文を使用する事]

Sr=1/(1・2)+1/(2・3)+1/(3・4)+・・・・+1/{r・(r+1)}

注意:上記の級数はr→∞で1に収束する。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

っつー問題が出されたんですけど、プログラム知識ない状態で授業とったんで
何がなんだかサッパリ判りません。
やってもらえませんか。
0193デフォルトの名無しさんNGNG
>>192
int sr(int r)
{
double n = 0.0;
int i = 0;
start:
n += 1/(double)r*(r+1);
i = i +1;
if (i < r) goto start;
}
0194デフォルトの名無しさんNGNG
>>192
float sr(int n)
{
float r ;
r=1-1/(n+1.0) ;
for(;0;) ;
return r ;
}
0195デフォルトの名無しさんNGNG
日曜日は、やさしい人は休みか。
0196怜NGNG
>>192
>>1に書いたけど、丸投げすると怒っちゃうよ。
 判らないからやって、じゃなくて、解ろうと努力したんだけどこの辺
がわからないとかどういう部分で詰まってるかとかを書いて頑張ってる
姿勢みせてくれないと、チョット教えてあげる気にならないなぁ。
0197名無しさんNGNG
>>196
すいません
だけど、判ろうとして全部解らなかったんで丸投げしちゃいました。
0198怜NGNG
>>197
授業はちゃんと出てたの?
0199デフォルトの名無しさんNGNG
>>192
まずは先生に「"関数文"って何ですか?」って聞くことが先決だな。
0200デフォルトの名無しさんNGNG
200ゲトー
ずさささーーー
0201デフォルトの名無しさんNGNG
>>192
これでどうよ?

#include <stdio.h>
double sr(int n){return n?sr(n-1)+1.0/(n*(n+1)):0;}
int main(void){printf("%f\n",sr(10));return 0;}
0202デフォルトの名無しさんNGNG
fflush(my_brain);
0203怜NGNG
怜ちゃんぶつじょーーー
0204理奈NGNG
■ポインタを使って配列の各要素を0に設定するプログラムを書きなさい。
と出題されました。
今週の宿題のラスト一問なのです。他は出来たのですが、
一日中Cプログラムの本調べてたんですけど 最後のきてもう頭が回りません。
よろしければお願いします。すみません。
0205デフォルトの名無しさんNGNG
#define SIZE 256
main()
{
int a[SIZE];
int *p = a;
memset(p,0,sizeof(int)*SIZE);
}
0206201NGNG
しもたー、for文使ってなかったー。
んで、修正。

#include <stdio.h>
double sr(int n){return n?sr(n-1)+1.0/(n*(n+1)):0;}
int main(void){int i;for(i=0;i<1;i++)printf("%f\n",sr(10));return 0;}
0207デフォルトの名無しさんNGNG
>>204
まあポインタを使えっていう要求をそのままとれば、
>>205のmemsetのところを
for(int n = 0; n < SIZE; n++) *(p++) = 0;
みたくすれば。
0208205NGNG
なんでよー、
ちゃんとポインタつかってるじゃんよーー
0209デフォルトの名無しさんNGNG
>>208
配列の要素の型が float だったらどうするの?
0210美咲キティーNGNG
文字列tを文字列sの後ろにコピーする関数strcat2(s,t)を、ポインタを使って定義しなさい。
ごめんなさい、投げてます。
よろしければお願いします。
0211デフォルトの名無しさんNGNG
>>211
void strcat2(char* s, const char* t)
{
memcpy(s+strlen(s), t, strlen(t));
}

sは十分なメモリ領域を指しているものとする(ゲラ
またsとtが指す領域は重なっていないものとする(ゲラゲラ


> ごめんなさい、投げてます。
あやまる前に、自分で少しは考えてみたら?

> よろしければお願いします。
いやです。(私が書いたことを逆説的にとらえれば、何すべきか分かる筈)
0212デフォルトの名無しさんNGNG
>210
別解
#include <string.h>
char* strcat2(char* s, const char* t)
{
char* (* pointer)(char * dst, const char * src);
pointer = strcat;
return (*pointer)(s, t);
}
0213デフォルトの名無しさんNGNG
>>211
自分に突っ込んでるよオイ…
もちろん、211で突っ込んだのは美咲キティーチャソに、です
0214デフォルトの名無しさんNGNG
>>209
IEEE754なら0なので正しい。
0215デフォルトの名無しさんNGNG
>>211-212
もう少し気の利いた回答の仕方を勉強しれ。
この文章、君の普段の行動パターンが目に浮かぶようで非常に痛いよ・・・
0216理奈NGNG
205 207 208 209 214様。
返信有難うございます。速くてビックリしています。
おかげで提出課題がお全て終わりました。
他にもここのページを見ている大学の仲間(残り組み)も助かったと思います
いや、わたしだけかな。。。
なにより本当に有難うございました。
0217デフォルトの名無しさんNGNG
しっかしわざわざ金を払って仕事をしょいこんでくるとはキモイ連中だな。
0218211NGNG
>>215
212は私ではないよ。
努力を放棄して人に迷惑をかけて平然とするやからには、
普段でも同様の対応をします。
それを痛いと言われれば、それまでです。
0219デフォルトの名無しさんNGNG
まったく持って歯が立たないのです。調べたところでヒントも見つけ切れません。
ほんのちょっとしたヒントでも何でもかまいませんので返信下さい。
文字列s1の文字のうち、s2にある文字と同じ文字を全て取り去る関数squeeze(s1,s2)を作りなさい
0220デフォルトの名無しさんNGNG
>>192

double Sr(int r) /* わざと一ヶ所バグを仕込んである */
{
double n;
double sum=0.0;

if (r<=0) /* 引数が自然数でない場合は0.0を返す */
return 0.0;

for (n=1.0; n<=(double)r; n+=1.0)
sum+=1.0/n*(n+1.0); /* (*´Д`*)ハァハァ... */

return sum;
}
0221デフォルトの名無しさんNGNG
質問者はせめて言語を明記すれ
(特にまる投げ)
0222デフォルトの名無しさんNGNG
まったく持って歯が立たないのです。調べたところでヒントも見つけ切れませんでした。
ほんのちょっとしたヒントでも何でもかまいませんので返信下さい。
文字列s1の文字のうち、s2にある文字と同じ文字を全て取り去る関数squeeze(s1,s2)を作りなさい
すみませんC言語です。
0223デフォルトの名無しさんNGNG
ASCII、MBCSは無視。あと、微妙に仕様と違うかもな。

wchar_t *squeez( const wchar_t *s, const wchar_t *excl)
{
 wchar_t *ret = (wchar_t*) malloc( wcslen(s) + 1 );
 wchar_t *p = ret;
 for( int i=0; i<wcslen(s); i++ )
 {
  if( wcschr(excl, s[i] ) )
   continue;
  *p++ = s[i];
 }
 *p=0;
 return ret;
}
0224デフォルトの名無しさんNGNG
ヒント1:ループ
0225211NGNG
>>219
なんだかなぁ…
> まったく持って歯が立たないのです。
弱い歯ですね:)

> 文字列s1の文字のうち、s2にある文字と同じ文字を全て取り去る関数squeeze(s1,s2)を作りなさい
ゴメン、愚痴らせてくれ。
なんで命令口調?
問題丸投げどころか、“問題文”をコピペですか:)

とか言いたくなりません?

sub squeeze {
my($s1, $s2) = @_;
$s1 =~ s/$s2//g;
return $s1;
}
0226デフォルトの名無しさん NGNG
while (s2[i] != '\0')
  for (j=0; s1[j] != '\0'; j++)
    if (s1[j] == s2[i])
      s1[j] = s1[j+1];j--;

こんな感じ?
0227222NGNG
もうしわけありません。私の無礼をお許し下さい。
今後は特に注意します。
その上の御返答まことに有難うございます。
0228デフォルトの名無しさんNGNG
まあ頑張ってくれ、そう言うのは最初に冗長なやり方で
体当たりすれば何とかなるよ
0229デフォルトの名無しさんNGNG
function squeeze(s1, s2: string): string;
var
 I: Integer;
begin
 Result := '';
 for I := 1 to Length(s1) do
  if Pos(s1[I], s2) = 0 then
   Result := Result + s1[I];
end;
0230デフォルトの名無しさんNGNG
板住人たちによる質問者苛めが始まった!!(w
0231デフォルトの名無しさんNGNG
文字列s1の文字のうち、s2にある文字と同じ文字を全て取り去る関数squeeze(s1,s2)をお願いします。
私はわからないなりにこう考えてみました。
char squeez(char s1[],char s2[],int a,int b){
int i,j;
for(i=0;i<a+1;i++){
for(j=0;j<b+1;j++){
if(s1[i]=s2[j])
s1[i]=0;
}
}return(s1[256]);
}

しかし、指定した消す文字の後ろから全部が消えてしまうのです。。。
0232デフォルトの名無しさんNGNG
そりゃそうだ。文字列は0までだからな
0233デフォルトの名無しさんNGNG
>>231
s1[i]=0
を
s1[i]=0x20
にしたらどぉ?
0234デフォルトの名無しさんNGNG
>>230
割礼(洗礼)です。
0235デフォルトの名無しさんNGNG
>>231の文章を見るかぎりでは、
s2[]="abc"のとき、s1[]のなかのa, b, cを個別に消したいんじゃないのか?
それはこの関数を使えば実現できる(指摘されていることを正しくあらためれば)。

#include <string.h>
char *strpbrk(const char *s1, const char *s2);

あと、「消す」というのは、s2="abc"のときに

"Kusakabe Youichi" → "Kus k e Youi hi"
なのか
"Kusakabe Youichi" → "Kuske Youihi"
なのかはっきりさせるべきだ。
0236デフォルトの名無しさんNGNG
int sqeeze(char *s1, const char *s2)
{
  int i,j,k,flag;
  char *tmp;
  printf("%sから%sに含まれる文字を削除します\n",s1,s2);
  i = 0;
  k = 0;
  if ((tmp=(char *)malloc(strlen(s1)+1))==NULL){
    printf("メモリの確保に失敗\n");
    exit (0);
  }
  while (s1[i] != '\0'){
    flag = 0;
    for (j=0; s2[j] != '\0'; j++){
      if (s1[i] == s2[j]){
        flag = 1;
      }
    }
    if (!flag) {
      tmp[k] = s1[i];
      k++;
    }
    i++;
  }
  tmp[k] = '\0';
  strcpy(s1,tmp);
}
ダサいdeath、tmp使わないやり方教えてください。。。
0237231NGNG
s2が"下"のときに、
"日下部"を"日部"にしたいんです。
文字コードはISO-2022-JPとUTF-8でお願いします。。。
0238デフォルトの名無しさんNGNG
>"Kusakabe Youichi" → "Kus k e Youi hi"
これは空白への置換になるから後の方で良いんじゃないかな
つーか答え出てるな
0239デフォルトの名無しさんNGNG
>>237 氏ね! て言うかちょっとウケタよ
0240デフォルトの名無しさんNGNG
>>236
memmove(3)
0241デフォルトの名無しさんNGNG
>>236
tmp = s1;
でいい。
0242カオリネコNGNG
Cソースプログラムから全てのコメントを取り去るプログラムを作くってくれる方お願いします。
0243Kusakabe YouichiNGNG
In article >>242, カオリネコ/242 wrote:

> Cソースプログラムから全てのコメントを取り去るプログラムを作くってくれる方
> お願いします。

自分でつくりましょう。
案外簡単だし、ちょうどいい練習になりますよ。

" " の中みたり \ を処理したり、
#defineの中にあったらどうするか、とか。
最初のうちは
なかなか「完全」なものが作れなくて、
しばらく練習になるでしょう。
(機能的には同じ程度の完成度でも(たとえば8割り程度)、やりかたによって
コードがすごく複雑になったり簡単になったり、おもしろいですよ)

でも、100%の完成度を求めると一般性を持たせたCのparserまでかくはめになるでしょうね。
0244デフォルトの名無しさんNGNG
> (たとえば8割り程度)
8わりり?
0245デフォルトの名無しさんNGNG
>>244
そっとしておいてあげなさい。
久々に自分でも回答できそうなネタがあったので、
嬉々として慣れない長文を書いているのですから…
0246Kusakabe YouichiNGNG
In article >>245, デフォルトの名無しさん/sage/245 wrote:
> そっとしておいてあげなさい。
> 久々に自分でも回答できそうなネタがあったので、
> 嬉々として慣れない長文を書いている

「ということにしたい」が抜けてますよ :)
0247カオリネコNGNG
> Cソースプログラムから全てのコメントを取り去るプログラムを作くってくれる方
> お願いします。
自分のプログラムですが。。。
char reverse(chaq *c){
int count=0;
int i;
char *s;
char t[count];
while(*c!=0x20){
t[count]=*c;
count++;
*c++;
}
for(i=count;i>0;i--)*s=t[i-1];
return(0);
}
ってかんがえたんだけど。
*cは文字列がはいっています。
エラーがでてしまってダメです。。。
どなたかお願いします。
0248デフォルトの名無しさんNGNG
コメントって云うのはスペースの事?
0249デフォルトの名無しさんNGNG
>>247
重傷ですね。
0250デフォルトの名無しさんNGNG
ネタ疑惑93パーセント(w
0251Kusakabe YouichiNGNG
In article >>249, デフォルトの名無しさん/sage/249 wrote:
> 重傷ですね。

ケガなのですね?
0252デフォルトの名無しさんNGNG
Kusakabe Youichi は受け売りだと思うからそっとしてあげて。
完全版は自分も作れなくていま様子うかがってるとことよ
0253デフォルトの名無しさんNGNG
>>251
先生、避難スレでみんな待ってるんですから
こんなところで油を売らずに早く来てください。
0254デフォルトの名無しさんNGNG
>>253
プ。
来てほしくないから避難してるんじゃなかったのか。バーヤ
0255カオリネコNGNG
>>248
Cソースプログラムから全てのコメントを取り去るプログラムを作くってくれる方
お願いします
*コメントはプログラムの説明で\*〜*\で区切られている部分です。
0256デフォルトの名無しさんNGNG
>>236
こういう考えもあるよ。リングバッファの応用。読み込みポインタと書き込みポインタ。

void sqeeze(char *s1, const char *s2)
{
  char *pw, *pr;
 
  pw = pr = s1;
 
  while(*pr){
    if(strchr(s2, *pr) == NULL)
      *pw++ = *pr;
    pr++;
  }
 
  *pw = '\0';
}
0257デフォルトの名無しさんNGNG
>*コメントはプログラムの説明で\*〜*\で区切られている部分です。
の意味がわからないわ。
0258デフォルトの名無しさんNGNG
/*〜*/の間違いに決まっている。
0259デフォルトの名無しさんNGNG
>>257
おそらく /* 〜 */ と言いたいのでしょう。
バックスラッシュの \ とスラッシュの / を勘違いしていると思われ。
0260カオリネコNGNG
char reverse(chaq *c){
int count=0;
int i;
char *s;
char t[count];
while(*c!=0x20){
t[count]=*c;
count++;
*c++;
}
for(i=count;i>0;i--)*s=t[i-1];
return(*s);
}
まで出来たんですけど。。。エラーはまだ。。。
0261デフォルトの名無しさんNGNG
なんでreverseなんだ。何か勘違いをしてないか?
0262カオリネコNGNG
>>257
おっしゃるとおりです。m(__)m
0263カオリネコNGNG
訂正です。>>259
おっしゃるとおりです。m(__)m
0264デフォルトの名無しさんNGNG
chaqって何ですか?
0265デフォルトの名無しさんNGNG
むぅ、コメント以外を取り除いてはいけないとは書いてないので、
全部取り除けばOK.
0266デフォルトの名無しさんNGNG
>>264
char。。。
0267236NGNG
素晴らしい! って俺質問者では無いですけど (^^;
>>256さん、有難う。きっとこれが模範解答でしょうね。
こう言うのを見るとポインタって良いなぁと思ってしまいます。
>カオリネコ
Perlじゃ駄目なの? ^^
0268カオリネコNGNG
この際何でもよろしいです。お願いします。
0269デフォルトの名無しさんNGNG
プリコンパイラに通せば全部空白になりませんでしたか?
0270デフォルトの名無しさんNGNG
そのかわりヘッダも展開される。
0271デフォルトの名無しさん NGNG
カオリネコ たんはオナニーとかするの?
第一弾
#!/usr/local/bin/perl
use strict;
open (SRC,"hoge.c");
0272デフォルトの名無しさんNGNG
>>268
駄目。 無理。 面倒。
0273デフォルトの名無しさんNGNG
カオリネコたん(´д`;) ハァハァ
http://www.google.com/search?sourceid=navclient&q=C+%83%5C%81%5B%83X+%83R%83%81%83%93%83g+%8D%ED%8F%9C
0274デフォルトの名無しさんNGNG
> でも、100%の完成度を求めると一般性を持たせたCのparserまでかくはめになるでしょうね。
cppのparser程度で充分と思われ。
0275デフォルトの名無しさんNGNG
そいや、えぴすてーめーが、Cマガで、それ作ってなかな〜とか思って調べると。
http://www.s34.co.jp/cpptechdoc/misc/smc/smc_j.html
こんなところが。
0276カオリネコNGNG
>>275
最高〜☆
0277怜NGNG
 おはよう、昨晩は質問がいっぱいだったみたいね。で、ちょっと、
丸投げクンに一言。
宿題って出す方としても、全員が自力で解けるなんては思ってないわ。
だから、人が書いたソースを参考に自分も書くっていうのは許容され
る範囲ね。でも、せめてそこで人のを参考に書き直す際に何をやって
るかくらいは理解して欲しいの。これが最低限要求することかな。
 だから、ここで答え聞いてソースを書いてもらったら、それが何を
やっているかくらいは理解して欲しい。全く解ってない人には、それ
を見ても何をやっているか理解できるわけないから、教えてもしょう
がないと思ってしまうのよね。最低限、答え教えてもらったら、そこ
で何をやっているかは理解できるくらいにはなってから質問して欲し
いなって、こと。みんなキミタチのこと思って冷たくあしらってるん
だから、その辺のこと理解してね。
0278Kusakabe YouichiNGNG
In article >>252, デフォルトの名無しさん/sage/252 wrote:

> Kusakabe Youichi は受け売りだと思うからそっとしてあげて。

「と思いたい」のですね? :)

> 完全版は自分も作れなくていま様子うかがってるとことよ

そう思いたいのですね? :)
0279Kusakabe YouichiNGNG
In article >>253, デフォルトの名無しさん/sage/253 wrote:
> 先生、避難スレでみんな待ってるんですから
> こんなところで油を売らずに早く来てください。

書いてもいいのですか? :)
(だれかダメだって言ってたような)
0280Kusakabe YouichiNGNG
In article >>255, カオリネコ/255 wrote:
> *コメントはプログラムの説明で\*〜*\で区切られている部分です。

変わったコメントですね。
0281Kusakabe YouichiNGNG
In article >>269, デフォルトの名無しさん/sage/269 wrote:

> プリコンパイラに通せば全部空白になりませんでしたか?

そういうコンパラーもありますね(第1フェイズで全部とりのぞく)、
でもそういうのはごく少数ですよ。
0282Kusakabe YouichiNGNG
In article >>274, デフォルトの名無しさん/sage/274 wrote:

> > でも、100%の完成度を求めると一般性を持たせたCのparserまでかくはめになるでしょうね。
> cppのparser程度で充分と思われ。

同じことでしょう。
0283デフォルトの名無しさんNGNG
>>279
 じゃあ、このスレにも書いちゃダメって言えば今後書かないでいて
くれますか?
0284デフォルトの名無しさんNGNG
>>281
コンパラーとかプリコンパイラってのははつみみだが、
通常のCプリプロセッサは、デフォルトの動作としてコメントを取り除く。
極めて古いものだと空白も入れないかも知れない。
0285Kusakabe YouichiNGNG
In article >>283, デフォルトの名無しさん/sage/283 wrote:
> じゃあ、このスレにも書いちゃダメって言えば今後書かないでいて

では向こうには書いていいのですか? それは保証してくれます?
0286Kusakabe YouichiNGNG
In article >>284, デフォルトの名無しさん/sage/284 wrote:
> 通常のCプリプロセッサは、デフォルトの動作としてコメントを取り除く。

プリプロセッサーが別パスになっているものはいまどき少数派ですよね。
0287デフォルトの名無しさんNGNG
>では向こうには書いていいのですか? それは保証してくれます?
保証するから出てって!!!
0288デフォルトの名無しさんNGNG
>>286
> > 通常のCプリプロセッサは、デフォルトの動作としてコメントを取り除く。
>
> プリプロセッサーが別パスになっているものはいまどき少数派ですよね。

プリプロセッサがコメントを取り除くことと、プリプロセッサが別パスに
なっているかどうかということに何の関係があるんでしょうか。
0289Kusakabe YouichiNGNG
In article >>288, デフォルトの名無しさん/sage/288 wrote:
> > プリプロセッサーが別パスになっているものはいまどき少数派ですよね。
>
> プリプロセッサがコメントを取り除くことと、プリプロセッサが別パスに
> なっているかどうかということに何の関係があるんでしょうか。

何か関係があるとだれか言ったのですか?
0290仕様書無しさんNGNG
>>288
だからジジイの相手すんなって な。
0291仕様書無しさんNGNG
>288 冬厨は放置だよぃ
0292284NGNG
>>288
たぶんほとんどの処理系では、プリプロセスは独立したパスになってると思う。
独立したプログラムになっていないものもあるかも知れないが。
0293竹村さんNGNG
今数の√をもとめたいんですけど
Sqrt 関数をつかえない状況なんです。
これを使わずに求める方法ありませんかね?
たとえばルート2 とか3とか・・・
0294デフォルトの名無しさんNGNG
>>293
ニュートン法か
筆算と同じ方法でやればいんじゃない?
俺は忘れたけど(笑)
0295竹村さんNGNG
いや・・ニュートン方とかそんな高度なことはできないので・・
筆算ってどうやるんですか?
0296デフォルトの名無しさんNGNG
>>295
キーワード教えてもらったら、とりあえず検索してみなよ。
0297竹村さんNGNG
うむ。
0298デフォルトの名無しさんNGNG
>>293
> Sqrt 関数をつかえない状況なんです。
他に何か縛り(使えない関数)はありますか?
そもそも対象言語は何ですか?

> いや・・ニュートン方とかそんな高度なことはできないので・・
あなたにはできなくてもサンプル探してくれば、
賢いコンピータちゃんが計算してくれます。
294さんがキーワードくれたんだから、まずは調べてみては?
ちなみに“ニュートン方”で検索しても中々見つからないかもしれません。
“ニュートン法”で“平方根”を求めるんでしょ?
0299デフォルトの名無しさんNGNG
あら、ニュートン法でgoogleで検索したら、4つめにそのものずばりが載ってた。
0300筆算てーと。NGNG
   1 4  1  4
1 √2 00 00 00
1  1
24  1 00
04   96
281   4 00
001   2 81
2824  1 19 00
0004  1 12 96
2828    6 04
こんなかんじだったかな。
まぁ、x*x - n = 0をニュートン法で解く方が早いな。
0301竹村さんNGNG
いや。やっぱりニュートン方とか使うと写したってばれるので(文系だし
おとなしく電卓でやっときます。・・
レスありがとう。
0302デフォルトの名無しさんNGNG
ニュートン法ってゆー名前がついてる、ってことは、ニュートンがめっけたんだ。
つまり、300年前にガイシュツってこと。
>>295 は大至急、タイムマシンにのって300年前のイギリスに逝って直接ニュートンに質問してこい。
ついでに「りんごが落ちたのは万有引力のせいですよ」って教えてやれ。
0303デフォルトの名無しさんNGNG
条件がsqrt()を使わないことなんだったら exp(log(x) * 0.5) でいいんじゃないの?
0304デフォルトの名無しさんNGNG
>>301
電卓でやるってどういうことよ・・・
0305デフォルトの名無しさんNGNG
電卓?
0306デフォルトの名無しさんNGNG
>>304
あらかじめ計算して、定数をコードに書いておくのかな?
0307デフォルトの名無しさんNGNG
ルート8を求めたいときに
3*3=9だから
3より小さいだろう
2*2=4だから
2より大きいだろう
以下同様
ってやつじゃないの
0308デフォルトの名無しさんNGNG
それなら0.0000から0.0001づつあげていって、2乗値が7.9995〜8.0001の間に入ったらOKってやればいいね。
0309デフォルトの名無しさんNGNG
ちゃうちゃう二分法がはやい。
0310デフォルトの名無しさんNGNG
まあ、それを高速にやるのがニュートン法ってことで。
0311デフォルトの名無しさんNGNG
休日age
0312デフォルトの名無しさんNGNG
配列の文字列を昇順にソートするやつなんですが、segmentation faultが
でます。よろしくお願いします。
#include<stdio.h>

void qsort(char v[],int left,int right);

main()
{
char *data[]={"zbr","uuuuu","sa","ki","niino","aaa"};
int i;

for(i=0;i<5;i++){
printf("%s\n",data[i]);
}
qsort(*data,0,5);
for(i=0;i<5;i++){
printf("%s\n",data[i]);
}
}
void qsort(char v[],int left,int right)
{
int i,last;
void swap(char v[],int i,int j);

if(left >=right) return;
swap(v,left,(left+right)/2);
last=left;
for(i=left+1;i<=right;i++){
if(v[i]<v[left]) swap(v,++last,i);
}
swap(v,left,last);
qsort(v,left,last-1);
qsort(v,last+1,right);
}
void swap(char v[],int i,int j)
{
char *temp;

*temp=v[i];
v[i]=v[j];
v[j]=*temp;
}
0313デフォルトの名無しさんNGNG
>>312
segmentation faultが出る以前に、swapでコンパイルエラーに
ならないか?
0314312NGNG
>>313
いや、いちおうgccはとおるんですが。どこが間違ってるんですかね?
0315デフォルトの名無しさんNGNG
>>312 vって?
0316313NGNG
あ、すまん。
エラーにはならないね。
でも、文字列の交換にはなってないね。
0317デフォルトの名無しさんNGNG
swapで文字リテラルを書き換えてるのが原因かな?
0318デフォルトの名無しさんNGNG
void swap(char v[],int i,int j)
{
char temp;

temp=v[i];
v[i]=v[j];
v[j]=temp;
}
0319デフォルトの名無しさんNGNG
>>318
あぁ、ごめん間違えたわ。swap だけ見てた。
とにかく、

void swap(char v[],int i,int j)
{
char *temp;

*temp=v[i];
v[i]=v[j];
v[j]=*temp;
}

これだと、未初期化の temp が指す場所に v[i] を代入して
segmentation fault になるとだけ言っておく。
0320318=319NGNG
基本からしっかりやり直した方がいいよ。

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

void qsort(char* v[],int left,int right);

main()
{
char *data[]={"zbr","uuuuu","sa","ki","niino","aaa"};
int i;

for(i=0;i<6;i++){
printf("%s\n",data[i]);
}
puts("");
qsort(data,0,6);
for(i=0;i<6;i++){
printf("%s\n",data[i]);
}
}
void qsort(char* v[],int left,int right)
{
int i,last;
void swap(char* v[],int i,int j);

if(strcmp(v[left], v[right]) >= 0) return;
swap(v,left,(left+right)/2);
last=left;
for(i=left+1;i<=right;i++){
if(strcmp(v[i], v[left]) < 0) swap(v,++last,i);
}
swap(v,left,last);
qsort(v,left,last-1);
qsort(v,last+1,right);
}
void swap(char* v[],int i,int j)
{
char* temp;

temp=v[i];
v[i]=v[j];
v[j]=temp;
}
0321312NGNG
>>320さんのでいちおうエラーはでなくなったんですけど
昇順にソートされてないのはなぜなんですかね?
0322デフォルトの名無しさんNGNG
デバッガ使ってトレースしてみたの?
0323デフォルトの名無しさんNGNG
>>320 でキチンとソートされているけど、
zbr
uuuuu
sa
ki
niino
aaa

aaa
ki
niino
sa
uuuuu
zbr

それとも前のプログラムのどこが間違っているかをしりたいってこと?
ポインタのポインタと、標準の文字列関数 str---() を勉強しましょう。
0324デフォルトの名無しさんNGNG
ポインタの配列じゃねーのか。
0325312NGNG
>>323
おかしいなあ。なぜかうちのだと
zbr
uuuuu
sa
ki
niino
aaa

zbr
uuuuu
sa
ki
niino
aaa
となってソートされないんですよ。なんでなんだろ。
0326デフォルトの名無しさんNGNG
>>312
>qsort(data,0,6);
6?
0327デフォルトの名無しさんNGNG
>>320はバグってるな。

main():
× qsort(data,0,6);
○ qsort(data,0,5);

qsort():
× if(strcmp(v[left], v[right]) >= 0) return;
○ if(left > right) return;
0328厨房NGNG
すいません。ついでに質問良いですか?
swapの引数のchar* v[]はchar*vじゃいけないんですか?

あと、こういう宿題の時に最適化とかして良いものなのでしょうか?
0329327NGNG
すまん、こう。
qsort():
× if(strcmp(v[left], v[right]) >= 0) return;
○ if(left >= right) return;
0330デフォルトの名無しさんNGNG
どうでもいいけど、標準関数とおんなじ名前の関数作るなよ。
0331デフォルトの名無しさんNGNG
>>328
> swapの引数のchar* v[]はchar*vじゃいけないんですか?
いけない。

> あと、こういう宿題の時に最適化とかして良いものなのでしょうか?
コンパイルオプションの話?
それとも、再帰を使わないようにするとか、
ある程度短くなったら選択ソートに切替えるとかいう話?
0332デフォルトの名無しさんNGNG
void my_swap(char*a,char*b){
_asm{
push [a]
mov [a],[b]
pop [b]
}
}

//??
0333328NGNG
そなのか…
明示的に配列であることを引数の時から示さないといけないのですね…
いつもそう言う風にしてた(ぉ
勉強に為りました。

最適化は329さんみたいにアセンブリにするのも含みます。
(なんか変ですが。
0334328NGNG
332でした。いってきます…
0335デフォルトの名無しさんNGNG
>>328
ちょっと待った!
char* v[] と char*v の違いは

>明示的に配列であることを引数の時から示さないといけないのですね…

という話とちょっとずれていると思うよ。
何をスワップしているのか、もしくは char* v[] とは「何もの」であるかを
自分の知る限りにおいてレポートしてみて。添削してあげるから。
0336デフォルトの名無しさんNGNG
あんまり賢い事すると「おとーさんにやってもらったろ?」って言われるぞ。
0337328NGNG
げ。char**vの間違いでした(汗
すいません。
>336
いえ、便乗質問ですw
さすがに厨房相手にcで書いて来いなんて宿題はナイでしょう。
今の日本に。
0338331NGNG
>>337
> げ。char**vの間違いでした(汗
それは正しい。
0339お願いがあります…。NGNG
1.「プログラムを実行したときに」ディスプレイ上に自分の 学生証番号、氏名、住所 を表示するプログラムのソースを作成すること。

2.キーボードから入力された学生証番号、氏名、住所をディスプレイに表示するプログラム(このとき実行した人がキーボードから入力した学生証番号などが表示されるようにする)

3.ディスプレイに 整数nを入力するように表示し、0 からキーボードから入力された n 以下の偶数の和を求めその結果をディスプレイに表示するプログラム(2づつ数を増やすには +=2 を用いる)

4.ディスプレイに和を求める 番号 n を入力するように表示し、1,6,11...のような 5飛びの数の1から入力された番号nまでの和を求めてディスプレイに表示するプログラム(注意。k番目の数は 1+5*(k-1) で与えられる。)

5.10人の身長のデーターをキーボードから入力して、その平均をディスプレイに表示するプログラム(繰り返し文を使用すればよい)

6.ディスプレイに二つの 実数を入力するように表示して、キーボードから入力された二つの実数の 和、差、積、商(始めに入力された数割る二番目に入力された数)をそれぞれディスプレイに表示するプログラム

7.優、良、可にする最低点を実行時初めに設定できるようにし、その後キーボードから入力された学生の点数によって成績を優、良、可に振り分けるプログラム

8.キーボードから二つの実数を入力するように表示し、入力された二つの数を大きい順に並べて表示するプログラム

9.個人情報として、 氏名、年齢、住所、電話番号、趣味 を含んだ構造体を用いて、個人情報を入力できるプログラム

10.乱数を用いて 丁半 を表示するプログラム


解ける人は全て解いてみてください。…というよりお願いします(涙)   
0340デフォルトの名無しさんNGNG
さっきも突っ込んだが8.はネタなのか?
0341デフォルトの名無しさんNGNG
かわいい弟クンのために、宿題みてあげるね。
でも、丸投げとかしたらおこっちゃうよ。まずは自分で考えてね。
0342339NGNG
申し訳ないです…。
俺は大学行ってなくて、友達から「この問題、なんとかならん?」と頼まれた物です。
「ネットで質問すれば何とかなるかもしれない」と思い、質問させてもらったんですが…。

>340
これはそんなに簡単な問題なんですか?
プログラムとか、俺には全然わからない事なので…(汗)
0343デフォルトの名無しさんNGNG
339が友達の代わりに頭下げる必要はないと思う。
できるなら本人つれてきた方がいいんでない?
ここで聞いて1時しのぎにはなってもそん次で困ることになるだろうし。
0344デフォルトの名無しさんNGNG
>>339
>>343さんが良い事言ってるね。
その友達は大学生なんですね。
もしプログラマ志望なら今すぐ諦めるように言ってやってください。
0345339NGNG
>343
本人、一応自分で頑張ってみると言ってて、1と2が出来たらしいんですが…。
自宅にパソコンが無いらしく、大学行かないとネットに繋げない…との事なので代わりに俺が…という事情なんです(汗)
レポート?提出の期間が迫っていて、一時しのぎでもいいから、という事なんだと思います。
友達として、第三者の力を借りてでも協力できれば…と思っていたのですが、ちょっと甘かったですね…(^^;
それでも何とか答えて貰えないでしょうか?う〜ん…。
0346339NGNG
>343
いや、彼は全然そういうタイプじゃないと思います(笑)

何を目指しているかは知りませんが、マスコミ関係かな・・・?バイト先を考えると。
パソコンの事とか、あんまりわかってないみたいなので、プログラマー志望では無いんじゃないかと思います。

ちなみに…ここはsage進行ですかね?(^^;)
0347デフォルトの名無しさんNGNG
なんで大学に600万も払う金があるのに自宅にマシンが無いの。
やっぱり氏んだほうがいいよ。
0348デフォルトの名無しさんNGNG
>>345
 まあ、この板には後輩に教えたりとか、TAやったりとか、
宿題出す側の人間が多いのよ。
 だから、丸写しさせるために教えてあげたいとは思わない
人がおおいんじゃないかな。
0349怜NGNG
今回はお正月ということで、特別サービスね。
丸写しされちゃ困るから、ところどころ空欄にしとくから、
これ以上は自分で考えるように言ってね。
あと、全部#include<stdio.h>は必要よ。念のため。

3番
main(){
 int k, n;
 <nを入力するように表示し、変数nに入力された値を代入>
 k = 0;
 while(■){
  printf("%d ", k);
  <kに2を足す>
 }
}

4番(番号nまで、というのはn番目の数までと解釈)
main(){
 int k, n, sum;
 <nを入力するように表示し、変数nに入力された値を代入>
 sum = 0;
 for(k = 0; k < ■; k++){
  sum += ■;
 }
 printf("%d", sum);
}
0350怜NGNG

5番
main(){
 int k, sum, l;
 for(■){
  <lに数を入力>
  sum += l;
 }
 printf("%d", sum / 10);
}

6番
main(){
 float k, l;
 scanf("%f", &k);
 <lに実数を入力させる>
 printf("和:%f", k + l);
 <k,lの差、積、商をそれぞれ表示>
}
0351怜NGNG
7番
main(){
 int a, b, c;
 printf("優の最低得点を入力してください\n");
 scanf("%d", &a);
 <良の最低得点をbに、可の最低得点をcに入力させる>
 <判定したい得点を入力させる>
 if(■){
  printf("優");
 }else if(■){
  printf("可");
 }else if(■){
  printf("良");
 }else{
  printf("不可");
 }
}

8番
main(){
 float a, b;
 <a, bに実数を入力させる>
 if(■){
  print("%d\n%d", a, b);
 }else{
  print("%d\n%d", b, a);
 }
}
0352怜NGNG
9番
struct parson{
 char name[16];
 int age;
 char address[32];
 char tel[11];
 char hobby[32];
}

main(){
 struct parson a;
 printf("氏名=");
 scanf("%s", a.name);
 <以下略>
}

10番目

#include <stdlib.h>
main(){
 int t;
 t = rand() % 2;
 if(t == ■){
  printf("丁");
 }else{
  printf("半");
 }
}
0353怜NGNG
 あと、参考までに。
 実際のプログラムで、rand() % 2で、二つのうちどちらかを
ランダムに選択させようとすると、処理系によっては痛い目に
あうことがあるから気をつけてね。
#rand()は下位ビットはランダム性がない場合があるの。
0354怜NGNG
あ、5番。ちょっと間違えてる。
for文の前に一行入れる必要があるね。
8番もprintfの中の%dっていうのが嘘だわね。
他にも何か色々間違えてそう。
0355デフォルトの名無しさんNGNG
9.はparsonじゃなくてperson。
つづり間違えて提出すると起こられちゃうよ〜
0356355NGNG
細かいdebugは自分で。と言うことで。
にしても怜さん親切。
お年玉だねw

いざとなったら友達に家に来させてという手も。
0357339NGNG
>怜さん
とても親切にありがとうございます。
文章をそのままプリントアウトして友達に見せてあげることにします。
これで解けるのかどうか俺には判断できませんけど、彼にも少し努力してもらった方が良いと思いますし。。。
問題は
ttp://www.geocities.co.jp/SiliconValley-Cupertino/7774/c/report/index.html
から出されているとの事でした。
0358怜NGNG
>>355
あ、やっちゃった。
どっちだろうと思ったときは辞書ひかなきゃ駄目ね・・。

>>357
まあ、本人には頑張ってもらってね。
0359デフォルトの名無しさんNGNG
>>357 の出題サイトに一言。

ださっ!
0360デフォルトの名無しさんNGNG
なぜ geocities にサイトを作ってるんだろ。
大学でスペースくれないのか?
0361デフォルトの名無しさんNGNG
半

にはワラタ
0362デフォルトの名無しさんNGNG
”付録 4つの自然数に四則演算を施し10を作れるかを調べる問題”
についてるcheck10.cppって、なんかすごいぞ、なんつか、まぁいいや。
ほかのも見てみよう…
0363デフォルトの名無しさんNGNG
>>357のサイト
プログラミングの教育について、考えさせられるページですね。
ださっ!ていうより、学生がかわいそうっていうか…
0364デフォルトの名無しさんNGNG
>>363
そこまで壊滅的にダサくはないだろ。
もう少し読みやすくはしてほしいが。
0365デフォルトの名無しさんNGNG
>>364
リテラシーについては、あんなもんだと思うが…
第12章 クラスの概念のcalculator.hとかみてみそ、すごいから。
0366デフォルトの名無しさんNGNG
>>365
見たよ〜。あのソースにツッコミたいけど(多すぎるから)やめとくよ〜。

>>363
>学生がかわいそうっていうか…
激しく同意だよ〜。
0367デフォルトの名無しさんNGNG
このサイトのコードをエレガントに教育的に書き直すという企画はどうか(藁
0368デフォルトの名無しさんNGNG
http://www.geocities.co.jp/SiliconValley-Cupertino/7774/c/sub/chap01.html
↑ここで多用されている「Hellow」はどうかと思うぞ。教育的に(ワラ
0369デフォルトの名無しさんNGNG
↑の課題、cin>> と cout<< を使わないと、減点されそう。
0370デフォルトの名無しさんNGNG
http://www.google.co.jp/search?q=Hellow&hl=ja&btnG=Google+%8C%9F%8D%F5&lr=
約18,300件中1 - 50件目 ・検索にかかった時間0.05秒

日本のサイトが多いのには泣かされる。
0371デフォルトの名無しさんNGNG
ファイル入力のプログラムなんですが、fgetsのところでエラーがでます。
配列aをcharにするとちゃんとできるんですが、intではなぜだめなんですか?
#include<stdio.h>

main()
{
FILE *fp;
int a[30];
int i;

fp=fopen("data1","r");
fgets(a,30,fp);
for(i=0;i<30;i++){
printf("%d\n",a[i]);
}
}
0372デフォルトの名無しさんNGNG
>>371
それは、fgersがchar*を前提に作られてるからです。
fgets((char *)a,30,fp);
にすれば、コンパイル時のエラーはでなくなるでしょうが、あなたの思ったとおりの動作にはならないでしょう。
0373371NGNG
>>372
ではintでファイル入力を行うにはどうすればいいんですか?
0374怜NGNG
>>373
どういう形式でファイルに入力をしたいかによるわね。

まあ、基本的には、
fgets((char *)a, 30 * sizeof(int), fp);
ってやればいいのかしら。ちょっと自身ないけど。
そのファイルを保存するときも同じ方法でね。

もし、別のプログラムとかエディタで書いたデータを読ませたいんだったら
その形式にしたがって読んでいく処理を書かないと駄目ね。
0375デフォルトの名無しさんNGNG
>>373
fread()を検討してみてはどうか?
0376デフォルトの名無しさんNGNG
>>373
>>371は食わせるファイルと出力について、どう想定してるか教えてほしい也
0377デフォルトの名無しさんNGNG
>>371
intは32bit環境ではたいていの場合4バイトの領域を占める。
fgetsはaから始まる領域に読んだデータを詰め込んでいく。
したがって、371の例ではint7.5個分読み込まれている。
0378Disca ◆NAfP6znE NGNG
>>339
1000円で引き受けるよ!
0379371NGNG
>>376
55 4 3 89 ・・・というばらばらの数字をファイルからとって
昇順にソートするという課題なんですよ。ソートのやり方はわかるんですけど
入力の方法がわからないんです。
0380デフォルトの名無しさんNGNG
>>379
テキストファイルなのかぁ?
それだったら, fscanfとか。
0381デフォルトの名無しさんNGNG
>>379
fscanfか、一文字ずつ読んでいってatoiでがんばるか。
好きなほうを選んでくれれば、もうちょっと詳しい説明つきます。
0382371NGNG
>>381
なるほど。ではatoiでやろうと思うんですが、どういうふうにやれば
いいんですかね?
0383デフォルトの名無しさんNGNG
>>382
1文字づつ読む方法は調べてね。
atoiも調べてね。
そしたら自ずと答えが。
0384吉野家オフNGNG
http://lounge.dip.jp/~yoshinoya_off/yoshinoya.html
0385デフォルトの名無しさんNGNG
int ch, digit = 0; int array[MAX_ELEMENT], int ptr=0;
while( ch = fgetch(fp), ch != EOF ){
 if( isdigit( ch ) )
  digit = digit*10 + ch - '0';
 if( isspace( ch ) )
 { array[ptr++] = digit; digit = 0; }
}
0386デフォルトの名無しさんNGNG
行末に\でダメかな?
0387デフォルトの名無しさんNGNG
ゴメン、誤爆。
0388デフォルトの名無しさんNGNG
怜はヒゲ面のおっさんなんだろなぁ・・・・(萎
0389デフォルトの名無しさんNGNG
339本人じゃないけど、339の答え、俺にもわからん
難しいじゃねーかドルァァァァ!
0390デフォルトの名無しさんNGNG
hage
0391デフォルトの名無しさんNGNG
>>389
こちらで勉強してきなさい。(w
ttp://www.geocities.co.jp/SiliconValley-Cupertino/7774/c/report/index.html
0392デフォルトの名無しさんNGNG
>>339
正直漏れは丁と半という意味がわからん…。聞いたことはあるが。
奇数と偶数という意味か?
逝ってこよう・・・。
0393 NGNG
>393
そうだよ。
0394デフォルトの名無しさんNGNG
なんど見ても「宿題あげてみるっ」に見えるんだ、病気だな、おれ。
0395デフォルトの名無しさんNGNG
>>392
ネタ?でなければ教えてやるよ。
0396デフォルトの名無しさんNGNG
>>392
丁は偶数 半は奇数
0397デフォルトの名無しさんNGNG
麻衣タン…ハァハァ
0398デフォルトの名無しさんNGNG
1.標準入力から英文テキストを読み込みfile1に格納する。
2.file1に格納されたテキスト中に出現する全ての相異なる単語の出現回数を求めその一覧をfile2
に格納する。ここで単語はテキストに出現した順に並べるものとする。
また、大文字は小文字に読みかえ、両者は区別しないものとする。
3, 2と違い単語をアルファベット順にならべてfile3に格納する。
4,file1,2,3をそれぞれの見出しをつけて標準入力に書き出す。
0399398NGNG
1は簡単だしできたんですけど、2がさっぱりわかりません。
どうやって単語という単位で処理するんでしょう?
文字数なら簡単なんだけど・・・
自己参照構造体を使うと聞いたけどどうやって
使っていいのかわからない・・・
0400麻衣NGNG
麻衣は単語の区別は英字以外を区切りにしたらいいんじゃないかと思うよ

ファイルに格納してるからファイルサイズは判るよね?
だからメモリ上に読んで、英字以外の文字を 0 にしてしまうと簡単だよ。

それで単語数を数える方法は、
うんとね、ポインタ+カウンタの配列を作って
 ”挿入ソート”と同じ方法で
 一致するのがあれば カウンタを1増やす
 一致が無ければ挿入

でいいと思うんだけど?

麻衣はお兄ちゃん バカ怜に取られて落ち込んでたけど、もう大丈夫。
0401398NGNG
すいません、よくわかりません・・・
ファイルサイズ? も何のことかわからないですけど
スペースが出たら1単語と言うやり方でできますよね?

それと挿入ソートと言うものを知らなかったので検索して調べたんですけど、
それを単語処理にどう使うかわからないです・・・
0402デフォルトの名無しさんNGNG
4の標準入力に書き出すって、たとえば、キーボードのキーが勝手にかちゃかちゃって…
0403怜NGNG
>>400
>麻衣は単語の区別は英字以外を区切りにしたらいいんじゃないかと思うよ

やっまり麻衣ちゃんは子供ね(^^)
英文の中には数字もあるし、「英字以外を区切り」にしたら
I'm や don't みたいな単語が二つに分かれちゃうわよ。
0404麻衣派NGNG
単語ごとなんだから
きっと「I'm」は「I」と「am」に分けるんです!
難しい問題ですね!

麻衣タンを子ども扱いしないでください!
0405麻衣派NGNG
>>401
fseek(fp,0,SEEK_END);
size=ftell(fp);
fseek(fp,0,SEEK_SET);
これでsizeにファイルサイズが入る。

麻衣タンがいってるのは
This is a pen This is a cat
をカウントしながら辞書順にソートして
-----------------------
a cat is pen this
2 1  2 1  2
-----------------------
こうだよ。
0406麻衣派NGNG
>ここで単語はテキストに出現した順に並べるものとする。
あ、やばい。
ごめん麻衣タン…君を守れなかったよ。

 ∧||∧
(  ⌒ ヽ
 ∪  ノ
  ∪∪

   ...
0407怜派NGNG
>>398
自己参照型構造体を使うのは3.だけだね。
ちなみに2.も3.もソートなしで書けるよ。

>>怜タン
>英文の中には数字もあるし、「英字以外を区切り」にしたら
>I'm や don't みたいな単語が二つに分かれちゃうわよ。
さすが怜タン。頭イイね!
0408怜派NGNG
>>406
3.を解くなら>>405で合ってるよ。
0409麻衣派NGNG
あ、ホントだ。
はやとちりで逝くところだったよ。
0410怜NGNG
ちょっとまとめてフォローしてくね。

>>398クンは、「線形リスト」は理解してる?
 もしわかってなければそこから。挿入ソートというのも基本的に線形リ
ストを使ってする処理だからね。知らなかった下のページとかも参考にし
てみて。(まあ、リストを教えないで自己参照構造体とか教えることはな
いだろうから、授業で教えてくれたとは思うけど・・・)
http://www.d1.dion.ne.jp/~ecb/c/14_03.html

構造体に、その単語が何回でてくるかっていう要素を持たせちゃってもい
いいかな。

で、2の処理をしたい場合は、ドキュメントを前から順番に単語ごと区切
って読んでいく。で、今単語を一つよみ終わったとしよう。
 ここで線形リストを前から順に辿っていって、同じ単語がないか探すわ
けね。で、みつからなければ、新しくその構造体をmallocして、リストの
最後に付け足すの。みつかれば、その単語の出現回数を+1すればいいわ
ね。

 3の場合は、リストは常に辞書順にならんでるようにしとくわけ。
これをどうすればいいかっていうのが、挿入ソートの話ね。
ある単語を読んだら、リストを前から順に辿っていって、目的の
単語か、その単語よりも辞書順で後に出てくる単語を探すわけ。
 目的の単語が見つかった場合はカウントを+1して、辞書順で
後ろの単語がみつかったら、新しくmallocしてその単語の前に
挿入するのね。
# 辞書順で後ろの単語が見つかったら、それより後に目的の
#単語がないことが保証されるからね。

 って、読み返してみたけど少し説明わかりにくいなぁ。わからないところ
はきいてね。
0411デフォルトの名無しさんNGNG
C++でエレベータのシミュレーションをするプログラムを
(ある割合で客が来てエレベータに乗って行くような)
作れという課題が出たんですけど、
時間の概念ってどう考えればいいんですか?
0412怜派NGNG
>>411
うーん、難しいなぁ…。
Stateパターンを使うとか…。
0413デフォルトの名無しさんNGNG
398の問題はどこかで見たような…。
まさか関西の私立大学の課題じゃないよね…。
問題が一語一句同じなんだけど…鬱だ。(漏れはもう終わらせたが)
0414怜NGNG
>>411
 時間の概念は、適当に決めちゃえばいいんじゃないかな?
 while文か何かでグルグルまわして、1stepを時間の最小単位と
するのね。で、1stepにある確率で客が到着するように設定する
のね(1人来るか、1人もこないかの二択ね。これを二択にする
のがいやならポアソン到着とか考えるべきなんだけど、今回は必
要ないでしょう)。
 で、エレベータは扉あいてから、何ステップ待つか、階を1つ
上げ下げするのに何ステップかかるか、とかを適当に決めて、1
stepごと動かしていくわけ。
 エレベータはどういうアルゴリズムで動かすのかな。まあ、円
運動が基本とかいう話もあったような。
0415398NGNG
>410
おお、解説ありがとうごぜーます!!
今日は無理なのでまた明日やってみます!

>413
そのとおりだ・・・R大学。
どこのクラスよ?
俺はDクラス。
0416デフォルトの名無しさんNGNG
>>415
本気で打つだし脳。
というかポインタ、文字列の扱い、構造体、ファイル操作をそれぞれ一週間で教えている時点で糞なんだよな。
課題には「事故参照構造体を使うと点数アップ」なんてDQNなこと書いているから
みんなこぞって事故参照構造体に突っ込んでる。リスト構造も満足に教えないくせに。
あのハゲの授業では大半の人が理解不可能だろうな。

とりあえず望洋のポインタ本かっとけ。
後半にリスト構造がわかりやすく載ってる。
実際のやりかたは怜さんの説明で完璧だしな。
0417デフォルトの名無しさんNGNG
>>410
> http://www.d1.dion.ne.jp/~ecb/c/14_03.html

http://hp.vector.co.jp/authors/VA000124/index.htm
「目指せプログラマー!」かよ^^)
よりによって、そんなダメなサイト、初心者に勧めるなよ。
0418413=416NGNG
望洋のポインタ本で思い出したけれど、新たにメモリ確保をするときは
mallocとcallocどちらがいいんですか?
漏れはmallocを使ってたんだけど、ポインタ本ではcallocのほうがいいようなことを書いてるし。
0419デフォルトの名無しさんNGNG
どうせmalloc呼んでるんじゃん?
0420418NGNG
>>419
mallocで十分だと思うけど、望洋がcallocのほうがいいって言うとちょっと考えてしまう。
mallocではだめでcallocにしないといけないなんていう状況はあるんだろうか?
0421怜派NGNG
>>418
mallocのほうがいいんじゃない?
0422デフォルトの名無しさんNGNG
callocだと0で埋めてくれるんだっけ?
0423418NGNG
>>421
なんでですか?
0424デフォルトの名無しさんNGNG
Linux使ってればmallocでとった領域は0で埋められてることが
保証されてるうよ
0425デフォルトの名無しさんNGNG
通はallocaで自滅、これ。
Bohyohもびっくり!
0426デフォルトの名無しさんNGNG
>>424
マジ?
0427怜派NGNG
>>423
callocはゼロクリアが全ての処理系で保証されてるわけじゃないからね。
0428デフォルトの名無しさんNGNG
>>424
セキュリティの問題じゃん?
0429デフォルトの名無しさんNGNG
>>428
まあね。ごとむさんもびっくりってやつだ
0430怜NGNG
>>417
 あ、ごめん、駄目サイトだった? 検索でひっかかった中で、普通に説明
してそうなところを抜き出してきたので・・。
0431398NGNG
>>416 クラスどこよ?
0432418NGNG
>>431
ハゲの授業受けてるYO!
0433デフォルトの名無しさんNGNG
>>410のサイト
「1.1アルゴリズムとは」を見た瞬間、ダメダメ。
0434デフォルトの名無しさんNGNG
>>427
>callocはゼロクリアが全ての処理系で保証されてるわけじゃないからね。

手元の「新ANSI C言語辞典」には、0クリアされると書いてあるけど…
0435仕様書無しさんNGNG
>>434
そこいらじゅうの処理系がみんな ANSI 準拠だったらねえ。
でも現実は、一番普及している処理系が一番 ANSI から遠いのだ。
0436怜派NGNG
その「1.1アルゴリズムとは」より。

>フローチャートは何のために作るのでしょう?
>図で示されているので、文章だけよりもわかりやすく、プログラムにしやすい
>バージョンアップなど改良する際に効率よくできる
>1つのプログラムを複数人で作るときに、手分けしやすい
>同じような処理は、再利用できる

最初の項目は分からなくもないんですけど…。
残りの3つは僕の理解を大幅に超えてます。
誰か詳しい解説きぼんぬ!
0437デフォルトの名無しさんNGNG
R大学って立教大学?
漏れ、本人の目の前で
「お前の教え方、すっげーわかりにくいよな」
って直接ゆーのが趣味なんだ。
その教授の名前おしえてちょ。
0438418NGNG
>>437
違う。
0439怜派NGNG
>>434
だいたいの環境ではゼロクリアされるらしいけどね。
全てじゃないってのがちょっと…。
まぁmallocで十分でしょ。
0440デフォルトの名無しさんNGNG
>>435
広く普及してる処理系なら、たいてい大丈夫だと思うが。
calloc()で0クリアされない処理系とは、たとえばどれ?
0441デフォルトの名無しさんNGNG
鹿鳴館大学
0442デフォルトの名無しさんNGNG
>>436
「んなわけねーだろ」<詳しい説明
0443ほたるNGNG
きのうゼミで出た宿題・・・。
「蟻の捕食活動シュミレーションによるマルチエージェントシステムと遺伝的アルゴリズム」
という題材でVC++を使ってプログラミング。
概要;蟻はたくさん
   餌もたくさん 
   蟻は前後左右に動く
   餌があれば捕食
   終了条件;餌を全部捕食
        規定時間をオーバー
   んで、そっから遺伝させて、繰り返して
   優秀な蟻軍団をつくっちゃおう!! 
これを人生初プログラミングでやれって・・・。
ちなみに提出は1月20日・・・、これってできんのってかんじ??
0444デフォルトの名無しさんNGNG
>>443
何を遺伝させるんだろうね・・・
「右に動くのが好きな性格」 とかを遺伝させるの?
0445怜NGNG
>>443
 はっきりいって、それをはじめてのプログラミングでやるのは
無理じゃないかなぁ
 先生に「プログラム経験ないんですよ〜」と言ってなきつくし
かないと思うわ・・。

>>444
 一種のライフゲームだよね。
 おそらく、動き方を遺伝させるんでしょうね。
 マルチエージェントだから、みな同じように動くと同じところに
集まってしまって、餌を全部とれないわけだからぁ・・・
 上下左右に自由に動けばいいのかなぁ・・・と思っても、全くの
ランダムだと壁の近辺と、中心部分に密度の差ができちゃうかな。
 この辺をうまくバランスがとれた蜂集団ができればいいってこと
なのかなぁ・・・。ランダムウォーク的な要素をプログラムの段階から
組み込んで、ある方向にn歩歩いたとき、どのような確率でどの方向
に曲がるか、っていうのを遺伝子として持ってがんばるのかなぁ・・。

 それとも、動きに全くランダム要素を入れないのかな。遺伝子から
一意に動き方が決まって・・・、軍団としてみるときれいに役割分担
してるように見える・・とか、なんかこっちの方がそれっぽいかな。
でも、収束しそうもない気はするわね。
 うーん・・・
0446デフォルトの名無しさんNGNG
>>443
>ちなみに提出は1月20日・・・、これってできんのってかんじ??

むりっぽいね。
友達に頼ってください。
0447デフォルトの名無しさんNGNG
最近ゲーム理論にはまってる私には簡単だが
掲示板で聞かれても地道にやりなさいとしか
言いようがない
0448怜派NGNG
>>442
ありがとう。よくわかりました。
0449デフォルトの名無しさんNGNG
>>443
アリを一日観察し続けてパターンを見極めるか
ファーブル昆虫記を読みなさい。
アリはあれでなかなか賢い生き物だよ。
0450なんやNGNG
2分木の全節点の個数を求めるプログラム
2分木の高さ(根の高さ=1)を求めるプログラム

以上2つを適当な例を使ってFORTRANで作成して下さい。
お願いします。
0451怜派NGNG
FORTRAN、サパーリわからない…。
と言うか、全てを他人任せにしちゃダメだよ。

(;´Д`)怜タンハァハァ…。
0452デフォルトの名無しさんNGNG
>>450
Cでよければ簡単だな。
チミがCとFORTRANの両方を知っていれば、Cでの解答を書く
ところだけど、文面からしてそれは無理くさいのでヤメ。
0453398NGNG
あー、すいません、やっぱりわかりません・・・
プログラム作る以前の問題で自己参照構造体がわからない・・・
ttp://www.ht-net21.ne.jp/~sgwr-t/sec15-5.htm
ここの例みてるんですけどadd_listをループさせるところ、
なんでデータが順番に入ってくかわからないんです。
mallocも初めてなもんで。
データってstruct list型のポインタpに順番にはいってくんですよね?
最初に*pを作ってデータを入れて、2回目も*p作ってデータ入れたら
上書きされるんじゃないんですか?
mallocで領域確保する意味もわからなくて、*pを宣言したらその中に
そのままデータ入れればいいじゃないかと思ったのですが、
もしかしてmallocで領域確保するとそこにあったデータは後ろにずれるんですか?
*pのデータは*(p+1)に行くってことかな?
う〜ん、でもループで毎回*pを宣言する意味もわからないなぁ・・・
0454日下部圭子 ◆ib749tYo NGNG
In article >>458, 398//458 wrote:

http://www.ht-net21.ne.jp/~sgwr-t/index.htm
初心者のためのポイント学習C言語

どうでもいいですけど、うそばっかり書いてあるひどいサイトですね。

----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0455デフォルトの名無しさんNGNG
>>454

お前、どこを指しているんだよ・・・・
0456デフォルトの名無しさんNGNG
キチガイは放置の方向で

>>398
疑問点と問題点をはっきりさせろ。
0457デフォルトの名無しさんNGNG
0458日下部圭子 ◆ib749tYo NGNG
In article >>455, デフォルトの名無しさん/sage/455 wrote:

> お前、どこを指しているんだよ・・・・

失礼、>>453でした。
陽一さんと違って手作業で書いてるからたまにミスをします。

----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0459デフォルトの名無しさんNGNG
http://www.ht-net21.ne.jp/~sgwr-t/index.htm
初心者のためのポイント学習C言語

ここはいいよ。
0460459NGNG
>>458

てめー、せっかくフォローしてやろうと思ったのに割り込みやがって。
0461日下部圭子 ◆ib749tYo NGNG
In article >>459, デフォルトの名無しさん/459 wrote:

> ここはいいよ。

よくないですよ。
ウソが多い。

----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0462デフォルトの名無しさんNGNG
>>461
具体例を挙げなければ荒し煽り以外の何者でもない。
人の揚げ足取りをする前に、まず自分が有益な言葉を吐いたらどうだ?
スレの主旨とも外れてきているだろう。
0463日下部圭子 ◆ib749tYo NGNG
In article >>462, デフォルトの名無しさん//sage462 wrote:

> 具体例を挙げなければ

たとえば「printf()はCRT画面に出力する」など、
おかしい部分がたくさんありますよ。
初歩的なことが多いので自分でわかって欲しいですね。

----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0464デフォルトの名無しさんNGNG
そのサイトの話題は何処から出てきたんだ?
個人サイト叩きならどっか他所へ逝け。
0465怜派NGNG
>>453=>>398
今解いてる問題は2.だよね?
君が書きたいプログラムは、あのサイトを見ただけでは難しいと思うよ。

>最初に*pを作ってデータを入れて、2回目も*p作ってデータ入れたら
>上書きされるんじゃないんですか?
mallocで確保される領域は毎回別の場所になる。
だから上書きされる事はないよ。

>mallocで領域確保する意味もわからなくて、*pを宣言したらその中に
>そのままデータ入れればいいじゃないかと思ったのですが、
関数を抜けたらローカル変数は無くなるんだよ。
だからpにデータを入れても意味ないよ。
mallocで確保された領域は関数を抜けても無くならないよ。

>もしかしてmallocで領域確保するとそこにあったデータは後ろにずれるんですか?
そんな事ない。

しかし…、mallocも使った事なくて自己参照構造体を使わせられるのは厳しいね。
どういう教育されてんのかなぁ…。
0466デフォルトの名無しさんNGNG
>>454のサイト
まぁ、とんでもなくへんなわけでも、すごくわかり易いわけでもなく。
気にするようなサイトじゃないっすね。
0467453=398NGNG
ああ、なるほど、とりあえずこのサイトのは理解できました!
ちなみにmallocは全然習ってないわけではないんですけど
よくわからなかったもんで・・・
自分で使ったことは無かったんです。

さぁ本題に挑戦しようかな・・・
0468デフォルトの名無しさんNGNG
>>466
かなりダメダメなサイトだと思うが。
Cで初心者が間違えやすい有名な落とし穴っていくつかあるけど、
そういうの落ちまくってるし。
0469半角住人の宿題NGNG
2chの各板にマルチポストしていく宣伝業者に、半角板住人達が、キレました。
マルチポスト業者に対して、メンバーページの画像直リンや
接続ソフト解析をして、業者を晒しageています。

続々と各板から応援に集まっていただいてますが、
接続ソフト解析等、初心者には難しいこともあるので、プ板住人のお知恵を貸してただけませんか?
2chから、悪徳宣伝業者を追い出しましょう!

■宣伝カキコ業者の画像や動画をばらまくスレPart2■
http://wow.bbspink.com/test/read.cgi/ascii/1010876229/
0470467=398NGNG
WINDOWSだとEOFのを返したいときはCtrl+Zですよね?
何も起こらないんですけど・・・
ただ^Zって表示されるだけで。
しかもどうにもならないから一回閉じてもう一回実行すると
共有違反・・・
どうすればいいんでしょう?
0471デフォルトの名無しさんNGNG
GUI中のボタンからファイルログを出し、入出力ファイルを指定するとこまでは出来
たのですが、それを利用してボタンを押したらソフトを動かすコマンドをJavaのGUI
で作りたいのですが・・・(ソフト名<入力ファイル>出力ファイル)
0472怜派NGNG
>>470
今2.を解いてるんじゃないの?
2.ってファイルから読みこむんだよね?
0473470=398NGNG
え〜っと、1は学校のUNIXでやったんですけど
今家だからWindowsで1もやり直したんです。
そしたら予想外の壁に・・・
0474デフォルトの名無しさんNGNG
0,1の世界を考える。
0+0=0,0+1=1+0=1,1+1=0
っていふうになるとして、
k次元のベクトルa1,a2,a3....を考える。
n1,n2,n3...が0か1の数だとして
あるK次元のベクトルsを
s=n1*a1+n2*a2+n3*a3...(有限個)
って表すために
n1,n2....を決める。
もし、s=n1*a1+n2*a2+n3*a3...(有限個)
となるn1,n2...がない場合はFalseを返す。
いいアルゴリズムありますか?
0475デフォルトの名無しさんNGNG
>>474
最初の0,1の世界ってかいてあるってことは
ベクトルの要素もすべて0か1ってこと?

いずれにしても、sのある要素に対して、左
辺の該当要素を計算してやれば済むことじゃ
ないかな。
とくに凝ったアルゴリズムは必要ない気がす
るけど。
0476怜NGNG
>>470 >>473
 うーん・・・。
 データをファイルからでなく、標準入力から手打ちで入れたって
ことだよね? UNIX環境だとCTRL+Dってやればうまくいってたのが、
WINDOWSだとCTRL+Zっていれても上手くいかないってこと?
 うーん、ちょっと症状聞いただけだとわからないなぁ。とりあえ
ず、a.out < hoge.txt みたいにファイルで入力してみたら?
0477475NGNG
まちがい、訂正。
左辺の → 右辺の
0478デフォルトの名無しさんNGNG
ベクトルの要素もすべて0か1ってこと?
そうです。
例えば、
a1=(0,1,0,1,0,1)
a2=(0,0,0,1,1,1)
で
a3=a1+a2なら
a3=(0,1,0,0,1,0)
となります。
つまり
左から1bitずつ割り当てた場合
ベクトルの足し算は
エクスクルーシブオアで計算できます。
0479デフォルトの名無しさんNGNG
>いずれにしても、sのある要素に対して、左
>辺の該当要素を計算してやれば済むことじゃ
これだと
最悪2^(足し合わせるベクトルの数)回試さないとダメですよね。
もっと、効率のよいアルゴリズムはないでしょうか?
0480怜NGNG
>>474
>>475さんも書いていてくれてるけど、n1, n2, n3.....を決定したい
だけならn1, n2,,,の全ての組み合わせを考えればいいと思うよ。

a1, a2, a3,,,,を定めたいなら・・・0, 1しかなくても、やっぱ
a1, a2, a3を一次独立になるようにとればいいのかな。
0481473=398NGNG
>>476
そうです。
まぁとりあえず2番やります・・・
0482            NGNG
>だけならn1, n2,,,の全ての組み合わせを考えればいいと思うよ。
それだと遅過ぎて・・・

>a1, a2, a3を一次独立になるようにとればいいのかな
一次独立かどうかのチェックも結局は全部しらみつぶしになってしまう
ような・・・
0483475NGNG
しらみ潰しをしないアルゴリズムが知りたいっつーことか・・・
うーん
0484怜NGNG
>>482
うーん、遅すぎるのね・・・。
ちょっとしっかり考えてないけどこういうのはどうかしら。


ベクトルの各要素に着目するのね。で、そこで、制約式を出すの。
もちろん、この制約式の導出段階でfalseがわかることもあるわね。
例えばa1 = (1, 0, 1), a2 = (1, 1, 0), a3 = (0, 1, 1)
とすると、
s = (1, 1, 1)なら
n1 + n2 = 1
n2 = 1
n3 = 1

さらに、ここで左辺を引き算して、式を簡単にしていく。
行列を使った連立一次方程式の解法が応用できるかな。

(ここで書く+は全部排他和ね)

何か間違ってそう。。
0485デフォルトの名無しさんNGNG
ベクトルが4つ以上だと・・・
0486怜NGNG
何書いてるんだろう・・・
制約式は
n1 + n2 = 1
n2 + n3 = 1
n3 + n1 = 1
ね。
0487デフォルトの名無しさんNGNG
>>a1, a2, a3を一次独立になるようにとればいいのかな
>一次独立かどうかのチェックも結局は全部しらみつぶしになってしまう
>ような・・・
一時独立かどうかは、同じベクトルがあるかどうかできまるんやないかな
(あ、反転ベクトルも考えないかんけどね。)
だから、一次独立の判定だけなら、そんなに負荷にならないはずやけどな。
0488475NGNG
この手の問題は学生のころ以来だからちょっとあやしいけど

|n1|
|n2|
|n3| を ベクトルN、 |a1,a2,a3,...|を行列A
|n4|
|: |

として、Aの逆行列を ^A とした場合、

問題から

s = N × A

したがって

s × ^A = N

というわけでAの逆行列を計算する問題にできるけど、
それって高速にできるのかな。
0489デフォルトの名無しさんNGNG
>一時独立かどうかは、同じベクトルがあるかどうかできまるんやないかな
それは違うと思うよ。
>>484の
a1,a2,a3は一時独立でしょ
0490怜NGNG
>>485
んー、k次のベクトルがl個あると・・
うーん、解が一通りとも限らないしね・・。
全部のパターン求める必要あるのかな・・・。
ちょっとしっかり考えてみるね。
0491デフォルトの名無しさんNGNG
>>474
掃き出しでrankを求める
0492怜NGNG
解があるかないかだけでいいの?
0493デフォルトの名無しさんNGNG
>全部のパターン求める必要あるのかな・・・。
いえ、答えが一つでればOKです。

>>488
それは0,1の世界の場合使えるのでしょうか?
もし可能であれば、LU分解っていう便利なのがあるんですが
a1,a2,a3,a4...は固定なんです。
0494怜NGNG
>>493
とりあえず、足し算、引き算、掛け算は定義できるよね?
だから、可能なんじゃないかな、と思うけど。
0495デフォルトの名無しさんNGNG
>解があるかないかだけでいいの?
解がある場合は、係数を求めたいのです。
というか、確率的なアルゴリズムでもOKです。
10%の確率で、解があるにもかかわらず
FALSEを返してしまうとか・・・
0496475NGNG
>>493
0,1でも問題は無いと思われ。
LU分解、rank、懐かしい言葉だな。忘れてしまったが。
0497487NGNG
s/一次独立/一次従属/ って事やで。
0498デフォルトの名無しさんNGNG
あ、係数は0か1で,-1はないです。

逆行列が求められるなら、LU分解もできるので
できるかもしれませんね。
ちょっと考えてみます。
0499デフォルトの名無しさんNGNG
あー、でも割り算ができないとできない気がしてきた。
0500475NGNG
rankを忘れたオレが0,1でも問題ないというのはおかしな話だな。
スマソ。自信ないす。
・・・数学板向きカモ。
0501怜NGNG
>>499
 うーん、0か1の二通りしかないから、割り算しなくても大丈夫じゃ
ないかしら。
0502デフォルトの名無しさんNGNG
よくわからん
0503デフォルトの名無しさんNGNG
>>502
なら出てこなくてヨロシ!
0504デフォルトの名無しさんNGNG
mod2なら、-1=1なんやないの?
0505デフォルトの名無しさんNGNG
>>504
うん
0506デフォルトの名無しさんNGNG
>>504
そうだった
とりあえず、また明日にでも
0507デフォルトの名無しさんNGNG
ちょいと検証したけど、LU分解でいけるみたい。
あとは、k<Nの場合の処理を入れれば終了やね。
0508デフォルトの名無しさんNGNG
>>474
ちなみに、どんな教科での宿題なの?というか、どういう問題から派生してきた問題なの?
0509デフォルトの名無しさんNGNG
>>507
やっぱ無理です。
LU分解って正方行列じゃないと使えない。
0510デフォルトの名無しさんNGNG
だから〜。
k<Nのばあい、前述した、一次従属条件で引っかけて、
k=Nにもちこめるでしょうが。k>Nの場合は、Sが一次従属
でない限り解はない。
0511デフォルトの名無しさんNGNG
スマソ。違うな。
0512481=398NGNG
なんとか2番をコンパイルするまで行ったんですけど
実行結果がおかしくて、ソースのどこがおかしいかわかりません。
というかすごい自信ないソースなんですけど・・・
見てもらえたらありがたいです
http://www2.nasicnet.com/~hila/repo02.c
http://www2.nasicnet.com/~hila/file1.txt
http://www2.nasicnet.com/~hila/file2.txt

repo02がソースで、file1を読み込んでfile2を出すというやつです
0513デフォルトの名無しさんNGNG
そこそこ眺めた限り。
> fprintf(fp2,"%10c :%3d \n",p->word,p->count);
の%10cが間違い。

その実装では、Am 4 が与えられたとき、
am : 1, 4m : 1という出力になるとおもう。
最初の初期化は止めて、compする前に
NULL文字を詰めてはどうか。

getchをうける c はintであるべき。
0514512=398NGNG
>>513
もう少し詳しくお願いします・・・
初期化はtempのことですよね?
最初に初期化するのを止めてcompの前に初期化って事ですか?
compする時にはtempに単語が入ってるんですけど・・・

それとgercうけるのはintということは文字は全部intで処理したほうが
いいのかな?
でも単純にこの中に出てきたcharを全部intに置き換えても
うまくいかない・・・・・
0515デフォルトの名無しさんNGNG
temp[i]='\0';って事さ。null terminatedの意味をもちっと
考えようや。

getcの返す値のうち、EOFのみがcharの範囲にない。
だから、その部分だけintで処理すればいい。

あとついでに、isalphaとかつかおうや。
0516514=398NGNG
http://www2.nasicnet.com/~hila/repo022.c

ちょくちょく直してみましたがまだ来ません・・・
うう、時間がない・・・
0517デフォルトの名無しさんNGNG
>> fprintf(fp2,"%10c :%3d \n",p->word,p->count);
>の%10cが間違い。
(´Д`)y-~~ とっととなおせや。
05188945NGNG
確かにコレはすごいな……。
http://www.puchiwara.com/hacking/
0519516=398NGNG
あー、すいません。
これってどこがちがうんですか?
0520デフォルトの名無しさんNGNG
printf("%10c\n", "hello World!");
printf("%10s\n", "hello World!");
0521519=398NGNG
ああ、なんてしょうもないミス・・・
なんとかだいぶ近づいたんですけどまだカウントされない
単語があるみたいでうまくいきません・・・
http://www2.nasicnet.com/~hila/file2.txt
0522デフォルトの名無しさんNGNG
コンパイラの警告を無視すんなよ‥‥
少なくとも3つ出ているはずだが。
0523521=398NGNG
え?警告でてませんけど・・・?
0524デフォルトの名無しさんNGNG
ファイルから取り出した単語が登録されていなかったら、comp()の戻り値はなに?
0525怜派NGNG
>>398
compのロジックが間違ってるよ。
もう一度見直したほうがいいね。
それと、ホントに警告出ないの?
0526デフォルトの名無しさんNGNG
むぅ。gcc version 2.95.3なら、たしかに何も云わないな。
「-Wallをつけなければ。」 gccで -Wallをつけるのは
常識だと思っていたが。
0527523=398NGNG
う〜ん、わからないなぁ。
compどこがおかしいんでしょう?

コンパイルはウインドウズでやってるのでgccじゃないんです。
http://hp.vector.co.jp/authors/VA009829/ft/etcdown.html
これつかってます。
警告でないです・・・
0528  NGNG
http://tmp.2ch.net/test/read.cgi/lobby/1011007664/
0529怜派NGNG
>>398
じゃあ仮に、まずfooという単語を最初に登録する。
この時main内のFの値は?
0530怜NGNG
>>509
LU分解じゃなくて、行列を基本変形させていく方法で解けない?
0531527=398NGNG
ああ、できた!!!
ありがとうございます!
でも単語出てきた順番が逆・・・
まぁいいや、次がんばろう・・・
0532怜NGNG
>>531
今、add_listで、リストの先頭に付け足してるよね?
そうじゃなくて、リストの最後に付け足すようにしないとね。
0533怜派NGNG
>>398
怜タンの言う通り、先頭に付け足すとマズイよ。
て言うか、あのサイトのコピペしたでしょ?

(;´Д`)ハァハァ…。
0534531=398NGNG
コピぺといか自己参照構造体がはじめってなのでみながら・・・
ってほとんどコピペしたのとかわらんけど・・・

後ろに付け足す場合、一つ目のデータをmallocした時にまだ二つ目の
データのアドレスがわからないですよねぇ?
これはどうやって指定するんでしょう?
0535デフォルトの名無しさんNGNG
NULLでターミネートしとけばいいやん。
0536怜NGNG
>>534
 えーと、*P以外にもう一つポインタ作って、headから辿っていけばいいん
じゃないかしら? あと、新しく作られた構造体は、一番最後につくはずだ
から、nextはnullが入るよね?
 蛇足かもしれないけど、compの中で、最後まで読んでみつからなったとき
に、addした方が二回リストを辿らなくていいから効率いいと思うよ。
0537怜派NGNG
>>398
新しくmallocした時に、nextをNULLにしておく。
それでheadから辿って、nextがNULLの場合に
新しいデータを付け足す。
0538怜派NGNG
怜タンと被っちゃったよ。
(;´Д`)ハァハァ…。
0539デフォルトの名無しさんNGNG
>>527
Windows 用の gcc もあるって。
Cygwin 入れろ。
0540デフォルトの名無しさんNGNG
>>537
mallocした構造体の数が膨大になると辿るのも時間かかるから、
最後にmallocした構造体のポインタを記憶しておく
0541デフォルトの名無しさんNGNG
>>540
でも、mallocするときってのは、無い単語のときだけだから
結局一回最後まで辿るんじゃないの?
0542534=398NGNG
この場合headの初期値は何を入れておけばいいんでしょう?
NULL入れると先頭がNULLになってまずいですよね・・・?

http://www2.nasicnet.com/~hila/repo02.c
http://www2.nasicnet.com/~hila/file1.txt
http://www2.nasicnet.com/~hila/file2.txt
0543怜NGNG
>>542
 ソースはまだ見てないけど、NULLにしといて、head == NULLの場合だけ
別の処理をするようにするのが普通かな?
0544デフォルトの名無しさんNGNG
headをダミーノードにするってのもありかも。
0545デフォルトの名無しさんNGNG
決定性有限状態オートマトンについて。

SとIとp∈Sを固定した時、決定性有限状態オートマトン(S,I,δ,p,F)
は全部でいくつあるか。|S|と|I|の式で表せ。
0546デフォルトの名無しさんNGNG
>>545
引っ掛け問題だな。正解は全部で常に1
0547542=398NGNG
う〜ん、うまくいかない・・・
putlistのところ、最初にint i=0;をつけて
ループのところを

while(i<=1){
fprintf(fp2,"%15s :%3d \n",p->word,p->count);
p=p->next;
if(p=NULL)
i++;
}
としたんですが、コンパイルしたあと実行すると応答が無くなって
閉じてからもっかいやり直すと共有違反がでて再起動しないと
直らなくなります・・・
0548デフォルトの名無しさんNGNG
まず、iの意味を教えてくれ
0549デフォルトの名無しさんNGNG
漏れの流儀ではこう。
for(p=head; p ; p=p->next)
 fprintf(fp2,"%15s :%3d \n",p->word,p->count);

あ、547のは、if(p=NULL)がtypoかどうかにかかってると思う。
0550怜NGNG
>>545
要するに、初期状態と、遷移関数の組み合わせの数だよね?
初期状態は、|I|(ちょっと記号に自信ないけど、入力アルファベットの数
でいいんだよね?)通り。
遷移関数だけど、ある状態A∈Sから、入力iがきたときに考えられる遷移
は|S|通り。これを考えられる全ての入力について考えなければいけないか
ら、一つの状態について、|S|^|I|通り考えられわけね。
 そして、これを全ての状態について考えなければいけないから、
(|S|^|I|)^|S|通りの状態遷移関数が考えられるわけ。
だから、答えは、
|I|*(|S|^|I|)^|S|
かなぁ・・・。あんまりしっかり考えてないから間違ってるかもだけど。。
0551デフォルトの名無しさんNGNG
あと、i=0で初期化して、whileの条件が i<=1、脱出フラグで
i++;ってのも止めた方がいいよ。それにしても、i<1だろうけど。
0552怜NGNG
>>547
とりあえず、if(p=NULL) はif(p == NULL) じゃないかしら?
0553デフォルトの名無しさんNGNG
>>547
単に無限ループしてるだけとちゃうんかい。
iに構造体のポインタ代入しないと。
0554547=398NGNG
あー、だめだ。
えーと、headは最初がNULLなので2回目のNULLでおわらそうと思って
それを数えるためにiをつかったんです。
p==NULLにしてもだめだった・・・

>>549
この関数の中にはheadはないんです。
mainのheadをpに読み込んでるので・・・
あとforの真中のpってどう言うことですか?
0555デフォルトの名無しさんNGNG
>554
なら、headを引数でもってこいや。

if( p ) は if( p != 0 )と等価。
0556デフォルトの名無しさんNGNG
ちょっとまて。headが最初NULL? いったいどこの「最初」の話だ?
putlistに入ったとき、headがNULLなら、そのまま帰るべきだし、
(そうでないなら、NULL->nextを実行させたい、ってことやで)
そうでないなら、「最初NULLだから2回目の」なんて妙な条件を
付ける必要はないし、つけてはいけない。
0557554=398NGNG
headを引数で持ってきてpとしてるんです。
549のpはどういう意味なんですか?
headを引数で持ってきてpとしてるように思えますが・・・
でもそれだとこの関数の中にはheadがないし・・・
0558557=398NGNG
おっとかぶった・・・
えーと、最初にmainでheadを定義したときheadの先頭ポインタをNULLと
したんです。
で、それに続けてデータを入れていく、という風にしている(つもり)です。
う〜〜ん、わけわからん用になってきた・・・
0559デフォルトの名無しさんNGNG
関数ごとに、関数の目的と、何をどんな手順で処理していくのかを
箇条書きでもなんでもいいから、もう一度考えて書いてみることを薦める。
0560558=398NGNG
一応出てくる順番が逆ならできたのでそんなに大きく
はずれてはないと思うんだけど・・・
あぁ、今日1日中やってるのにできない(;´Д`)
明日中に4番まで終わらせたいんやが・・・
0561デフォルトの名無しさんNGNG
オチンチン見て
0562558=398NGNG
みた
0563デフォルトの名無しさんNGNG
勃ってる?
0564558=398NGNG
縮んでる
0565558=398NGNG
これって考え方としてはheadの最初にNULLを入れないようにすればいいんですか?
それともheadの最初のNULLを避けるようにputlistのループをまわすんですか?
0566デフォルトの名無しさんNGNG
リストに要素が追加された時点で、headは実体化される。
次の要素が入ったときには、head->nextが実体化する。
headがnullってことは、リストが空って事さ。
0567565=398NGNG
mainで最初headの先頭ポインタをNULLにしてるじゃないですか?
これで先頭がNULLになるんですよね?
で次のデータはNULLの後ろに入るのではないんですか?
だからheadの最初がNULLだからputlistのループがすぐ終わってしまって
結果がこうなる↓のじゃないかと思ってるのですが・・・
http://www2.nasicnet.com/~hila/file2.txt
その考え方自体ちがうのかな・・・??
0568565=398NGNG
でもよく考えたらtheだけってのはおかしいな・・・
0569デフォルトの名無しさんNGNG
君がどうheadを処理しているのかは判らないが、
head=NULL;で、
head->next = malloc(,,,);
などという愚行をやっていないことを祈る。
0570デフォルトの名無しさんNGNG
???

>>545 の回答って >>550 でいいのか?
0571デフォルトの名無しさんNGNG
とりあえずNULLな領域を
fprintf(fp2,"%15s :%3d \n",p->word,p->count);
とするのは止めないといけないのでは?
0572565=398NGNG
うぅ・・・もうみんな寝ちゃったのかな・・・
また明日がんばろう・・・
0573565=398NGNG
お、それってheadの最初に入ってるNULLを避けてループするってことですか?
headの最初にNULLをいれないじゃなくて。
0574デフォルトの名無しさんNGNG
・そもそも、add_listでhead = NULLのときの処理をきちんと行う
・getcのループが終わったとき、変数headがリストのケツを指している。
のをなんとかしろ。
0575Riva ◆RivaByXA NGNG
>>573
レスの目をとおしてないで聞くのは申し訳ないんだが、
このプログラムは結局何をさせるの?
0576デフォルトの名無しさんNGNG
>>570
あってないと思ったら、自分の回答書いてみたら?
0577怜派NGNG
>>573=>>398
そもそもputlistの時点でheadがNULLを指しているのがおかしいと思うよ。
0578Riva ◆RivaByXA NGNG
レスの目を→レスに目を通して
0579怜派NGNG
>>578
>>398だけ見ればわかると思うよ。
0580Riva ◆RivaByXA NGNG
>>579
ありがとう。
0581573=398NGNG
う〜ん、すぐにはわかりそうにないなぁ・・・
また明日考えます・・・
0582おわんねーNGNG
明日の朝、発表の課題です。
レイトレの並列化してます。
エラーの意味がわかりません。

neg**non-integral: DOMAIN error
これって、どんなときにでるエラーですか?

ねむくてしにそう・・・
0583Riva ◆RivaByXA NGNG
>>582
http://proxy.ymdb.yahoo.co.jp/users/9d41a928/bc/test.c.c?bcP14k8AF6CJiUXL
↑
これではだめかい?
0584デフォルトの名無しさんNGNG
ん? 582 != 398だとおもうが。
いずれにせよ、head == NULL のとき、
q=head;
q->next=p;
で、core。
0585Riva ◆RivaByXA NGNG
失敬。もう一度修正するね。
0586Riva ◆RivaByXA NGNG
http://proxy.ymdb.yahoo.co.jp/users/9d41a928/bc/test---1.c.c?bc0h1k8Ast_pTj8K
こうかな?
0587デフォルトの名無しさんNGNG
when head == NULL
q=head;
while(q->next != NULL){
q->nextでcoreかと。
0588Riva ◆RivaByXA NGNG
>>587
headも最初にmallocで確保して作るということでいい?
0589587NGNG
あちしに訊かれても困るけど、まぁ、いいんでないか。
0590Riva ◆RivaByXA NGNG
>>589
ごめんなさい。(^^;
0591Riva ◆RivaByXA NGNG
ttp://briefcase.yahoo.co.jp/snakayam55
↑
答えは上にあるけど、自分でやってね。
0592582NGNG
ごめんっす。
ぼくは、ここにきたの初めてでした。
ログ読む暇もないくらいテンパってます・・・

>583さん
みれないよー(涙)
0593麻衣派NGNG
麻衣タン…ハァハァ
0594連立方程式が解けません・・NGNG
どこがまずいのでしょうか

#include <stdio.h>
#include <math.h>
#define N 5
#define EPSILON 1.0E-10

float a[N][N]={{1.0, 1.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 1.0, 1.0, 0.0},
{0.0, 1.0, 1.0, 0.0, 1.0},
{0.0, 0.0, 1.0,-1.0,-1.0},
{1.0,-1.0, 0.0, 0.0, 1.0}};
float b[N]={10.0, 10.0, 20.0, 0.0, 0.0};

int k;
float x[N];
void main()
{
int i,j;
void gau_sei();
printf("\n\n ===係数行列と定数 ===\n\n");
for(i=0; i<N; i++)
{
for(j=0; j<N; j++) { printf("%10.4f",a[i][j]);}
printf(" %10.4f\n",b[i]);
}
gau_sei();

printf("\n\n ===解 ===\n\n");
printf("繰り返し回数 = %d\n\n",k);
for(i=0; i<N; i++) printf(" x[%d] = %10.4f \n",i+1,x[i]);
}

void gau_sei()
{ int i,j;
float Nk,xx;

k=0;
for(i=0; i<N; i++) x[i]=0.0;
do
{
k=k+1;
Nk=0.0;
for(j=0; j<N; j++)
{
xx=b[j];
for(i=0; i<N; i++) if(i!=j) xx=xx-a[j][i]*x[i];
xx=xx/a[j][j];
Nk=Nk+fabs(xx-x[j]);
x[j]=xx;
}
} while(Nk>EPSILON);
}

0595連立方程式が解けません・・NGNG
解のところで
x[2]=1.#INFとか出るんですけどこれの意味が
あと同じく 1.#INDってのも
0596怜NGNG
>>595
ソースしっかり読んでないけど(どういった手法で解こうとしてる
かくらいは書いて欲しいな・・・)、xx=xx/a[j][j];ってところで、
0で割っちゃってるんじゃないかな?
0597連立方程式が解けません・・NGNG
ガウスザイデル法っていう奴です。
すいません
0598連立方程式が解けません・・NGNG
ちょっと出直してきます
0599怜NGNG
>>597
>>594クンは、>>474の排他和の問題の人?
 だったら、ガウスザイデル法みたいな、近似させていくやり方は
無理だと思うけど・・・
0600連立方程式が解けません・・NGNG
474さんではないです。
0601怜NGNG
>>600
あ、人違いだったのね、ごめんね。

で、問題のプログラムだけど、前に書いた通りxx=xx/a[j][j];で0で割ってる
のがいけないんだと思う・・。
 ガウスサイデル法知らなかったから、今調べてきたところなんで余りアテ
にはならないかもしれないけど、対角成分は全部0であったらまずいんじゃな
いかな? だから、行を入れ替えて対角成分が全部0にならないようにする
んだと思うわ。 もし行を入れ替えて対角成分を全部0じゃなくできないなら
答えがあることは保証できないしね。
0602411NGNG
遅レスですいません。
>>414のエレベータの円運動って何なんですか?
あとエレベータのアルゴリズムはまださっぱりわかりません。
0603怜NGNG
>>602
エレベータが今、6階にいるとするよね?
それで、3階と9階でボタンが押されてたとしよう。
このとき、エレベータはどっちにいけばいい?

うまくやらないといつまでもエレベータが来なくなっちゃうよね?
そのため円運動みたいなことを考えるの。
今、1階から上に上っていって、6階で客を降ろしたとすると、
今、上に上っている最中だから、まず最上階までで下に下りてくる
の。ただ、このときに6階から上で全くボタンが押されてなければ、
最上階まで行って、6階まで降りていくというのは無駄だよね?
 だから、この過程を省略したと考えて、この場合は下りはじめる
ってことね。
0604411NGNG
>>603
ありがとうございます。
話が戻ってしまうんですけど時間の概念で
whileで1stepずつ増やしていくのはわかるのですけど
エレベータの移動に10stepかかるとしたら
10step後までエレベータは何もしないようにするには
どうすればいいのですか?
0605582NGNG
happyou damedesita----
0606怜NGNG
>>604
 何step待ってるかというのを、何か変数でもって、10溜まるまでは
単にその変数を+1するだけ。で、その変数が10になったならば、
エレベータを動かす処理をする。じゃだめかな?
0607デフォルトの名無しさんNGNG
>604

RTOSの下で? それともWindowsアプリとして?
0608411NGNG
>>607
ただのC++の課題です。
UNIXで作っています。
クラスを何にしていいのかすらわからない状態で
課題が終わりそうにないです。
0609麻衣NGNG
>>411
 色んな実現方法があるから困ってしまうよね

麻衣なら
 1)操作ボタンクラス 外の上・下のボタン 中の階ボタン類
   これらは1インスタンスで1ボタン
   押されたら管理クラスにメッセージ

 2)管理クラス
  エレベータ現在位置とボタンクラスからのメッセージからどこに行くか決定
  到着したらボタンクラスにメッセージ

 3)コントロールクラス
   次にどの階に行くかを実際にコントロールするクラス

 4)エレベータシミュレータ
   重力、慣性を適当に作る

 5)タイマー 10mS毎にそれぞれのインスタンスにメッセージを送る

こんな感じで設計するかな
0610411NGNG
>>609
エレベータクラスは作らないのですか?
それともエレベータクラスがこれらのクラスを持っているということですか?
0611麻衣NGNG
JAVAならエレベータクラスも作るだろけど、

もしかして同時に2台以上動かすとか必要? 
0612デフォルトの名無しさんNGNG
#include<stdio.h>
main()
{
printf("おまんこ\n");
}

このプログラムは何点ですか?
0613デフォルトの名無しさんNGNG
#include<stdio.h>
main()
{
printf("山崎ホウセイはlinuxユーザー\n");
}

なんてん?
0614デフォルトの名無しさんNGNG
3点

減点要素
×main は帰値型を付けていないのでintを返さなければいけない
×mainの定義が正しくない
×将来性のかけらも感じられない
×ギャグにもなっておらず寒すぎ
0615411NGNG
>>611
エレベータは2台あるので同時に動かさないといけないです。
0616デフォルトの名無しさんNGNG
>>614
もちろん10点満点中だよね?
0617デフォルトの名無しさんNGNG
> エレベータシミュレータ
エミュ
0618怜NGNG
411クンはどれくらいプログラムできるの?
それによってアドバイスが変わってくるから・・・
0619411NGNG
>>618
エレベータとフロアと客をクラスで作ろうかなと思っているくらいで
まだ先が見えてこない状態です。
0620怜NGNG
いや、プログラムできてるの?
じゃなくて、
プログラムできるの?
ね。
どれくらいプログラミング経験あるのかなーとか、
どの程度、複雑なプログラムなら組んだことあるのかなーとか、
0621411NGNG
もういいよ
0622411NGNG
C++でクラス作ったり継承ができるくらいかな?
プログラムは大学で習ったくらいです。
そんなに複雑なプログラムは作ったことないです。
今回出た課題が一番難しい課題です。
0623怜NGNG
一応クラス使えたり継承使ったりはわかるのね。
じゃあ、麻衣ちゃんを見習って私ならこうクラスを設計する、
っていうの書いてみようかな。

★乗客クラス
 乗客のクラスね。●階から○階へ移動したいと思ってるという
情報を持ってるのね。

★フロアクラス
 各階の情報ね。待ってる乗客のオブジェクトを持っていたりする。
で、上・下のボタンが押されているかどうか、というのも持ってる
のね。

●エレベータクラス
 エレベータのクラスね。
 まず、中に乗ってる乗客のオブジェクトを持ってないとね。
 あと、各階のどのボタンが押されてるかも知りたいから、
各階のクラスへのポインタでも持たせておくといいかな。
 もちろん、今何階にいるとかいう情報ももたせないとね。
どうやって動くかというロジックはここに書くのかな。
 このときもう一方のエレベータとも連携させないといけ
ないから、もう一方のエレベータへのポインタも持たせて
おこうね。

 とりあえずは、こんなところかな?
0624怜NGNG
で、時間についてだけど、実時間(シミュレーションしていると
きに、その結果をリアルタイムで観察させたいなら、ってことね)
と対応させるにはどうすればいいかってことだけど。
 麻衣ちゃんが言ってたみたいにタイマー使ってもいいし、それ
が面倒なら課題レベルならビジーループ(時間をかけるために無
意味にループさせる)させてしまっていいと思うよ。
0625デフォルトの名無しさんNGNG
char str[][]={"怜=","ひげおやじ"};
0626581=398NGNG
>>591
ありがとうございます!!
見ながらやってなんとかできました!(あたりまえ)
う〜ん、こうやるんですねぇ・・・

で、いくつかわからないところがあるんですけど、
僕がexit(1)でおわらしてるところreturn(0)に書き換えてますよね?
これはなんでなんでしょう?
あとstruct dataのメンバは3つだけど、struct data型の引数は3つですよね?
これもOKなんでしょうか?
0627Riva ◆RivaByXA NGNG
>>626
>僕がexit(1)でおわらしてるところreturn(0)に書き換えてますよね?
>これはなんでなんでしょう?

特に理由はないんだけど・・。(w
main関数は基本的にint型の返値を持たせるため。
exit(1)でもいいよ。
ただ、gccとか使ってコンパイルすると警告がでてきてしまう。
0628Riva ◆RivaByXA NGNG
>あとstruct dataのメンバは3つだけど、struct data型の引数は3つですよね?
>これもOKなんでしょうか?

headとpとqのことかな?大丈夫だよ。
これは単にmallocで作ったデータの住所を保持してるだけだから。
このプログラムを実行すると
[]→[]→[]→[]→[]→[]→NULL
↑
head
という構造ができて、その先頭のオブジェクトの住所がどこかを記憶してるのが
headというポインタ変数。だから、
struct data *temp;
だけだと、tempは何も指さないNULLデータ。
mallocでオブジェクトを生成させると、そのオブジェクトの住所が入る。
で、temp=head->next;とすると、
[]→[]→[]→[]→[]→[]→NULL
↑ ↑temp
head
となって、headの次のオブジェクトにアクセスできるようになる。
0629怜派NGNG
>>625
ヽ(`Д´)ノ
0630626=398NGNG
>>627,628
なるほどぉ。
628のほうは時間が無いので後で考えます(爆)
で、>>398の3番の問題をやりはじめたのですが(2番をちょこちょこいじっただけ)
コンパイルのときにエラーがでてどこが間違ってるのかわかりません・・・
自分で作った関数compはパラメタリストにないと出るのですが・・・

http://www2.nasicnet.com/~hila/repo03.c
0631デフォルトの名無しさんNGNG
2のプログラムにパイプつけてsortを呼び出すのは、無しなんだろうな‥‥
それはともかく、mainで、中括弧{}がそろってない。
まともなエディタ使ってるか?
0632デフォルトの名無しさんNGNG
>>623
乗客クラスはいらないんじゃないかな?
次に何階に行くかは、エレベータクラスが情報として持っていればよい。
何階で呼んでいるかは、フロアクラスが持っていればよい。
実際、エレベータに人が乗らなくても、ボタンさえ押せば運行できるわけ
だから、そのほうが自然だと思う。
0633Riva ◆RivaByXA NGNG
>>630
プログラムはエラー箇所が結構あると思う。
3番のような問題は2番のような線形リストではなく、
二分検索木などを使う。
スタックを使ってもできるかもしれないけど、ちょっと強引かな。
0634632NGNG
あ、でも、シミュレーションするには必要か・・・
0635630=398NGNG
てことはもう一回最初からかかないとだめなんですかね・・・?(;´Д`)
明日の朝学校にもって来たいから今日の夜中におわらしたいけど
むりかなぁ・・・・
0636Riva ◆RivaByXA NGNG
>>635
二分木を使わなくても、
線形リストに加える時に,リストの最後につけるのではなく,
ソートしながら加えていけばできるよ。
0637Riva ◆RivaByXA NGNG
先頭からstrcmp()を使って比較して、strcmp()の返値が
負になったら、前のデータと、今比較したデータの間に
加えたいデータをつなげる。
0638怜NGNG
>>630
まあ、課題だし二分木使わなくても十分でしょう。
とりあえず、if〜elseの中括弧の対応関係がおかしいよ。

あと、一度新しい単語を登録したら、compから抜けようね。
0639636=398NGNG
二分木はわからないので線形リストでがんばってみます・・・
ところで標準入力でCtrl+ZをおしてもEOFが返されないみたいで、
^Zと表示されるだけでなにも起こらないんですけど・・・
あ、Windowsでの話です。
0640怜NGNG
>>639
うーん、どういう環境(コンパイラとかそういうのね)で実行
してるの?
0641639=398NGNG
http://hp.vector.co.jp/authors/VA009829/ft/etcdown.html
コンパイラこれです。
でもこれエラーが1つずつしか表示されないので別の使うことにします・・・
0642デフォルトの名無しさんNGNG
>>641
どこまで逝った?
問題2、3のソースを見せて、たのむ!
0643Riva ◆RivaByXA NGNG
>>641
EOFは大概中括弧の数が合っていない。
0644デフォルトの名無しさんNGNG
誰か覆面算の解くプログラム作ってください
ちなみに言語はprologかc言語でお願いします

learn+linear+logic=prolog
0645怜NGNG
>>639
 ・・・ってソース読んでみたら、これって、標準入力から受け取ってる
んじゃなくて、ファイルから読み込んでるんじゃないの?
 それだったら、何も起こらないのはあたりまえだけど・・・
0646Riva ◆RivaByXA NGNG
>>int main()
mainの型が宣言されていない。
>>comp(char *cdata,struct data *p)
構文がおかしい。括弧の数などが違う。
0647641=398NGNG
>>645
え〜と、>>398みてもらえばわかると思いますけど、ほんとは標準入力
からよんでfile1に出力し、そのfile1を読み込みfile2を出し、
またfile1を読んでfile3を出し、最後にfile2とfile3を出力するという
ひとつのプログラムなんです。
標準入力からEOFをかえせないから飛ばしてファイルよむところから
やってるんです。

だいぶ警告減ってきました、もう一息。
>>646
main()にも型の宣言いるんですか?
0648641=398NGNG
>>642
もしかしてうちの学校の人だったり・・・?
まぁいいや・・・

ぐ・・・コンパイルできたけど出てきたfile3は空っぽ(爆)
http://www2.nasicnet.com/~hila/repo02.c
http://www2.nasicnet.com/~hila/repo03.c
0649Riva ◆RivaByXA NGNG
>>647
なくてもコンパイルできるけど、関数の前には
型をつける癖をつけておいた方がいいよ。
0650怜NGNG
>>648
えっとね・・、
compにはhead->nextじゃなくて、headを渡すべきじゃないかな?
0651デフォルトの名無しさんNGNG
>>648
神よ!!サンクス!
0652デフォルトの名無しさんNGNG
>>651
丸写しするとバレルから気をつけな
0653デフォルトの名無しさんNGNG
>>652
ラジャー♪
0654648=398NGNG
>>651
やっぱりうちの学校か・・・
2はできたけど3はまだやから。
まぁ何とか今晩中におわらしたい。
あと課題は全部くっつけなあかんやろ?
あと丸写しはせんといて、微妙に変えて使ってくれ・・・
0655割り込み名無しさんNGNG
while(!p->next){
  n = p->next;
  f = strcmp(n->word,word);
  if(f == 0){   /* 等しい */
    m = makeNewItem();
    strcpy(m->word,word);
    m->next = n;
    p->next = m;
    break;
  }
  elseif(f>0){   /* wordのが小さい */
    m = makeNewItem();
    strcpy(m->word,word);
    m->next = n;
    p->next = m;
    break;
  }
  elseif(f<0){   /* wordのが大きい */
    if(n->next == NULL){
      m = makeNewItem();
      strcpy(m->word,word);
      m->next = NULL;
      n->next = m;
      break;
    }
    p=p->next;
  }
}

struct data* makeNewItem(void)
{
  return (struct data*)(malloc(sizeof(struct data)));
}

リスと入れ替え部分のみだが、こんなんかな?
0656デフォルトの名無しさんNGNG
誰か覆面算の解くプログラム作ってください
ちなみに言語はprologかc言語でお願いします

learn+linear+logic=prolog

簡単すぎて誰も相手にしてくれないのかな?ほんとお願いします。
覆面算の例でもいいからだれか書いておいてください
0657654=398NGNG
かぶった。
てかうちの学校何人おるんやろ。
番号!
いーち!
0658デフォルトの名無しさんNGNG
>656
理論的に、解ける、というので十分かね?それだと、ブルートフォースで終わりだけどな。
矢張り、実用的な時間内に解かないといけない?
0659割り込み名無しさんNGNG
しまた、

whileの下3行は

  }
  p=p->next;
}

こちらです。
0660デフォルトの名無しさんNGNG
ブルーとフォースでも一瞬だろ
0661デフォルトの名無しさんNGNG
>>656
 だから、丸投げすると怒っちゃうって。考え方だけね。
文字の種類は、a, c, e, g, i, l, n, o, p, r
の10種類? 覆面算って全部違う数字である必要があるんだっけ?
だったら、10^10通りの組み合わせを全部試して・・・しまったら
ちょっときついかな。枝狩りをしていくしかないね。
じゃあ、
各桁について、式をたててみようか?
g = (c + r + n) % 10
o = ( (c + r + n) / 10 + r + a + i ) % 10
l = ( (c + r + n) / 10 + r + a + i ) / 10 + a + e + g
みたいな式がたつよね。
これを上から順に決めていくの。

まず、一つ目の式にあうようにg, c, r, nを仮定する。
で、次に二番目の式にあうように、新たに、o, a, iを仮定する。
ここで、上手くo, a, iを定められなかったら、g, c, r, nを決めなおす。
で、次に三番目の式にあうように、新たに、e, gを仮定する。
これが決めれないなら、o, a, iを決めなおし。

で、あと全体の式が合うように、pが定まればいいわけね。
0662657=398NGNG
>>655
おお、なんか書き方がうまいなぁ・・・

で、内容についてですけど場合わけ3つもいるんですか?
F==0の時はmallocしなくていいのでは・・・?
あと410の怜さんのやり方だと辞書式にあとの単語が出てきたときに処理すれば
いいのでF<0の時だけでいいと思ったんですけど・・・
それはまた別なやりかたなんでしょうか?

僕のやりかたってまったく検討違いなのかなぁ?
0663怜NGNG
あ、661に名前入れ忘れちゃった。
0664デフォルトの名無しさんNGNG
2!
0665デフォルトの名無しさんNGNG
>657
にーって、俺がいちだな。解けた?
だって解らないからしょーがないじゃん。
オリジナルで覆面算作るのもいがいとできないしさ。

だれかほんとお願いします。

>658
プログラムが必要なんです。ブルーフォース?何ですかそれ。
0666デフォルトの名無しさんNGNG
653ではないけど僕も同じ学校!に。
0667デフォルトの名無しさんNGNG
>661
べつにどーでもいい話やけど。
全部違う数字なら、総当たり回数は10!になるんやないの?
0668怜NGNG
>>667
うん、書いてから思った・・・
0669デフォルトの名無しさんNGNG
666訂正三人目。頑張ってるけど全くムズカシー。
0670怜NGNG
>>661
あと、
l = ( (c + r + n) / 10 + r + a + i ) / 10 + a + e + g
は
l = ( ( (c + r + n) / 10 + r + a + i ) / 10 + a + e + g ) % 10
ね。念のため。
0671割り込み名無しさんNGNG
>>662
>F==0の時はmallocしなくていいのでは・・・?
まったくそのとおりです。脳みそ眠ってました(藁
>・・・いいのでF<0の時だけでいいと思ったんですけど・・・
そうなのですが、もう一度ループまわすのが嫌いなのでそうしました(藁
0672デフォルトの名無しさんNGNG
枝狩りするならab+cd=efgのとき、e=1しかない、っていうような制限も使えるよね。
0673デフォルトの名無しさんNGNG
http://pc.2ch.net/test/read.cgi/tech/1011112423/
02/01/16 01:33ってどういうことやねん。
0674     NGNG
ryuukokutte hisannna gakkou dane puppupu
0675怜派NGNG
>>398
K&R見ればほとんど答え載ってるんだけどなぁ…。(;´Д`)
持ってないよね…?
0676デフォルトの名無しさんNGNG
怜さんありがとーございます。
先生は簡単に作れるみたいな事言ってたけどできないんすよ。自分で作ったのを
(例えば haha+titi=ryousin)
と打ったら成り立つか、成り立たないかを判定してくれるHPはあるんですけど意外と成り立たないんですよ。適当に考えても無理なんですかね?
 
0677デフォルトの名無しさんNGNG
>676
?覆面算をつくるのか解くのか両方か、どっちでもないのか、どれさ?
0678怜NGNG
 少し言っておくと、ここのスレに限らずこの板の人は、頑張ろうとして
いる人にはやさしいけど、丸投げクンには冷たいよ。

 覆面算作るのは、適当に式作って、1はnとか適当に決めて各桁の数字を
置き換えるだけでいいんじゃないのかな? 意味をもたせたいなら、辞書
用意しないと無理だしね・・。
0679657=398NGNG
>>671
m->next = NULL;
って言うところありますけど、新しい単語をmに作って
次のポインタNULLにしたら辞書順に後ろの単語はどこへいくんでしょう・・・?(爆)

ちなみにおいらはryuukokuちゃうますぜ
0680怜NGNG
>>676
 んーと入れ違い・・。
 簡単に作れるっていうから、きっと単に意味なくてもいいん
じゃないかな?
0681デフォルトの名無しさんNGNG
僕もちゃいます。もっと頭悪いとこです(爆)
0682怜NGNG
きっと単に→きっと単語に
0683679=398NGNG
>>675
なにそれ・・・??
0684デフォルトの名無しさんNGNG
単語適当にって、それなら僕は
send+more=money、base+ball=games
とかの有名問題のことばを入れ替えるだけでできますよね。そんなのでいいのかな〜
0685怜NGNG
>>684
あー、自分でってプログラムじゃなくて、手で作るってこと?
それはどうだろう・・・。覆面算の作るコツなんて知らないなぁ・・。
検索したら何かコツみたいなのが引っかかるかも。
0686デフォルトの名無しさんNGNG
>>683
398 みたいなのは Perl や Ruby で書けば 20 行くらいだと思うが C じゃないとだめなの?
0687グダングダン割り込み名無しさんNGNG
>>679
strcmpの返り値が逆でした(鬱
(f>0)とf(<0)をそれぞれ逆にしてください。
whileもwhile(!p->next)じゃなくてwhile(p->next)でした。
これじゃループは入れません

で、m->next = NULL;は一番後ろに入れる場合です。
辞書順に入れる場合では、いらない処理です。
0688Riva ◆RivaByXA NGNG
大学生は今ほとんど期末試験かな?
学期末のレポート提出も近いのか。。
0689デフォルトの名無しさんNGNG
>>686
>398 みたいなのは Perl や Ruby で書けば 20 行くらいだと・・
まぁ、そうだよね。
だが、それがいい。
0690デフォルトの名無しさんNGNG
何かいい例が書いてあるHPないですかね。覆面算の
0691怜派NGNG
>>683
世界一有名なC言語の入門書なんだけど…。(-_-;)
0692683=398NGNG
うう・・・どうしてもFile3の中身が空っぽになる・・・(;´Д`)
http://www2.nasicnet.com/~hila/repo03.c

>>689
688のいうように学校のCの授業の学期末レポートなんですわ・・・
0693デフォルトの名無しさんNGNG
成立している覆面算が欲しいなら、適当な足し算を作って、
それを覆面にすりゃいいじゃないか。まぁ、解が1つだけって
保証はないが、ブルートフォースなら、最低1つはみつかるだろ。
0694デフォルトの名無しさんNGNG
なんつーかな。
compが0返すとき、引数の文字列が、リストに加わらないんだが。
0695デフォルトの名無しさんNGNG
>>692
とりあえず途中にデバグルーチン入れて見れ。
0696デフォルトの名無しさんNGNG
>>692
つーか、最初head->nextはNULLだろ?
で、whileいってwhile(p->next != NULL)じゃループは入れないぞ。
0697Riva ◆RivaByXA NGNG
ヒント
>>while(p->next!=NULL)
0698692=398NGNG
ああ、そうか!
でもまだおかしい・・・
http://www2.nasicnet.com/~hila/repo03.c
表示結果がこんなんなります・・・
http://www2.nasicnet.com/~hila/FILE3.TXT

>>694
も、もうちょっと詳しく易しくお願いします・・・(爆)

>>695
で、でばぐるー・・・なんですかそれは?(爆)
0699デフォルトの名無しさんNGNG
>>628みたいに、リストとポインタの絵を髪にかいたらどうだろう?
0700698=398NGNG
昨日からずっと紙に書きながらやってます、でもできません(;´Д`)
0701揚げ足鳥NGNG
>>699
職人芸が必要!
0702694NGNG
in function comp :
strcmpの結果が常に>0で、その結果制御がreturn 0;のところまで来たら、
リストのケツにその文字列を追加しなきゃいけねぇ、って事さ。
そうしないと、その文字列が、リストから、「漏れる」。
0703デフォルトの名無しさんNGNG
>>698
デバッグ用の処理だべさ。
怪しそうなとこにprintfいれて変数の値を表示させてみな。
0704700=398NGNG
>>702
ああ、そうか!!
う〜ん、なんとか文字が出てきたけどこんなんなった・・・
http://www2.nasicnet.com/~hila/FILE3.TXT

http://www2.nasicnet.com/~hila/repo03.c

>>703
ああ、なるほどぉ・・・
0705699NGNG
>>701 わはは、つっこみ所だと思ったよ<髪

>>698 <デバグルーチン
comp()のstrcmp()のところで、なにを比べてるか表示してみたらどー?
0706704=398NGNG
う〜〜、わっかんねぇ(;´Д`)

>705
F=strcmp(cdata,p->word);
のあとに
printf("%s %s",cdata,p->word);
つけるだけですよね?
なぜかすぐ実行終了してなにも表示されない・・・
0707デフォルトの名無しさんNGNG
head->'a'->'c'->'d' というリストになってるとするわな。
で、これに'b'を追加する、と。
72行の時点で、pは'c'をさしてるわな。rは'd'。
q->next=r; //'b'->'d',
p->next=q; //'a'->'c'->'b'->'d'
つなぎかたがまちがっているのは一目瞭然やね。
0708デフォルトの名無しさんNGNG
>>706
まず、おちつけ。

プログラムが始まって、最初のcomp()の呼び出しの時、headとかhead->nextは、なにを指してる?
(これ、前にも書いたな)
0709デフォルトの名無しさんNGNG
今リストがこうなっているとする(矢印はnext)

[head]→[abc]→[bcd]→[cde]→[efg]→NULL
 p   p->next
     == r

で、比較単語が[def]。
pの中身と比較してるので、1ループ目[head]は素通り、p=p->nextで、[abc]へ
[abc],[bcd],[cde]と比較していって、問題はココ。

[head]→[abc]→[bcd]→[cde]→[efg]→NULL
                    p  p->next
                        == r

ここで、strcmpが<0になるので、新規登録になる。(q)
リストは、

[cde]→[def]→[efg]とならなければいけないが、ソースでは、
q->next=r、p->next=qとなっているので、

[head]→[abc]→[bcd]→[cde]→[efg]→[def]→NULL
                    p  p->next
                        == r

こんなリストができちゃう。
0710デフォルトの名無しさんNGNG
>>707 ケコーンですか。(ワラ

で、また次に同じ奴が来ると、また変なとこに入ってしまう(count++されない)
なので、出力結果に同じ単語が、count 1でいくつも表示されちゃう。
0711706=398NGNG
ああ、なるほど!!
図かいてたけど図が間違ってた(爆)

う〜ん、惜しい、もう一息・・・
この結果はfprintfが余分なとこまでいってるってことだろなぁ・・・

http://www2.nasicnet.com/~hila/FILE3.TXT
http://www2.nasicnet.com/~hila/repo03.c
0712707NGNG
>710
微妙に違う内容の話でないかい?
>709のは、ループ終了条件のバグの話で、
>707のは、リストの挿入につかうポインタのバグの話。

>711
headのmalloc直後の head->next = NULL;を復活させとくように。
それとtempが空のときいcompが呼ばれるのを抑制しとく事。
0713711=398NGNG
>>712
>headのmalloc直後の head->next = NULL;を復活させとくように。
これがあるとcompのwhileループが回らないのでは・・・?
0714デフォルトの名無しさんNGNG
それは、>709が指摘したバグだが。
0715711=398NGNG
あ、そうか!
compとputlistのwhileはwhile(p!=NULL)でいいのか!!
また一歩近づいた!

>それとtempが空のときいcompが呼ばれるのを抑制しとく事。
これをもう少し詳しく・・・

http://www2.nasicnet.com/~hila/FILE3.TXT
http://www2.nasicnet.com/~hila/repo03.c
0716デフォルトの名無しさんNGNG
>>715
空白が2度続いたりとか、空白改行とかの場合は、temp[0]="\0"のまま
compにとんでしまう。
で、それが登録されてしまう。
0717デフォルトの名無しさんNGNG
"in ,.\nhello"みたいな文字を喰わせるとどうなるか、という話。
まぁ、headの表示を抑制する事で誤魔化す手もあるだろうが。
0718デフォルトの名無しさんNGNG
最初にcomp()が呼ばれたときは、head->wordは、どーなってる?
0719715=398NGNG
ふむふむ・・・

temp[i]='\0';
if(temp[0]='\0');{
F=comp(temp,head
temp[0]='\0';
i=0;
}

こうしても上手くいかないんですけど何ででしょう?
tempが空ってのはtemp[0]='\0'というのとは違うんですか?
0720デフォルトの名無しさんNGNG
比較演算は==ね。(大丈夫だと思うけど)
0721デフォルトの名無しさんNGNG
で、temp[0]='\0'なら飛ばしちゃダメです。
temp[0]!='\0'で。
0722719=398NGNG
おっとタイプミスです。

if(temp[0]!='\0'){
 F=comp(temp,head);
 temp[0]='\0';
 i=0;
}
です。
でも結果がかわらないんですよぉ・・・
最初にへんなのが入ってしまう。
http://www2.nasicnet.com/~hila/FILE3.TXT
0723722=398NGNG
ああああああ、できた!!
putlist(head)じゃなくてputlist(head->next)だぁ!

残すは4番のみ!
0724デフォルトの名無しさんNGNG
fp1=fp2=stdin;でおわりやないの(w
0725デフォルトの名無しさんNGNG
思ったんだが、単語は左揃えのが感じよくない?
(書式固定なの?)
0726723=398NGNG
4つ目なんか実行したら表示がおかしいなぁ。
でもこれあってますよね?
僕の環境だとなぜか上手くうごかないことがあるんです。
DOS窓が一行分しかなくて大きくしようとしても
横に広がるだけで大きくならない・・・
たまに広がるんだけど(爆)
http://www2.nasicnet.com/~hila/repo04.c

>>725
確かにそうですね、どうするんでしたっけ?(爆)
0727Riva ◆RivaByXA NGNG
>>726
頑張ったね。おつかれさん。
0728デフォルトの名無しさんNGNG
>>726
それがDOS窓というもの(ワラ
0729怜派NGNG
>>726
最初のほうが表示されてないって事でしょ?
出力が80行を超えるからだね。
DOSだとgetch()を使って表示を止める事ができるけど…。
0730デフォルトの名無しさんNGNG
>729
つか、DOSやろ。LCC試食版でコンパイルしてるし。
0731怜派NGNG
間違えた…。
24行だった…。
鬱…。
0732デフォルトの名無しさんNGNG
>>398よよくがんばった、褒美にこれやる!とっとけ。

http://www7.ocn.ne.jp/~helpme/flash/chinko.swf
http://www7.ocn.ne.jp/~helpme/flash/chinko_anesan.swf
0733Riva ◆RivaByXA NGNG
指定行出力したら、
press enter key to continue..
みたいに入力を求めるようにすれば??
0734怜派NGNG
>>730
一応、学校ではUNIXらしいからどうかな…、と思って。
僕はUNIXほとんど知らないけどgetch()みたいな関数あるの?
0735デフォルトの名無しさんNGNG
fgetsで改行まてばええやん。
0736怜派NGNG
>>735
ごめん、そうだったね。
0737Riva ◆RivaByXA NGNG
>>726
for(int i = 0; (i < 1) && ((ch = getchar()) != EOF) && (ch != '\n');i++ );
↑一文字入力待ち。こんなのでもいいよ。
0738723=398NGNG
いやぁ、おかげさまでなんとか>>398の問題終わることができました!
後はあお4つをひとつにまとめるだけ・・・
教えてくれたみなさん、ほんとありがとうございました!!

>>732
素敵なご褒美ありがとう(笑)

>>737
今日はもうこんな時間な上、明日はやく学校行かないと閉まるので
余裕があったら明日考えてみます(^^;
0739Riva ◆RivaByXA NGNG
頭混乱してた。。。
0740Riva ◆RivaByXA NGNG
>>738
>>737の書き込みは気にしないでおくれ。
0741735NGNG
>737
それってch=getchar()とどうちがうわけ?
0742Riva ◆RivaByXA NGNG
>>741
配列構造に取り込む時に使うソースだった。。。(^^;
0743連立方程式が解けません・・NGNG
ガウスザイデル法は解ける係数行列が限られるみたいですね。
0744Riva ◆RivaByXA NGNG
>>738
for(int i = 0; (i < 256) && ((ch = getchar()) != EOF) && (ch != '\n');i++ );
一応、書いてしまったので、何を言いたかったのか書いておきます。(^^;
getchar()で文字を待つ場合、ユーザが間違って1文字以上の文字を入力すると、
例:)aaa[enter]
それがストリームに残ってしまうので、次のストップがとばされたりします。
そこで、常にストリームを空にするために上のようなコードにします。
ただし、256文字以上一度に入力があったらバグがおきるので注意。
参考までに。

>>735さんのfgetsが一番いいと思う。
0745怜NGNG
>>398
昨日は寝ちゃってたんだけど、完成したのね。
頑張ったね。お疲れ様。
0746怜NGNG
>>743
 とりあえず、>>601でも書いたけど、基本的に解があれば前処理を
すれば、解けると思うよ。
 係数行列の対角成分のうち、どれか一つでも0となるといけないの
ね。これは行を入れ替えることで対処できるわ。例えば
1 2 3  X1   1
4 0 6  X2 = 2
7 8 0  X3   3
って、式は
4 0 6  X1   2
7 8 0  X2   3
1 2 3  X3   1
と、等価よね?

こうすることによって、解ける形にするんだと思うわ。
0747連立方程式が解けません・・NGNG
なるほど
0748デフォルトの名無しさんNGNG
こういう輩がのうのうと単位を取って卒業してくるのか・・・
0749デフォルトの名無しさんNGNG
>>748
友達のを丸写しするよりよっぽどマシだよ。
0750デフォルトの名無しさんNGNG
宿題はここで聞けage
0751デフォルトの名無しさんNGNG
>>749
少なくとも、何処で質問すればよいかを知っているのは重要。
まぁ2chってのもアレだが。
自分でやってみようという根性すらない学生の方が最近多いYO!
0752デフォルトの名無しさんNGNG
>>411
ちょうど卒研で同じことやってるYO!
ただ、俺はJavaだけど…。
皆が言ってるみたいにStepとかは考えてないけどね。
ただスレッド使ってsleep()で制御してる…。
0753超初心者NGNG
疑問に思ったことです

while(scanf("%d",&a)!=EOF)

これは『^Dが「入力されない間」繰り返す』ってことですよね…
(ここがすでに自信ないんですけど)

これを for でやってみようと思って

for(i=1; i<100; i++)   /* 仮に百回繰り返すことにして */
{
  scanf("%d",&a);
  if(a==EOF) break;
}
  
としてみた所、いくら^Dを入れてもループを抜けなくなりました。
んで、ためしに

  scanf("%d",&a);
  printf("a = %d",a);
  if(a==EOF) break;

としてみて、「a」に格納された数値を出力して見れるようにしてみて、
実行してaに^Dを入力すると、

a=10640000 (間違ってると思いますけどこんな感じの数字)

とでて来ました。EOFってたしか -1 ですよね。
これだったらたしかにif(a==EOF) break;にしても、^D(=1064000)
とEOF(=-1)は等しくならないから、if=「真」 にはならなくて、breakしないのはわかります。
でも上の while(scanf("%d"),&a!=EOF) で^Dを入れたらループを抜けるのは
^D!=EOFでwhileが「偽」、つまり^D==EOFになるからループを抜けるんですよね

なぜfor〜if() breakに書き換えた時に^d=1064000になって、ループを抜けれなくなたのでしょうか
ただのコンパイラのエラー?
0754日下部圭子 ◆ib749tYo NGNG
In article >>753, 超初心者/753 wrote:

> for(i=1; i<100; i++)   /* 仮に百回繰り返すことにして */
> {
>   scanf("%d",&a);
>   if(a==EOF) break;
> }

これはこうですね。

int res;
for(i=1; i<100; i++)   /* 仮に百回繰り返すことにして */
{
  res = scanf("%d",&a);
  if(res==EOF) break;
}

# っていうか、scanf()つかうプログラマはドキュソ決定

----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0755超初心者NGNG
ありがとうございます。
sacnf()全体==EOF
なんですね…
式よく見たら確かにそう書いてあるような気が…

ついでにもうひとつだけお願いします
教科書にはscanfが最初に載ってるんですけど、
これは普通は使わないものなんですか?
別の所でもお薦めしないといわれました
超初心者ということですいません。
聞く人周りにいないんで…
0756日下部圭子 ◆ib749tYo NGNG
In article >>755, 超初心者/sage/755 wrote:

> 教科書にはscanfが最初に載ってるんですけど、
> これは普通は使わないものなんですか?

http://lagendra.s.kanazawa-u.ac.jp/ogurisu/manuals/c/C-faq/C-faq-12.html
このページの12.20を参照のこと。

----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0757超初心者NGNG
今さらっと見てきました。
ちょっとそこに書いてること実際にやってみて確認しないとまだ
理解できないレベル(僕が)なんですが、
(知らない単語も結構あったし)
一般的にscanfは扱いにくいということに
なってるんですね。
もう一度後で詳しく見てこようと思います。

ありがとうございました。
0758デフォルトの名無しさんNGNG
>>752
エレベータの問題を普通に課題として出されたんだけど…
0759デフォルトの名無しさんNGNG
すいません ヒントください


0760デフォルトの名無しさんNGNG
>759
何のヒントですか?つか、あなただれですか?
0761怜派NGNG
>>759
>>760
2人のやり取りを見て不覚にもワラタよ。
0762デフォルトの名無しさんNGNG
>>759
すげー気になる、何のヒントなのかせめてヒントくらいくれ ヽ(`Д´)ノ
0763デフォルトの名無しさんNGNG
怜たんの姿が薄く消えていく・・・。
麻衣たんの姿も消えていく・・・。

ひげずらおやじも冬には弱いか・・・。

日下部さんはたくましい。
0764デフォルトの名無しさんNGNG
怜たんは消えてないとは思うが・・・。
新スレたったら、また新キャラ登場するのかな?
0765ビル・ゲイツNGNG
       冫─'  ~  ̄´^-、
     /          丶
    /             ノ、
   /  /ヽ丿彡彡彡彡彡ヽヽ
   |  丿           ミ
   | 彡 ____  ____  ミ/
   ゝ_//|    |⌒|    |ヽゞ
   |tゝ  \__/_  \__/ | |   __________
   ヽノ    /\_/\   |ノ /
    ゝ   /ヽ───‐ヽ /  /
     /|ヽ   ヽ──'   / <  麻衣たん、私の家にこないか?(;´Д`)ハァハァ
    / |  \    ̄  /   \
   / ヽ    ‐-            ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄


0766デフォルトの名無しさんNGNG
ピッ!   ∩∧,,∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      ミ,,・∀・ミ <  怜たん! とっとこヒントください!
       ミ " "ミ    \______________
\ ̄ ̄ ̄ ̄ ̄U ̄ ̄\
 ||\            \
 ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
 ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
    .||              ||
0767怜NGNG
>>766
ごめん、私にもヒントくださいー。
0768ビル・ゲイツNGNG
       冫─'  ~  ̄´^-、
     /          丶
    /             ノ、
   /  /ヽ丿彡彡彡彡彡ヽヽ
   |  丿           ミ
   | 彡 ____  ____  ミ/
   ゝ_//|    |⌒|    |ヽゞ
   |tゝ  \__/_  \__/ | |   __________
   ヽノ    /\_/\   |ノ /
    ゝ   /ヽ───‐ヽ /  /
     /|ヽ   ヽ──'   / <  圭子たん、マイオフィスにこないか?(;´Д`)ハァハァ
    / |  \    ̄  /   \
   / ヽ    ‐-            ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0769ビル・ゲイツ NGNG
       冫─'  ~  ̄´^-、
     /          丶
    /             ノ、
   /  /ヽ丿彡彡彡彡彡ヽヽ
   |  丿           ミ
   | 彡 ____  ____  ミ/
   ゝ_//|    |⌒|    |ヽゞ
   |tゝ  \__/_  \__/ | |   __________
   ヽノ    /\_/\   |ノ /
    ゝ   /ヽ───‐ヽ /  / 怜たん、前スレのお兄ちゃんより
     /|ヽ   ヽ──'   / <  私の方が頼もしいだろう?
    / |  \    ̄  /   \良かったらマイホームに来ないか?(;´Д`)ハァハァ
   / ヽ    ‐-            ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0770ビル・ゲイツNGNG
       冫─'  ~  ̄´^-、
     /          丶
    /             ノ、
   /  /ヽ丿彡彡彡彡彡ヽヽ
   |  丿           ミ
   | 彡 ____  ____  ミ/
   ゝ_//|    |⌒|    |ヽゞ
   |tゝ  \__/_  \__/ | |   __________
   ヽノ    /\_/\   |ノ /bool reitan_is_my_lover=true;
    ゝ   /ヽ───‐ヽ /  / while(reitan_is_my_lover)
     /|ヽ   ヽ──'   / < cout<<"怜「あっ、ゲイツさん・・・あ、はあッ・・・」\n";
    / |  \    ̄  /   \//(;´Д`)ハァハァ怜たん・・・
   / ヽ    ‐-            ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0771デフォルトの名無しさんNGNG
象印クイズヒントでピント。
まずは16分割の問題です.
0772デフォルトの名無しさんNGNG
最初から16分割かい!>>771
0773ビル・ゲイツNGNG
       冫─'  ~  ̄´^-、
     /          丶
    /             ノ、
   /  /ヽ丿彡彡彡彡彡ヽヽ
   |  丿           ミ
   | 彡 ____  ____  ミ/
   ゝ_//|    |⌒|    |ヽゞ
   |tゝ  \__/_  \__/ | |   __________
   ヽノ    /\_/\   |ノ />>770
    ゝ   /ヽ───‐ヽ /  / すばらしいソース。
     /|ヽ   ヽ──'   / < 実行可能ファイルにしてVS.netの
    / |  \    ̄  /   \サービスパックに入れることにしよう。
   / ヽ    ‐-            ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0774デフォルトの名無しさんNGNG
>>773
それするとコメント文が・・
0775デフォルトの名無しさんNGNG
あ、xyzzyのキーボードマクロの人だ。
0776ビル・ゲイツNGNG
       冫─'  ~  ̄´^-、
     /          丶
    /             ノ、
   /  /ヽ丿彡彡彡彡彡ヽヽ
   |  丿           ミ
   | 彡 ____  ____  ミ/
   ゝ_//|    |⌒|    |ヽゞ
   |tゝ  \__/_  \__/ | |   __________
   ヽノ    /\_/\   |ノ /早速実行可能ファイルを作成した。
    ゝ   /ヽ───‐ヽ /  / WinMXでダウンロードしてくれるといい。
     /|ヽ   ヽ──'   / < UserNameはBill_Gates、ファイル名は怜たんハァハァ・・・だ。
    / |  \    ̄  /   \
   / ヽ    ‐-            ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0777デフォルトの名無しさんNGNG
ビルゲウザイ
コピペ荒シageヤメレ
0778ビル・ゲイツNGNG
       冫─'  ~  ̄´^-、
     /          丶
    /             ノ、
   /  /ヽ丿彡彡彡彡彡ヽヽ
   |  丿           ミ
   | 彡 ____  ____  ミ/
   ゝ_//|    |⌒|    |ヽゞ
   |tゝ  \__/_  \__/ | |   __________
   ヽノ    /\_/\   |ノ /
    ゝ   /ヽ───‐ヽ /  / すみません。もうやめます。
     /|ヽ   ヽ──'   / <
    / |  \    ̄  /   \
   / ヽ    ‐-            ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0779デフォルトの名無しさんNGNG
ハリポッターの主人公ってビル・ゲイツに似ていない?
0780日下部圭子 ◆ib749tYo NGNG
In article >>779, デフォルトの名無しさん/779 wrote:

似てません(^^)
ゲイツなんかと一緒にしないでください。

----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0781デフォルトの名無しさんNGNG
>>782
元気か?
0782デフォルトの名無しさんNGNG
>>781
まあぼちぼち。
0783デフォルトの名無しさんNGNG
>>782
優しいね
0784き、期限が…NGNG
はじめまして。
Cでアプリケーションを作りたいのです。
作りたいと思っているのはファイルマネージャです。
でも何からはじめたらイイのかぜんぜん分かりません。
まず何を勉強すればいいのでしょうか?
できれば25日までに作りたいので、皆様すこしずつ教えてください。
二次方程式を解くプログラムぐらいまでならいました。
0785き、期限が…NGNG
持たせたい機能は在るフォルダ以下すべてのフォルダから
ファイルを取り出して種類ごとにソートするというものです。
0786怜派NGNG
>>785
OSは?
0787き、期限が…NGNG
うごかしたいOSはWIN98です。
作る環境は以下のページの
C言語を始めよう!という物に
ボーランド++c5.5です。
0788デフォルトの名無しさんNGNG
ファイルを取り出してソートするだけなら余裕だが、
それをユーザにどう見せるかが問題だな。
>>785の技術知識で、bcc55でGUIを0から作ってたら、数ヶ月はかかる。
0789怜派NGNG
>>787
どうでもいいけどコンパイラ名がメチャクチャだね(藁
CUIならそんなに難しくないと思うけど。
>>788さんの言うように、GUIだと数ヶ月かかるかも…。
0790デフォルトの名無しさんNGNG
BCC55って リソースワークショップ付いてるの?
 付いてるなら Windowsコントロールでまにあわせるというのはダメ?
0791き、期限が…NGNG
すみません、コンパイラのインストールの途中で
AUTOEXEC.BATファイルの書き換えに失敗して
使おうとしてたノートが起動途中のDOS画面から先に進めなくなってしまって。

で、GUIなら無理っぽいですが、
ファイルを取り出してソートするところを教えてください。

0792怜NGNG
>>791
とりあえず、再帰ってわかる?
ポインタとかリスト構造はわかる?
0793き、期限が…NGNG
ポインタはわかりますが、他は?
0794怜NGNG
 とりあえず、Windowsでフォルダ以下にある、ファイル名を取得する
方法探してみたので参考までに。
ttp://members.tripod.com/~masapico/api_FindFirstFile.html

実は私、Windowsでのこういう操作って、MFCでしかやったことないの
よね・・。ボーランドのも使ったことないのよね・・。

子フォルダの仲間では探索してくれないから、再帰とか使って全部のフォルダ
探すようにしてね。
0795怜NGNG
>>793
 再帰というのは、関数の中から同じ関数を読み出すような事ね。
 で、リストっていうのは、まあリストなんだけど。
 ソートするためには、一度そのフォルダの下にある全部のファイル
を調べて覚えないといけない。これをどういった形式で記憶しとくか
というのが問題になるよね?
 大きな配列を作ってもいいし、あとはリストを使うか・・ってこと
になるんだけど・・・。
0796き、期限が…NGNG
なるほど、大変そうな予感。
0797怜NGNG
私も同じ予感がするわ・・・
0798ぁぉNGNG
初心者が超初心者をバカにしながらオナニーするスレはここですか?
うぜぇから地下でやれよ。
0799き、期限が…NGNG
実はこれCでなんかアプリケーションをつくれっていう課題なんです。
でファイルマネージャを作ってみようかと思ったんですが。
こんなに大変だとは。 あーどうしよう。
0800怜NGNG
>>798
 いや、地下でやったら初心者ここにたどり着けないから・・。
単発質問スレ&他スレに初心者流出を防ぐために、このスレだけ
は大目に見て欲しいな。
0801き、期限が…NGNG
すみません、もう一度考え直してきます。
怜さんありがとうございました。
0802怜NGNG
>>801
頑張ってねー
0803怜派NGNG
>>801
またなにかあればいらっしゃい。
0804(;´Д`) NGNG
>Cでなんかアプリケーションをつくれっていう課題なんです。
XORによる暗号化プログラムなんて簡単だしいいかも。
0805デフォルトの名無しさんNGNG
多機能の便利ツールよりは、>>804 みたいに
ある用途に特化した単機能ツールのほうがいいな。

入力と出力をファイルにして、何かのコンバートを行う
というのがよさげ。
0806き、期限が…NGNG
先程はどうも。やっとマイPC復活しました。
 >xorによる暗号化プログラム。
うーん、個人的に欲しいかも。ウィンで使えるのが前提ですが。
 つか、友達とかはゲーム作るなんて言っているのですが、
自分としてはどうせなら自分が欲しい機能だけもったソフトを作りたくて。

>>805、804さんのような考えで前述の構想にたどり着いたのですが
機能は単純でも自作は到底無理でした。
ある用途に特化した単機能ツールって言うのは
僕のイメージしていた物に良くあっています。
MYPCのメモリが64Kなので複雑かつ多機能なのは勘弁です。
例えば、極窓なんか複数ファイルの拡張子orファイル名の
一括変換にしか使ってないですし。
うーんまた考えてきます。それにしてもみなさん親切です。感謝!
0807デフォルトの名無しさんNGNG
>>806
64K?(いつのPCだよ)
64Mの間違いだよね?(それともDOSのプロテクトメモリのこといってるの?)
0808き、期限が…NGNG
ま、間違えてる
逝って来ます。
0809デフォルトの名無しさんNGNG
>>806
DOSプロンプト上で入力ファイル名入力→出力ファイル名入力→処理
っていうくらいでいいんじゃないの?最初は。
何にも考えずにscanf使ったりとかでも最初はそれでいいと思うけど。
0810デフォルトの名無しさんNGNG
期限さん、ネタ差し上げます。ずばり、mp3ファイルのID3v1タグの
エディターです。巷のタグエディタより低機能にすれば、これほど簡単なものはない。
まず、mp3ファイルをバイナリエディタで覗いて仕様でも考えてください。
0811デフォルトの名無しさんNGNG
ビットマップファイルのヘッダーを削るプログラムでも作っとけ。
0812759NGNG
C++で、STGの敵を出すプログラムはどんなのがあるんでしょうか。
0813デフォルトの名無しさんNGNG
IEnemy *e=getEnemyCreator().create(ENEMY_TYPE,this);
e->InitialPos(x,y);
e->Show();
0814デフォルトの名無しさんNGNG
>>813
説明キボーン
0815ジョージNGNG
1/100圧縮を実現するにはどうしたらいいですか?
ヒントください。
0816つらいNGNG
Cプログラミングの宿題を見てほしいのですが、、、
0817デフォルトの名無しさんNGNG
1バイトを8ビットに展開するいい方法無いですか?
頭に浮かぶのはビットシフトなんですが、何か効率悪くて。。。
0818デフォルトの名無しさんNGNG
>>817
>1バイトを8ビットに展開する

?
どういうことかわからん。
0819デフォルトの名無しさんNGNG
1バイト=8ビットな場合は、展開するもなにも、そのままで良いと思いますが。
0820デフォルトの名無しさんNGNG
すみません。
使用している環境では1バイト=10ビットなんです。
配列などで、これを8ビットに直したいんです。
0821デフォルトの名無しさんNGNG
余った2bitはどうするのさね?
1111111111 1111111111...
11111111 11111111 1111...
ってとか?
0822デフォルトの名無しさんNGNG
テキストファイルを圧縮してみたいのですが、
圧縮アルゴリズムには、どういうものがありますか?
有名な名前とかあれば、よかったら教えていただけないでしょうか・・・
名前が分かれば検索して調べます
0823デフォルトの名無しさんNGNG
ふつーzlib。
ひょっとして、圧縮したまま検索がかかるような
特殊な圧縮方法探してる?
0824デフォルトの名無しさんNGNG
おっと失礼。アルゴリズムをしりたいんだな。
BlockSort, LZ77 LZW, PPM法
HUFFMAN符号化、算術圧縮, Range Coder,
あたりを調べるよろし。
0825822NGNG
>>823
ありがとうございました。
zipに使われているものなんですね。
中身を解説してくれているページはまだみつけていませんが、
なんとか調べてみます。

努素人なので、単純なもので十分です。
0826822NGNG
>>824
さっそく逝ってきます
0827デフォルトの名無しさんNGNG
>>820
それは10桁の数を8桁に直したいといってるようなものだぞ。
1000000000をどうやって8桁であらわせるんだ?
0828820NGNG
>>821,827

ご、ゴメン!
817!=820なんだわ。
あんまり意味不明な質問なんでついふざけてしまった・・・。
まさかそんなやさしいレスがつくと思わなかった。

多分もとの質問は1バイトを2進数で表示したいって事だと思う。
でも効率が悪いと思うならまずその効率が悪いらしいアルゴリズムを提示すべきだと思うぞ>>817
その方法が最良かもしれないしな。
それにそうしてればこんな状況(俺のせいだけどな)にもならなかっただろうよ。
0829初心者?NGNG
只今、8人の女王の配置プログラムに奮闘中!
どうやった方が一番効率良く完成できるでしょうか?
一応、僕は永遠とfor分でプログラム中っす!
0830デフォルトの名無しさんNGNG
>>829
メモリに余裕あるなら、再帰。
0831817NGNG
えーっと、何とか解決しました。

しかし、言葉が足りなかったようで、すませんっす。
要は、16進数(1バイト)を2進数(8ビット)に展開するやつです。(と言うより変換ですか?)
初めて再帰呼び出し(かな?)をやりました。

じゃー、質問を変えて。。。
1バイトに工夫してビットを突っ込もうとしたら
どれくらい入りそうですか???
15は入りそうなんだけど。。。

>>820
そうか、提示かぁ・・・。
以後気をつけます。ありがと。
0832怜NGNG
えーっとね・・えーと。
16進数=1バイトじゃないのよね。
1バイト=8ビットね。
だから、2~8種類を表せるの。

で、1バイトが16進数の2桁で表されるのを見て16進数(1バイト)
とか書いたのだろうけど、それは、16*16 = 2^8だからね。
例えば、16進数でA7っていうのは2進法で表すと10100111なの。
Aっていうのは1010 7っていうのが0111だからね。
だから、1バイトにビットを突っ込む(って言い方がよくわか
らないけど)としても、8つしか無理だと思うな。
0833デフォルトの名無しさんNGNG
>831
まずですね、n進数とバイトとビットについて、
もっと一般的な意味をしらべてから質問してみてはいかがでしょう?
0834817 NGNG
ことの発端はある時ふと思いついた素人的新圧縮法です。
しかし、道はメチャクチャ遠そうです。

うんで考え方は簡単。
1バイトに’工夫して'8ビット以上詰め込めたら圧縮できるよなー・・・、って
これって根本的に無茶ですか?
0835デフォルトの名無しさんNGNG
>>829
手作業でやったらできちゃったよ(;´Д`)
対称を抜くとこれって何パターンあるの?
さすがに2パターン目は見つける気がしない。
0836怜NGNG
>>834
可逆圧縮でどんなデータにも対応させたいなら無理です。
0837デフォルトの名無しさんNGNG
>>834
とりあえず情報理論の本の一冊くらい読んでくれ。
これが簡単なのでお奨めだ。

わかりやすい ディジタル情報理論
http://www.ohmsha.co.jp/data/books/contents/4-274-13138-6.htm
0838デフォルトの名無しさんNGNG
> 1バイトに’工夫して'8ビット以上詰め込めたら圧縮できるよなー・・・、って
> これって根本的に無茶ですか?
再帰的に適用してみろや。工夫して8bit以上つめこんだ1byteを、
また工夫して、8bit以下にできるか、っちゅうねんな。
無限に適用すれば、すべての情報が1byteで表現できることになるだろうが。
http://pc.2ch.net/test/read.cgi/tech/1010674540/483
0839デフォルトの名無しさんNGNG
1/100の可逆圧縮はどうなった?
0840817NGNG
うむぅ。。。無理ですか。
残念です。


>>837
その本ホントにわかりやすいですか?(その手のは微妙なのもあるんで。)
お墨付きいただけるなら探してみます。

>>838
極端に言えばそうですよねぇ。
うむぅ。。。

みなさん、解答ありがとうございました。
0841デフォルトの名無しさんNGNG
>>840
つか、どの圧縮法も
「圧縮後の1バイトに工夫して圧縮前の1バイト以上を詰め込んでいる」
1バイト以下だと膨張法だからな
0842デフォルトの名無しさんNGNG
>>831
1バイトに工夫して15ビット入れる具体的な方法の説明を、切に、切に願う。
0843デフォルトの名無しさん NGNG
>>842
できないと出た素人論法を何に使うの?
838の言うとおりだと思うが。
0844デフォルトの名無しさんNGNG
>>841
混乱するといけないから「平均すると」を入れといてやってくれよ。
0845(;´Д`) NGNG
>>840
>その本ホントにわかりやすいですか?(その手のは微妙なのもあるんで。)
ビットやバイトの定義もまともに解ってないのによくそんなこと言えるな。
プログラム組んでいく前に情報の基礎でも勉強したらどうだ?
0846デフォルトの名無しさんNGNG
>>840
ファインマン計算機科学が良い
http://www.iwanami.co.jp/.BOOKS/00/6/0059410.html
0847840NGNG
>>845
解りやすいと思うなら、素直に胸を張って解りやすいと一言欲しかった。(別の人かな?)
私は2千円とか、パっと出せるほど裕福でも無いのです。
しかし、気に障ったようなら謝ります。
失礼いたしました。
0848(;´Д`) NGNG
>>847
別の者だよ。

俺が言いたかったのは、情報の基礎もまともに知らないのに、
よく(その手のは微妙なのもあるんで。)なんて言えたな、ということだ。
「微妙なものもある」なんて体験的なことを言えるのなら、
すでにそういう系統の書籍を読んでいなくてはおかしい。
ならば情報の基礎くらいはすでに学んでいるはず。
なのに解っていない。これはどういうことだ?と、いうことだよ。
0849840NGNG
1バイトに15個入れるに至った経路。(できないことは>>838をみれば解る。
・1バイトは256、つまり256個の情報が詰め込める。
・オンオフを表現すると128個が限界。
・つまり、1バイトに数を保存するのでは無くて、各ビットがオンだったかオフだったかを保存する。
・8ビットひとまとめには考えない。合計256という制限を活用する。
・色々思案すると、15くらいはいけそうだ。
・私ウキウキ・・・。(吐血
・>>838に切り出しのことを言われ死。

・・・以上。
0850デフォルトの名無しさんNGNG
>>848
つまりその「微妙なもの」に引っかかって理解できなかったのではないかと考えてみるテスト。
0851840NGNG
>848
あ、そのニュアンスが伝わらなかったのか。
すいません。
えーっとですね、この世にたくさん存在する「わかりやすい」本って
みても「わかんねーよ」って突っ込むのが(私の場合)結構あるんですよ。
で、お墨付きって言葉を使ってみたんですが、逆効果でしたか・・・。
失礼しました。
0852(;´Д`) NGNG
>>850
「微妙なもの」に引っかかって、8ビット=1バイトという定義も
覚えられないことはないと思われ。
0853デフォルトの名無しさんNGNG
> ・1バイトは256、つまり256個の情報が詰め込める。

ここが陥りやすいところだな。
俺も始めはそう錯覚した。
256という”1つの”数字をあらわすのと”256個の”情報を表すのではまったく意味が違う。
0854840NGNG
>>850
そのようですね・・・。
言葉が足りなくなるのは悪い癖です。
精進するため、逝ってきます。
はぅ・・・。

おまけ。
>849の考え方を実現してくれる有志を募集。
もうヤケです。(笑
0855デフォルトの名無しさんNGNG
>1バイトに15個入れるに至った経路
表現の仕方が良くない。それでは意味のある15個の情報と取れる数値を
1バイトの領域に格納する、というように取れてしまう。
0856デフォルトの名無しさんNGNG
>>840タン(;´Д`)ハァハァ・・・
0857デフォルトの名無しさんNGNG
> ・オンオフを表現すると128個が限界。
ここダウト。1byteでon-offとして表現できるのは8個。
だから、
> ・つまり、1バイトに数を保存するのでは無くて、
>各ビットがオンだったかオフだったかを保存する。
は、テンで意味をなさない。(その文の前後は同じ意味だから)
0858デフォルトの名無しさんNGNG
>・1バイトは256、つまり256個の情報が詰め込める。
ここですでにダウト。256種類のうちの、どれか1つを表せるだけ。
0859デフォルトの名無しさんNGNG
画像データ の  あるパターンの周波数 だけを抽出し、
そこを いじくりたい場合、 フーリエ変換か ウェーブレット変換を
使うのだと思うのですが、  数学に対してあまり知識が
ない私は 理解できませんでした。

なので どのような手順でやれば できるのか教えていただけませんでしょうか?

0860デフォルトの名無しさんNGNG
>>859
数学勉強するのが一番いいと思われ。
ディジタルデータに対して周波数解析するんだったら、
DCT か FFT 使うな。
ウェーブレットは位置(時間)情報と周波数情報を同時に必要なときに使う。
0861812NGNG
すいません。誰か答えてください
0862デフォルトの名無しさんNGNG
をを、>>861=>>812=>>759=「すいません ヒントください」か!!
元気だったか??
0863デフォルトの名無しさんNGNG
ある10進数の数値を入力したら32ビット長の固定小数点数や浮動小数点数、
JIS方式のゾーン型2進化10進法、パック型2進化10進法などに変えてくれる
プログラムとかってありませんか、たすけてください
0864デフォルトの名無しさんNGNG
>>862
はい。こんにちは。あんまし元気じゃないっす
今風邪気味。げほげほ
0865お願い・・・、ガク。NGNG
誰かオイラーの公式をCで作って〜〜〜〜〜。お願いだ〜〜〜〜。ヘルプミー---。そこのあなた。簡単だからって笑わない!
オネガイシマスダ---。
0866デフォルトの名無しさんNGNG
>>863
10進->浮動小数点
float f;
scanf("%f", &f);
0867デフォルトの名無しさんNGNG
他人に車を運転させて免許とろうって奴ばっかりだな。
0868デフォルトの名無しさんNGNG
>>865
知らないようだから、教えてやるが、そういうのを丸投げという。
少しは調べれ。ネタだったら他をあたれ。
0869デフォルトの名無しさんNGNG
すいません、教えてください。
宿題で、C曲線かゴッホ曲線かドラゴン曲線か、ヒルベルト曲線のどれかひとつのプログラムを作れと
宿題が出されました。
誰がご教授、または参考になるHPを教えてください。
0870デフォルトの名無しさんNGNG
>>869
だから検索しろって。
0871869NGNG
>>870
どこで検索するのがよいのでしょうか?
あと、プログラムをそのまま載せているHPってあるんですか?
0872デフォルトの名無しさんNGNG
>ヒルベルト曲線
どうやったら描画したことになるんだ?
0873869NGNG
>>872さん
Turtle Graphicsを使って描くようです。
いまいち原理が分からなくて。
0874デフォルトの名無しさんNGNG
>>871
なんでそのまま載せている必要があるんだ?
0875デフォルトの名無しさんNGNG
>>871
検索すれ
0876869NGNG
>>874-875
どうやって検索したら良いかわからないんです。
どうかご教授ください、
0877デフォルトの名無しさんNGNG
>>876
まず検索の方法を検索したほうがいいと思われます。
0878869NGNG
そうでなくて、良いHPが見つからないんですよ。
0879デフォルトの名無しさんNGNG
もしかしてLOGO?

Cだったらコッホ曲線とドラゴン曲線のソースがこれに入ってるな
http://www.vector.co.jp/soft/data/prog/se002453.html
0880869NGNG
>>879
C言語の授業なんですけど、よく分からないんですよ。
助けてください。
0881869NGNG
「CLEOS」ってのを使ってるみたいです。

0882デフォルトの名無しさんNGNG
>>878
好きなだけ検索しろ。

http://www.google.co.jp/
http://www.yahoo.co.jp/
http://www.goo.ne.jp/
http://www.infoseek.co.jp/
http://www.lycos.co.jp/

だれにネットの使い方を教わったか知らないけど、
2chよりまず検索の方法を教えてもらえ。
0883869NGNG
いろいろ検索したんですけど、載ってるHPがないんですよ。
載ってたとしてもjavaとか使ってるみたいですし。
0884デフォルトの名無しさんNGNG
>>879 >>879がCのソースっていってるじゃん
そのものズバリ答え教えてもらっといてアフォか?
0885869NGNG
実は今授業中で、DLできないようになってるんですよ。
だから、まだ確かめてなくて…。
ご指摘ありがとうございます。
0886デフォルトの名無しさんNGNG
次はコンパイルできませんと質問してくるに一票。
0887869NGNG
コンパイルってなんですか?
0888デフォルトの名無しさんNGNG
盲点だったな。
0889869NGNG
ってか>>879をDLして解答すればよいんですよね?
ありがとうございます!
0890見事な攻撃だタケちゃんマン!NGNG
>>887 ワラタ
0891デフォルトの名無しさんNGNG
>>869
>ゴッホ曲線
芸術っぽい(笑)
0892869NGNG
あ、コッホでしたね・・・
0893869NGNG
#include"turtle.c"
void koch(double,int);

void main(void){

int i;

InitTurtle();

for(i=0;i<6;i++){
X=320;
Y=240;
koch(270,i);
getch();
G_CLS();
}
}

void koch(double L,int n)
{
if(n==0)
{
FD(L);
}
else
{
koch(L/3,n-1);
LT(60);
koch(L/3,n-1);
RT(120);
koch(L/3,n-1);
LT(60);
koch(L/3,n-1);
}
}

これがコッホ曲線のらしいんですが、
こーゆーのが>>879で出るのでしょうか?

0894デフォルトの名無しさんNGNG
クラスカルのアルゴリズム(C言語で実現:最小木をもとめる)を、
連結リストを用いて実現するにはどうしたら良いでしょうか?

ポインタからやり直します…鬱
0895894NGNG
ぐあ…検索でいろいろ引っかかりました(汗)
クラスカルはすでに実装できているので自力で頑張ってみます。
お騒がせしました。
0896デフォルトの名無しさんNGNG
>>869
ちょっときみはいくらなんでも場違いだと思うに一票
0897デフォルトの名無しさんNGNG
EUCコードで漢字を入れる場合漢字イン、アウトなどってつかうのでしょうか?
0898透明人間。(*´Д`)y~~ahu~ ◆73iRGUKc NGNG
その程度のプログラムで満足してる奴




とりあへず逝っとけ
0899デフォルトの名無しさんNGNG
>897
EUCって、状態遷移系のコードじゃねーだろ。
0900デフォルトの名無しさんNGNG
>>897
ttp://www.mars.dti.ne.jp/~torao/program/appendix/japanese.html
0901897NGNG
ありがとうございます
0902デフォルトの名無しさんNGNG
>>858
量子計算機だ量子計算機を使え!
0903デフォルトの名無しさんNGNG
俺の宿題見んなよ!!
0904デフォルトの名無しさんNGNG
>>903
すまん
0905なにとぞお願いいたします。NGNG
C言語の宿題で困っています。
自分で一通り作ってみたのですが、
コンパイルもできませんでた。
問題は以下です。
=====================================



次のように、一行に日付けとその日の最低気温、
最高気温が記録されたファイル(ファイル名:temp.dat)があるとする。

_____________________

1  10.0  30.0
2  12.1  28.8
3  11.3  25.2
4  10.5  27.4
5  13.1  28.0
・・   ・・・・    ・・・・
_____________________

このファイルを読み込んでファイルの中での最高気温が最も高い日の
日付と最高気温、
同様に最も低い最低気温とその日付を表示するプログラムを作成せよ。
0906なにとぞお願いしますNGNG
自分で書いたものとコンパイルエラー表示は以下です。
=================================
#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE *fp;
int da[i];
double hi[i];
double lo[i];
int i, j, max, min;

if ((fp = fopen("Temp.dat","r"))==NULL) {
printf("file open error!!\n");
exit(1);
}


fscanf(fp)"%d %lf %lf",&d, &f, &g";


for (i = 0; i < (n-1); ++i) {
x = data[i];
max = i;
for (j = i + 1; j < n; j++) {
if (data[max] < data[j]) {
max = j;
}
}
printf("最高気温, 日付=%d\n, %d\n" hi[max], max);



for (i = 0; i < (n-1); ++i) {
x = data[i];
min = i;
for (j = i + 1; j < n; j++) {
if (data[min] > data[j]) {
min = j;
}
}
printf("最低気温, 日付=%d\n, %d\n" low[min], min);

fclose(fp);
}

9-1.c:40:35: missing terminating " character
9-1.c:17:34: possible start of unterminated string literal
9-1.c:36:35: missing terminating " character
9-1.c:13:34: possible start of unterminated string literal

0907なにとぞお願いしますNGNG
どなたかアドバイスいただけないでしょうか?
0908なにとぞお願いしますNGNG
すこし訂正しました。(fscanfの部分)
それに伴いコンパイルエラー表示も訂正です。
================================

#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE *fp;
int da[i];
double hi[i];
double lo[i];
int i, j, max, min;

if ((fp = fopen("Temp.dat","r"))==NULL) {
printf("file open error!!\n");
exit(1);
}


fscanf(fp)"%d %lf %lf",&da[i], &hi[i], &lo[i]";


for (i = 0; i < (n-1); ++i) {
x = data[i];
max = i;
for (j = i + 1; j < n; j++) {
if (data[max] < data[j]) {
max = j;
}
}
printf("最高気温, 日付=%d\n, %d\n" hi[max], max);



for (i = 0; i < (n-1); ++i) {
x = data[i];
min = i;
for (j = i + 1; j < n; j++) {
if (data[min] > data[j]) {
min = j;
}
}
printf("最低気温, 日付=%d\n, %d\n" low[min], min);

fclose(fp);
}

9-1.c:40:35: missing terminating " character
9-1.c:17:46: possible start of unterminated string literal
0909日下部圭子 ◆ib749tYo NGNG
In article >>906, なにとぞお願いします/906 wrote:

とりあえず間違っている行を教えてあげます。


fscanf(fp)"%d %lf %lf",&d, &f, &g";

printf("最高気温, 日付=%d\n, %d\n" hi[max], max);

printf("最低気温, 日付=%d\n, %d\n" low[min], min);

----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0910デフォルトの名無しさんNGNG
>>907
このエラーメッセージ程度の英語は読んで下さい…
おながいします。
0911なにとぞお願いしますNGNG
>>909

ああ!ありがとうございます。
その部分、少し考えてみます。

>>910

見当たらない、終了"文字
終了していないストリング・リテラルの可能なスタート

・・・う〜んちょっと考えてみます。
ありがとうございました。
0912デフォルトの名無しさんNGNG
とりあえず、勘違いしてそうなところを教えてあげます。

・fscanf では、一行分しか読み込めませんので、全行読み込むにはループが必要かも。
・ソートするには2重ループが必要ですが、最低値を求めるときは1重ループで十分かも。
0913デフォルトの名無しさんNGNG
つうか、そのプログラムでは、905のデータは読めないべ。
よくみろよ。MBCSの処理が要るんだよ(w
0914なにとぞお願いしますNGNG
>>912

ありがとうございます。
しばらく落ちて考えてみます。

>>913
え〜と、MBCSっていうのは「マルチバイト文字セット」でいいんでしょうか?
う〜ん難しそうなフレーズで、、授業でやっていないような。。

もしよろしければどういう処理か教えていただけないでしょうか?
0915デフォルトの名無しさんNGNG
このばあいは、「1」と「1」、「.」と「.」をちゃんと同一に扱う、ってことさ。
0916なにとぞお願いしますNGNG
>>915

ありがとうございます。
そのための処理をこのコードの中にいれなければいけないってことですね。
少し考えてみます。

0917デフォルトの名無しさんNGNG
> 最高気温が記録されたファイル(ファイル名:temp.dat)があるとする。
> if ((fp = fopen("Temp.dat","r"))==NULL) {
winだと大文字小文字が違っててもファイル開けるんだっけ?
0918デフォルトの名無しさんNGNG
Win/DosはCase Insensitiveだよ。
0919デフォルトの名無しさんNGNG
>>912
> ・ソートするには2重ループが必要ですが、最低値を求めるときは1重ループで十分かも。
b-treeを使えばソートする必要ない。最低値と最大値も勝手に求まる。

それよりも
int da[i];
double hi[i];
double lo[i];
C99ってこれは許されるの?
# C89は無理だけど
0920デフォルトの名無しさんNGNG
gcc拡張やないかな?
0921デフォルトの名無しさんNGNG
>>919
それ以前にこの問題でどこにソートする必要が?
0922デフォルトの名無しさんNGNG
>>919
可変長配列の事?C99ならOK。
0923なにとぞお願いしますNGNG
すいません。。
みなさんにアドバイスいただいてから、
少し手を加え、完成に近づきつつあると思うのですが、
下記から一歩も進めないのです。。
どうすれば、、、
コンパイルエラーの表示見ても、何を意味するのかわからないのです。
===============================================================
0924なにとぞお願いしますNGNG
#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE *fp;
int da[100];
double hi[100];
double lo[100];
int i, j, max, min, n;

printf("number of data =");
scanf("%d", &n);

if ((fp = fopen("temp.dat","r"))==NULL) {
printf("file open error!!\n");
exit(1);
}

for(i=0, i<n, i++){
fscanf(fp,"%d %lf %lf",&da[i], &hi[i], &lo[i]);
}

max = 0;
for (i = 1; i < n; i++) {
if (data[max] < data[i]) {
max = i;
}
}
printf("最高気温, 日付=%g\n, %g\n" hi[max], max);

min = 0;
for (j = 1; j < n; j++) {
if (data[min] > data[j]) {
min = j;
}
}
printf("最低気温, 日付=%g\n, %g\n" low[min], min);

fclose(fp);

}

9-1.c: In function `main':
9-1.c:19: parse error before `)'
9-1.c: At top level:
9-1.c:25: warning: data definition has no type or storage class
9-1.c:26: parse error before `for'
9-1.c:31: parse error before string constant
9-1.c:31: warning: data definition has no type or storage class
9-1.c:33: warning: data definition has no type or storage class
9-1.c:34: parse error before `for'
9-1.c:39: parse error before string constant
9-1.c:39: warning: data definition has no type or storage class
9-1.c:41: warning: parameter names (without types) in function declaration
9-1.c:41: warning: data definition has no type or storage class
9-1.c:43: parse error before `}'
0925デフォルトの名無しさんNGNG
>for(i=0, i<n, i++){
よくみりゃおかしいことに気づくだろうに。
つか、君はプログラムができるまで、
ソースとエラーの掲示を延々続ける気なのかね?
0926デフォルトの名無しさんNGNG
>>924
とりあえず落ち着け、
最初のソースで問題なかった所までおかしくなってるぞ。
for文中の;が,になってたり。
あと909さんが指摘しているように、
printfの引数がおかしい。
それ以外はエラーメッセージを読んで、
参考書なりを照らし合わせれば分かると思う。
あせってるようだけど小一時間くらいは自分で見直してみるのも良いかと。
0927なにとぞお願いしますNGNG
>>925

どうもありがとうございました。
うっかり気が付きませんでした。

ご迷惑おかけしました。
あとは自分で頑張ります。
0928デフォルトの名無しさんNGNG
つーか、
while(fscanf(/*---*/) != EOF){
 /*---*/
}
0929デフォルトの名無しさんNGNG
>>927
最初のソースに比べればかなりよくなってるぞ。がんばれよー。
0930デフォルトの名無しさんNGNG
あと、最大値、最小値を求めるのに、なぜ配列が必要?
とか。
0931デフォルトの名無しさんNGNG
怜さんでも麻衣ちゃんでもいいのでそろそろ次のスレを。
0932デフォルトの名無しさんNGNG
>>931
とりあえず>>924が終わるまで待て
0933デフォルトの名無しさんNGNG
麻衣ちゃん、怜さんに続く女性の身内に登場キボン
0934デフォルトの名無しさんNGNG
次スレの主は怜さんのおばあちゃんです。
お年寄りは大切に。
0935ビル・ゲイツNGNG
       冫─'  ~  ̄´^-、
     /          丶
    /             ノ、
   /  /ヽ丿彡彡彡彡彡ヽヽ
   |  丿           ミ
   | 彡 ____  ____  ミ/
   ゝ_//|    |⌒|    |ヽゞ
   |tゝ  \__/_  \__/ | |   __________
   ヽノ    /\_/\   |ノ /
    ゝ   /ヽ───‐ヽ /  /次スレはぜひとも私をメインキャラ
     /|ヽ   ヽ──'   / <  にしてほしい。これはマジレスだ。
    / |  \    ̄  /   \どうか、お願いする・・・。
   / ヽ    ‐-            ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0936デフォルトの名無しさんNGNG
人類初のプログラマ Ada Lovelace 女史きぼん。
0937デフォルトの名無しさんNGNG
世界初のプログラム駆動方式のコンピュータをつくり、
作用素環論の研究、量子力学の研究やゲーム理論の創始など
「20世紀のレオナルド・ダ・ヴィンチ」と評される
フォン・ノイマンを希望。
あ、ノイマンは男か・・・。
0938デフォルトの名無しさんNGNG
登場人物&過去スレ

●お姉さん
あなたの宿題、お姉さんが答えます
http://piza.2ch.net/tech/kako/972/972032579.html
で登場。

●麻衣
お兄ちゃんの宿題、私が答えるよ
http://pc.2ch.net/tech/kako/982/982853418.html
で初登場。可愛い妹キャラ

●お兄ちゃん(名称不明)
宿題見てやるよ
http://pc.2ch.net/tech/kako/1003/10038/1003838158.html
で初登場。しかし、女性がいいという影の圧力により
1以外には登場せず。

●怜
宿題みてあげるっ
http://pc.2ch.net/test/read.cgi/tech/1007902384/l50
で初登場。お兄ちゃんの恋人。
結構親切に答えてくれる年上キャラ。
0939デフォルトの名無しさんNGNG
怜ちゃんの美人お母さんの登場きぼんぬ。
0940デフォルトの名無しさんNGNG
http://www.nobodyhere.com/gfx/neus.swf
0941デフォルトの名無しさんNGNG
>>938
ほんとだ・・・早速女性の身内と交代を希望されてる・・・(藁

前スレのお兄ちゃんの幼なじみなんていいんでない?
本当は彼のことが好きだけど、怜に遠慮して想いを秘めたままの
健気な女の子。
0942デフォルトの名無しさんNGNG
まんまだけど女教師キボン
ハイミス・インテリ、質問者を厳しく指導しちくり
0943デフォルトの名無しさんNGNG
怜の妹で、同級生。
一緒にレポートがんばろっ、って感じの女の子とか・。
0944デフォルトの名無しさんNGNG
妹を増やせばいいだろ。

‥‥12人くらいに。
0945(;´Д`) NGNG
>怜に遠慮して想いを秘めたままの健気な女の子。
(・∀・)イイ!

0946デフォルトの名無しさんNGNG
>>941
それやるなら、お兄ちゃんの名前を決めたいね
0947(;´Д`) NGNG
しすたーぷりんせす
0948デフォルトの名無しさんNGNG
>>944
一つの質問に12個レスつくのか(w
0949941NGNG
>>946
例えば"ひろゆき"だったら"ひろゆきちゃん"って呼ぶのか?
それは良いね!
0950デフォルトの名無しさんNGNG
>>949
ちゃんづけなのか?(w
でも、”ひろゆき”はいいかもね。
0951(;´Д`) NGNG
>お兄ちゃんの名前を決めたいね
西村博之キボンヌ
0952デフォルトの名無しさんNGNG
(´-`).。oO( なんでヲタネタになると賑わうんだろう )

これまでの意見を総合した結果、
世界初のプログラム駆動方式のコンピュータをつくり、
作用素環論の研究、量子力学の研究やゲーム理論の創始など
「20世紀のレオナルド・ダ・ヴィンチ」と評される
人類初のプログラマの美人お母さんの女教師で同級生、
一緒にレポートがんばろっ、って感じの
12人のひろゆきちゃんに決まりました。
0953デフォルトの名無しさんNGNG
漏れは麻衣スレでボソっと発言される
「麻衣を出せ」
の一行レスがなんか好きだった(藁
0954デフォルトの名無しさんNGNG
>>952
おっと、ノイマン氏を一緒にしちゃあいけない。失礼だろう。男だし。
エーダ氏も一緒にしないほうがいい。失礼だろう。
0955(;´Д`) NGNG
美人お母さんの女教師で幼なじみで同級生、
一緒にレポートがんばろっ、って感じの
12人の妹、名前は全員ひろゆきちゃんに決まりました。
0956デフォルトの名無しさんNGNG
どの板でもヲタネタは賑わう。これ定説。
0957デフォルトの名無しさんNGNG
なにとぞお願いします はどこいった?
0958デフォルトの名無しさんNGNG
この際、「先生!宿題教えてください!」もいいかも。
あ、解答はAAで(w
0959デフォルトの名無しさんNGNG
( ´_ゝ`)フーン

このAAで。
0960デフォルトの名無しさんNGNG
日下部先生?
0961(;´Д`) NGNG
( ´_ゝ`) //怜たん

ヽ(`Д´)ノウワァァァァァン //宿題でこまったちゃん
0962デフォルトの名無しさんNGNG
ゴルゴきぼん
0963デフォルトの名無しさんNGNG
>>960
先生はいらない。
圭子たんがいいよ。
0964デフォルトの名無しさんNGNG
先生は持ち回りだろ。
http://choco.2ch.net/test/read.cgi/mona/1011101749/
0965デフォルトの名無しさんNGNG
そろそろ新スレを・・・。
ひげずらおやじは睡眠中か?
0966怜NGNG
うーん、私が新スレたててもいいんだけど、続けてたてちゃうのもちょっとな
と思うので・・・。誰かお願いできないかな?
0967suzukiNGNG
先生!教えてください!
doblle型の配列を準備し、適当に6件のデータを読み込み、
それらの平均値を求め、平均値よりも大きな値を配列の前半に、
小さな値を後半に格納するプログラムを教えてください、
入力例
input a[0]=>12.2
input a[1]=>42.8
input a[2]=>83.1
input a[3]=>-12.9
input a[4]=>90.1
input a[5]=>2.26
出力例
平均
0968suzukiNGNG
途中で間違って書き込んでしまった
出力例は
output a[0] = 42.80
output a[0] = 83.10
output a[0] = 90.10
output a[0] = -12.90
output a[0] = 12.20
output a[0] = 2.26

0969デフォルトの名無しさんNGNG
>>968
ソートしる!
0970怜NGNG
>>967
ちょっと眠いから詳しく説明はしないけど・・
ttp://www.cs.u-gakugei.ac.jp/~miyadera/LECTURE/SortAnim/ExAlgorithm5.html
このページでも参考に応用してみてね。
0971えれなNGNG
ERROR:スレッド立てすぎです。。。っていわれちゃいました‥‥

宿題、手伝おっか?
名前: えれな
前々スレのお兄ちゃんの幼なじみ、えれなです。
宿題、判らないところとかがあったら、聞いてね。

怜さんの前スレはこちら、
http://pc.2ch.net/test/read.cgi/tech/1007902384/l50
キーワードがわかってるなら、googleで探してね。
http://www.google.co.jp/
0972どっぺるえれなNGNG
代打で立てたよ

宿題、手伝おっか?
http://pc.2ch.net/test/read.cgi/tech/1011722640/
0973えれなNGNG
ドッペルゲンガーの私、スレ立てありがとう。
0974田代雅史NGNG
         ,〜((((((((〜〜、
        ( _(((((((((_ )
        |/ ~^^\)/^^~ヽ|
         |  _ 《 _  |
         (|-(_//_)-(_//_)-|)
         |   厶、    |  cout<<"このスレは無事に正常終了した。\n"
         \ |||||||||||| /      <<"私が最後の仕事をするとしよう。\n";
          |\___/::\ 
          /丶 / /    \ return 0;
        /,': //  ヽ    \}
       / /´ ̄ ̄ ̄ ̄ ::::::   \-、
     / _/         ::  、  ゙  `\
    /  ~_/`''         : 、`      ゙ヽ
    /  __/`''       ___  ::丶  \:: ヽ、 ヽ
  /   / `         ヽ、{丶    ヽ :::ヽ |
  /              ~ヽ、ヾ\      ゙i |
  。             -´/ /ゝ、  ` _ ヽ、/X
  ヽノ             :::|/// ~` '''  `' / ヽ
  | , |   |       :::| / | 〃   \  |
   {~ ヘ___ \  。  .:::ノ /_/| |    :::|   |
  丶ノ  \__ `- 、_____, -´イイ_| |    ::::| |  |
   {  |   \___ \ノ イ_ | |    :::|  |
     { ´|ヽ、   ,,`i` // \ノ  |丶    :丿   |
     {´_|_ `'''''´  l //ノヾ,ノ`ゝヽ____ /ヽ,、  |
     |  i `'''ー-''~  }=  ノ ヾ /〃     | ヽ}
      ヽゝ、_    } = ヾ  |      ノ  |
0975ダダダダーん!NGNG
どうかこれも人助け。クラ−メルの公式をCでやってください。先生おねがい〜。
0976デフォルトの名無しさんNGNG
>>975
うざいよおまえ。
一箇所に書いたら、しばらく待っとけよ。
0977デフォルトの名無しさんNGNG
>>974
マルチポスト野郎のせいで最後の仕事にならんかったな。

printf("ざけんなよ、テメーコラ!>975"); /*終了処理*/

return 0;
0978デフォルトの名無しさんNGNG
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /    モナーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ^∀^) /                /(^∀^ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0979デフォルトの名無しさんNGNG
      ∧         ∧          ∧
        / ヽ      / ヽ_       / .∧
     /   `、   _/   `、⌒ヾ⌒ヽ/  ∧
    /       ̄ ̄/  u (.....ノ(....ノ   / ヽ
    l:::::::::        |     >>975  u .:(....ノノ
   |::::::::::  -=・=- / ̄ ̄ヽ        ::::::::::::::/`ヽ
   .|:::::::::::::::::  \_(___..ノ   u  ::::::::::::::::::::(....ノノ
    ヽ:::::::::::::::::::  \/ヽ  u    ::::::::::::::::::::::::::::ノ
ちょっとdatまで付き合えや…
0980デフォルトの名無しさんNGNG
怜たんの居たこのスレをまだ死なせはしない。
閲覧用として、怜たん萌え萌え用として、
暫くとっておくべきだ。
緊急浮上age

なお、宿題は下記のスレで・・・
http://pc.2ch.net/test/read.cgi/tech/1011722640/l50
0981カイン・ポブレムNGNG
質問してもよろしいでしょうか?C言語の課題なのですが・・・

/*受け取った文字列の中に小文字が含まれているかどうかを判定する関数の入ったプログラムを作成する*/

#include<stdio.h>
#include<string.h>
#define N 100
int mozi(int x[]);

int main(void)
{
char retu[N+1];
ibt a;

printf("何か100字以内で文字列を入力してください\n");
scanf("%c",&retu);

if(mozi(retu)==a){
printf("小文字が含まれています\n");
}else{
printf("大文字だけです\n");
}

return 0;
}

int mozi(int x[])
{
int i,j;
int a,b;

j=x[N];
for(i=0;i<N;i++){
if(j>=0x61&&j<=0x7a){
return 0;
}if else(j>=0x41&&j<=0x5a){
return b;
}
}
}

としたのですが、実行してみると、どんな文字列をいれても「全部大文字」みたいに出力されるのです。
どうしたらいいのでしょうか・・・
0982デフォルトの名無しさんNGNG
バカタレ、sageとけ。>>980
あげるからこっちに宿題書き込む奴が出るじゃないか。
書き込みすればdat落ちはしないんだから。

>>981
>>980を読め。
0983怜NGNG
>>981
>>980のスレの方で答えておいたから、見てね。
0984デフォルトの名無しさんNGNG
/*受け取った文字列の中に小文字が含まれているかどうかを判定する関数の入ったプログラムを作成する*/

#include<stdio.h>
#define N 100

int mozi(char x[]);

int main(void)
{
  char retu[N+1];

  printf("何か100字以内で文字列を入力してください\n");
  scanf("%s",retu);

  if(mozi(retu))
    printf("小文字が含まれています\n");
  else
    printf("大文字だけです\n");

  return 0;
}

int mozi(char x[])
{
  int i,j;

  for(i=0;i<N;i++)
  {
    j=x[i];
    if(j>=0x61&&j<=0x7a)
      return 1;
  }

  return 0;
}

これでいいだろう。君はC言語自体理解していない。
次からは、自分自身で進んで取り組むことだ。
そうしないと、後が苦しくなるだけだろう。
高校生より。

ちなみに、このままコピペした状態でコンパイラに通さないように。
全角空白でインデントしてあるからな。
0985うさ(本物)NGNG
私が作ったプログラムの感想を聞かせてください。
ここでのレスor私のBBSにてお願いします。
辛口はできるだけ控えてね^^;
可愛いお絵かきプログラムだよ★
http://www.sfc.keio.ac.jp/~s01041mi/index.shtml



0986デフォルトの名無しさんNGNG
      ∧         ∧          ∧
        / ヽ      / ヽ_       / .∧
     /   `、   _/   `、⌒ヾ⌒ヽ/  ∧
    /       ̄ ̄/  u (.....ノ(....ノ   / ヽ
    l:::::::::        |     >>980  u .:(....ノノ
   |::::::::::  -=・=- / ̄ ̄ヽ        ::::::::::::::/`ヽ
   .|:::::::::::::::::  \_(___..ノ   u  ::::::::::::::::::::(....ノノ
    ヽ:::::::::::::::::::  \/ヽ  u    ::::::::::::::::::::::::::::ノ
おまえも来るか?
09871000NGNG
まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )
レス数が950を超えています。1000を超えると書き込みができなくなります。