課題プログムラムについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
lulu

課題プログムラムについて

#1

投稿記事 by lulu » 14年前

敵キャラを扱うためのメモリを動的に確保しそれぞれの指示された値で初期化する
処理の流れは
敵キャラの数をnを入力し必要なメモリを動的に確保して初期化。
正しく初期化されたか1体ずつ画面に表示して確認という課題なんですが
どうかご教授お願いします
自分でなんとくなくわかるとこらへんまで組んでみたのを書いときます

コード:

struct ENEMY{
	char id;
	short atk;
	short def;
	int level;
};

void main(void){
	struct ENEMY zako;
	struct ENEMY* p;
	int n;
	int i;

	printf("敵キャラの数を入力:");
	scanf("%d", &n);


	p = (ENEMY*)malloc(sizeof(ENEMY)*n);
}

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 課題プログムラムについて

#2

投稿記事 by softya(ソフト屋) » 14年前

フォーラムルールをお読み頂くと分かるのですが、codeタグをご利用をお願いしております。
今回は設定しておきましたが次回はお願いします。

プログラムが途中で終わっていますがiまで用意されているのでfor文の分はまったく書けない状態でしょうか?
それと「それぞれの指示された値で初期化する」とありますが、どこからどのような形で指示するか説明してもらえますか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

lulu

Re: 課題プログムラムについて

#3

投稿記事 by lulu » 14年前

フォーラムルールのとこはすいません

char id には0,1,2...n
short atk 100~199の乱数で
short def 100~199の乱数で
int level 100~199の乱数で初期化していく形で作りたいんです

for分のとこもあやふやので教えてもらいたいです

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 課題プログムラムについて

#4

投稿記事 by softya(ソフト屋) » 14年前

フォーラムルールを読まれたと思いますが課題の期限についても言及されていたはずですが慌てていないという認識でよろしいですか?

では、課題を解決するために下記問題を解いてみてください。課題で出される以上は習っているはずです。
(1)乱数でhoを初期化してみてください。値は50から59の範囲です。
int ho;
(2)配列をfor文で初期化してみてください。値は1,3,5です。
int ary[3];

まず、これが解けたら次の段階に進みます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

lulu

Re: 課題プログムラムについて

#5

投稿記事 by lulu » 14年前

(1)

コード:

int ho;
ho = rand()%60+50;
(2)
for文での初期化がよくわからないです・・・

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 課題プログムラムについて

#6

投稿記事 by softya(ソフト屋) » 14年前

lulu さんが書きました:(1)

コード:

int ho;
ho = rand()%60+50;
(2)
for文での初期化がよくわからないです・・・
(1)それだと50から109の範囲です。
(2)どんなfor文なら書けるのでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

lulu

Re: 課題プログムラムについて

#7

投稿記事 by lulu » 14年前

(1)

コード:

int ho;
ho = rand()%10+50;
(2)

コード:

int ary[3];
int i;
for(i=0; i<3; i++){
     
}
1,3,5という値を入力するのにfor文の中身の書き方がわからないです

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 課題プログムラムについて

#8

投稿記事 by softya(ソフト屋) » 14年前

lulu さんが書きました:(1)

コード:

int ho;
ho = rand()%10+50;
(2)

コード:

int ary[3];
int i;
for(i=0; i<3; i++){
     
}
1,3,5という値を入力するのにfor文の中身の書き方がわからないです
(1)はOKですね。
(2)は0,1,2なら大丈夫ですか?あるいはforを使わないなら出来ますか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

lulu

Re: 課題プログムラムについて

#9

投稿記事 by lulu » 14年前

コード:

 int ary[3];
int i;
for(i=0; i<3; i++){
   ary = i;
       ary++
}


o,1,2ならこれで大丈夫ですか?

for文使わない形なら

コード:

int ary[3]={1, 3, 5};
こんな感じでいいんでしょうか

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 課題プログムラムについて

#10

投稿記事 by softya(ソフト屋) » 14年前

lulu さんが書きました:

コード:

 int ary[3];
int i;
for(i=0; i<3; i++){
   ary = i;
       ary++
}


o,1,2ならこれで大丈夫ですか?
それだとダメですね。
ここで回答する前にコンパイルして確認してみてください。
ポインタ的な書き方と配列を安易に一緒だと思わないほうが良いです。
lulu さんが書きました: for文使わない形なら

コード:

int ary[3]={1, 3, 5};
こんな感じでいいんでしょうか
確かにそれならOKです。
じゃあ代入文でループをせずに書くとどうなりますか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る