ifの処理で判断が上手く行きません

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
zetu
記事: 4
登録日時: 7年前

ifの処理で判断が上手く行きません

#1

投稿記事 by zetu » 7年前

はじめました、初心者なのでつまらない事で引っかかってます。

コード:

#include <stdio.h>

int main(void)
{

int i,j,k;

	for(i=0;i<3;i++){
		for(j=0;j<3;j++){
			for(k=0;k<3;k++){
				if(i==k && i<=j){
					printf("〇 [%d][%d] [%d]\n",i,j,k);
				}else{
					printf("× [%d][%d] [%d]\n",i,j,k);
				}
			}
			printf("\n");
		}
	}
	return 0;
}
もう少し複雑なプログラムなのですが、問題の箇所を抜粋してみました。
実行すると、
〇 [0][0] [0]
× [0][0] [1]
× [0][0] [2]

〇 [0][1] [0]
× [0][1] [1]
× [0][1] [2]

〇 [0][2] [0]
× [0][2] [1]
× [0][2] [2]

× [1][0] [0]
× [1][0] [1]
× [1][0] [2]

× [1][1] [0]
〇 [1][1] [1]
× [1][1] [2]

× [1][2] [0]
〇 [1][2] [1]
× [1][2] [2]

× [2][0] [0]
× [2][0] [1]
× [2][0] [2]

× [2][1] [0]
× [2][1] [1]
× [2][1] [2]

× [2][2] [0]
× [2][2] [1]
〇 [2][2] [2]
上記のリターン値がえられます。

希望のリターン値はiからjまでの箇所も〇として出力したいのですがままなりません。
例として
〇 [0][1] [0]
〇 [0][1] [1]
× [0][1] [2]

× [1][2] [0]
〇 [1][2] [1]
〇[1][2] [2]

if(i==k && i<=j){ の部分が間違っているのは分かっているのですが(滝汗

未熟な質問で申し訳ありませんが、宜しくお願いします。

かずま

Re: ifの処理で判断が上手く行きません

#2

投稿記事 by かずま » 7年前

zetu さんが書きました:
7年前
希望のリターン値はiからjまでの箇所も〇として出力したいのですがままなりません。
k の値が、i以上 j以下の場合ということでしょうか?
それなら if (k >= i && k <= j) だと思うんですが。

zetu
記事: 4
登録日時: 7年前

Re: ifの処理で判断が上手く行きません

#3

投稿記事 by zetu » 7年前

かずまさん

ドンピシャ!です(^^;
ありがとう御座います!!! スッキリ想定の動きになりました!!!

詰まらない、質問に回答ありがとうござ御座います。
もっと修行を積まないとと、心から思いました(汗

返信

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