cmdの表示がうまくできません。

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

cmdの表示がうまくできません。

#1

投稿記事 by constructor2016810 » 8年前

C言語を始めてから日が浅く、 結果の表示のためのコード表記法がわかりません。
よろしく、 ご指導おねがいいたします。
11~19までの乗算のプログラムですが、 プログラム上で、 cmdで旨く表示されません。

コード:

#include<stdio.h>

int main() {

	int data[19][19];
	int xx, yy;

		/* Initialization and Calculation*/
		for (yy = 0; yy < 19; yy++) {
			for (xx = 0; xx < 19;xx ++) {
			data[xx][yy] = 0;
		}
	}
		
		
	/* Output */

	for (yy = 0; yy < 19; yy++){
		for (xx = 0; xx < 19; xx++) {
			data[xx][yy] = (xx + 1)*(yy + 1);
			printf("\%d\t", data[xx][yy]);
						
		}
		printf("\t");

  }
	   
    return 0;
}

[code]

演算結果の表示を以下の通りにしたいと考えています。

1  2    3    4     5     6    7   8   9   10  ・・・・・・・・19
2    演算結果------------------------------------------
3
4
5
6
7
8
9
10
・
・
・
・
・
19

適正に表示させるためには、 どのような表示のためのコードにすればよいでしょうか?

Math

Re: cmdの表示がうまくできません。

#2

投稿記事 by Math » 8年前

インデントを直しコンパイルするとこうなりますね。

コード:

#include<stdio.h>

int main() {

	int data[19][19];
	int xx, yy;

	/* Initialization and Calculation*/
	for (yy = 0; yy < 19; yy++) {
		for (xx = 0; xx < 19; xx++) {
			data[xx][yy] = 0;
		}
	}


	/* Output */

	for (yy = 0; yy < 19; yy++) {
		for (xx = 0; xx < 19; xx++) {
			data[xx][yy] = (xx + 1)*(yy + 1);
			printf("\%d\t", data[xx][yy]);

		}
		printf("\t");

	}

	return 0;
}

コード:

1>------ ビルド開始: プロジェクト:Cons, 構成:Debug x64 ------
1>  c1.c
1>d:\z\08\cons\cons\c1.c(21): warning C4129: '%': エスケープ シーケンスとして正しく認識されませんでした。
1>  Cons.vcxproj -> D:\z\08\Cons\x64\Debug\Cons.exe
1>  Cons.vcxproj -> D:\z\08\Cons\x64\Debug\Cons.pdb (Full PDB)
========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ ==========


アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: cmdの表示がうまくできません。

#3

投稿記事 by みけCAT » 8年前

まず、printf("\t");の2行下のあってはいけない場所に全角スペースが2個るので、消します。
次に、printf("\t");の代わりにprintf("\n");とします。 (1行分出力したら、タブではなく改行を出力)

指摘があった通り、printf("\%d\t", data[xx][yy]);の%の前にある\も、
蛇足なので消すといいでしょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: cmdの表示がうまくできません。

#4

投稿記事 by みけCAT » 8年前

オフトピック
Initialization and Calculationというコメントがある場所で計算をしないで、
Outputというコメントがある場所で計算をするのは、
update()関数とdraw()関数があるゲームプログラムのdraw()関数で状態の更新をするのと同様によくないのでは…
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

constructor2016810
記事: 22
登録日時: 9年前

Re: cmdの表示がうまくできません。

#5

投稿記事 by constructor2016810 » 8年前

早速のご返信ありがとうございました。
ご指摘のように修正し、 試しましたが、 まだ、 結果が適正に表示されません。
結果を、 適正に表示するための、表示方法
をご教授ください。
よろしくお願いいたします。

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: cmdの表示がうまくできません。

#6

投稿記事 by みけCAT » 8年前

constructor2016810 さんが書きました: ご指摘のように修正し、 試しましたが、 まだ、 結果が適正に表示されません。
結果を、 適正に表示するための、表示方法
をご教授ください。
まず、「適正に表示」を定義してください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

constructor2016810
記事: 22
登録日時: 9年前

Re: cmdの表示がうまくできません。

#7

投稿記事 by constructor2016810 » 8年前

配列の使い方が誤っていました。 修正したら、できるようになりました。
ありがとうございました。

constructor2016810
記事: 22
登録日時: 9年前

Re: cmdの表示がうまくできません。

#8

投稿記事 by constructor2016810 » 8年前

みけCAT 様  大変お手数をお掛け致しました。 配列の数値を入れ間違えてしまいました。 11~19同志の掛け算ですので、配列に入れる数値は、[2][10]としなければなりませんでした。 まだまだ、いろいろ頭が働きません。 思い違いを肝に銘じて、 少しづつ先に進んでいきたいと考えております。
ありがとうございました。

閉鎖

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