検索結果 17 件

by ジェリナゲ
5年前
フォーラム: C言語何でも質問掲示板
トピック: 探索アルゴリズム
返信数: 2
閲覧数: 641

探索アルゴリズム

二次元配列を作って、あるマス(x,y)の中心からあるマス(x',y')の中心に直線を引き、その直線の通るマスを順に探索していくというプログラムを作りたいのですが
傾きを求めてxの増加量分に対して、傾きとなるようにyをとり探索していくやりかたでやろうとしたのですが一つのxに対して2マス線を通る場合などがありうまくいきません
何かいい方法はないでしょうか
やりたいことは二次元配列でステージをつくりプレイヤーと敵をつくり
プレイヤーの視界に入ったら近づいてくるようにするということです
障害物も考慮するので直線の通るマスすべてを探索するようにしたいです
by ジェリナゲ
5年前
フォーラム: C言語何でも質問掲示板
トピック: 二次元配列
返信数: 5
閲覧数: 1666

Re: 二次元配列

すみません、もともと二次元配列の問題で分からないところがあったのですが、それの原因がここの部分だったので質問するときにタイトルを書き換え忘れました。
遅くなってすみません。
キーボードから入力される文字はバッファと呼ばれるところに一時的に保存されて、エンターを押すと出力され、バッファの中は空になります
scanf()では最後の改行文字がバッファに残るため、次の出力時にその改行文字が出力されてしまうため今回のようなことになりました。
%cの直前にスペースを入れると改行文字を読み飛ばして出力するのでうまく動作するようになります

解決しました、ありがとうございました。
by ジェリナゲ
5年前
フォーラム: C言語何でも質問掲示板
トピック: 二次元配列
返信数: 5
閲覧数: 1666

二次元配列

文字一文字と数字をscanfで3回読み取るプログラムをつっくたのですが、2回しか読み取ることができません
なぜか二回目にiが0から2に飛んでしまいます
なにがいけないのでしょうか

コード:

#include <stdio.h>

int main(void){

  int m,i;
  char va;

  for(i=0;i<3;i++){
    scanf("%c %d",&va,&m);
  }

  return 0;
}

by ジェリナゲ
5年前
フォーラム: C言語何でも質問掲示板
トピック: 今日の日付と曜日を表示するプログラム
返信数: 3
閲覧数: 1553

Re: 今日の日付と曜日を表示するプログラム

なるほど、ありがとうございます
by ジェリナゲ
5年前
フォーラム: C言語何でも質問掲示板
トピック: 今日の日付と曜日を表示するプログラム
返信数: 3
閲覧数: 1553

今日の日付と曜日を表示するプログラム

今日の日付と曜日を表示するプログラム (解きながら学ぶC言語 p264) が以下のように書かれていました、なぜ16行目がchar[][3]のようになるのかがわかりません。 自分はchar[] として20行目の%sを%cにすればいいと思ったのですが、コンパイルエラーがでてしまいました。なぜ二次元配列にするのでしょうか、 またなぜ3列なのでしょうか、よろしくお願いします。 #include <stdio.h> #include <time.h> void put_date(void); int main(void){ put_date(); return 0; } void put_date(vo...
by ジェリナゲ
5年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列内の数字文字を削除する関数
返信数: 3
閲覧数: 3052

文字列内の数字文字を削除する関数

文字列内の数字文字を削除する関数を作成したのですが、(著 柴田望洋 解きながら学ぶC言語 p245) 数字文字が削除されません。入力したものがそのまま出力されます。 原因は26行目で *(str+i)とj は型が違うからifの条件が真になる? と思ったので (char*)j として試してみましたがダメでした。 なにがいけないのでしょうか、よろしくおねがいします #include <stdio.h> void del_digit(char *str); int main(void){ char str[100]; printf("文字列を入力してください :"); scanf("%s",str)...
by ジェリナゲ
5年前
フォーラム: C言語何でも質問掲示板
トピック: テロップのように流して表示させる
返信数: 8
閲覧数: 2544

Re: テロップのように流して表示させる

どういう原理でとかはあまり気にしない方がいいでしょうか、
by ジェリナゲ
5年前
フォーラム: C言語何でも質問掲示板
トピック: テロップのように流して表示させる
返信数: 8
閲覧数: 2544

Re: テロップのように流して表示させる

各putcharの直後にfflush(stdout); をいれたらしっかりと3秒ごとにテロップのように流れるように実行されました! どういうことなのでしょうか?
by ジェリナゲ
5年前
フォーラム: C言語何でも質問掲示板
トピック: テロップのように流して表示させる
返信数: 8
閲覧数: 2544

Re: テロップのように流して表示させる

[/quote]
「しっかりと実行される」「しっかりと動作する」とはどのような状態でしょうか?
[/quote]

しっかりと実行されるは、ABCDEFGがテロップのように流れて表示されますが、とても早いです。
動作するのほうは、startと表示されて3秒後にgoalと表示されるということです。

ほかにも時間を置く関数があることは初めて知りました。
by ジェリナゲ
5年前
フォーラム: C言語何でも質問掲示板
トピック: テロップのように流して表示させる
返信数: 8
閲覧数: 2544

テロップのように流して表示させる

ABCDEFGを同一行内で右から左へテロップのように流すプログラム(柴田望洋 著 解きながら学ぶC言語 p203) を以下の様に作成したのですが、実行しても何も表示されません。 22行目を消すとしっかりと実行されます。 22行目がおかしいと思いテストプログラムを作り試してみましたが、しっかりと動作しました。 なにがいけないのでしょうか。 #include <stdio.h> #include <time.h> #include <string.h> int main(void){ char str[]="ABCDEFG "; //表示する文字列 time_t t; int len = strl...
by ジェリナゲ
5年前
フォーラム: C言語何でも質問掲示板
トピック: 仮引数の省略でエラー
返信数: 8
閲覧数: 2123

Re: 仮引数の省略でエラー

第一引数の型が違っていた、ということですね。
省略できると習ったのは引数名でした。
ありがとうございました。
by ジェリナゲ
5年前
フォーラム: C言語何でも質問掲示板
トピック: 仮引数の省略でエラー
返信数: 8
閲覧数: 2123

仮引数の省略でエラー

授業で仮引数は省略しても構わないと習ったので次の様に省略したら error: conflicting types for ‘fill’ void fill(int vc[],int no,int x){ ^ note: previous declaration of ‘fill’ was here void fill(int,int,int); ^ というようにエラーが出ました。 仮引数をしっかりと書いた場合はコンパイルが通りました。 どういうことでしょうか。 #include <stdio.h> #define NUMBER 5 void fill(int,int,int); int mai...
by ジェリナゲ
5年前
フォーラム: C言語何でも質問掲示板
トピック: fscanf コアダンプ
返信数: 2
閲覧数: 1117

Re: fscanf コアダンプ

ありがとうございます。解決しました。
by ジェリナゲ
5年前
フォーラム: C言語何でも質問掲示板
トピック: fscanf コアダンプ
返信数: 2
閲覧数: 1117

fscanf コアダンプ

以下のソースコードを実行するとコアダンプになってしますのですが、どこがおかしいのかわかりません。 dunhgeon.txtの中は  10 0 となっています。 #include <stdio.h> unsigned long int DSEED; int main(void){ FILE* fp; int number; if((fp=fopen("dungeon.txt","r"))!=NULL){ fscanf(fp,"%d %d",DSEED,number); printf("%d %d",DSEED,number); fclose(fp); } return 0; }
by ジェリナゲ
6年前
フォーラム: C言語何でも質問掲示板
トピック: 入力した値と異なる値がでてくる
返信数: 4
閲覧数: 753

Re: 入力した値と異なる値がでてくる

ありがとうございます
by ジェリナゲ
6年前
フォーラム: C言語何でも質問掲示板
トピック: 入力した値と異なる値がでてくる
返信数: 4
閲覧数: 753

Re: 入力した値と異なる値がでてくる

わかりました。ありがとうございます!
by ジェリナゲ
6年前
フォーラム: C言語何でも質問掲示板
トピック: 入力した値と異なる値がでてくる
返信数: 4
閲覧数: 753

入力した値と異なる値がでてくる

#include <stdio.h>

int main(void){
float no;
printf("実数を入力してください :"); scanf("%f",&no);
printf("あなたは%fと入力しましたね\n",no);

return(0);

}

このプログラムで4.5などはそのまま4.500000と表示されるのですが、57.3などになると、57.299999など異なる値がでてくるのですがなぜでしょうか。

詳細検索ページへ移動する