
こんばんは。C++初心者です。
下に載せた表を表示したいです。
以下は、無知ながらに作成したプログラムです。
#include<stdio.h>
main(void)
{
int i,j;
int A[][]={{1,2,3,4,5,6,7},
{1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3},
{1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,2,2,3,2,2,3,1,1,1,1,1,2},
{2,2,3,2,2,3,2,2,3,3,3,3,3,3,3,2,2,2,2,3,3},
{2,2,3,2,2,3,2,3,3,3,4,4,3,4,4,3,3,4,2,3,4},
{3,3,4,2,2,3,3,3,3,3,4,4,4,4,4,4,4,4,2,3,4},
{1,1,1,1,1,1,1,1,2,3,3,3,4,4,4,4,4,4,2,3,4},
{2,2,3,1,1,1,1,1,2,4,4,4,4,4,4,3,3,3,1,1,1},
{2,2,3,1,1,1,2,3,3,4,4,4,4,4,4,4,4,4,1,1,1},
{2,3,3,2,2,3,2,2,3,4,4,4,4,4,4,4,4,4,2,3,4},
{3,3,4,2,3,4,3,3,4,4,4,4,4,4,4,4,4,4,2,3,4},
{4,4,4,2,3,4,3,3,4,4,4,4,4,4,4,4,4,4,2,3,4}};
i=3*(A-1)+(B-1);
j=3*(C-1)+(D-1);
XX=A[i][j];
・・・と、中途半端かつ意味不明なプログラムに仕上がりました。
是非ヒントでも何でもいいので教えて下さい。
宜しくお願いします。

A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
×:C++で表を作成したいのです・・(質問件名)
×:下に載せた表を表示したいです。・・(質問本文)
○:4桁の数値を入力して、表中の1つの数字を出力させる・・(補足文)
として、アドバイス。
なお、D が3桁あるのは、添付図のように D がなっているとして・・。
まず、4「つ」の数値を入力するために、
1.main(void) を void main( int argc, char *argv[] ) とする。
2.コマンドラインで付加された、空白区切りの文字「数」のチェック処理。
4.文字の数値化・チェック処理。
例)A = argv[ 1 ][ 0 ] - 0x30;
B = argv[ 2 ][ 0 ] - 0x30;
http://e-words.jp/p/r-ascii.html
A・・・・・1,2,3,4 のいずれかであることのチェック★。
B・・・・・1,2,3 〃
C・・・・・1,2,3,4,5,6,7 〃
D・・・・・1,2,3 〃
あとは、No.3 さんのとおり。
++++++++++++++++++++++++++++++++++++
実行は hoge 2 1 1 1 と空白区切りの1桁ずつ。
☆「4桁の数値を入力」は、「時間がありません」とのことで、簡単な「1桁ずつ」としました。
なお、「数値を入力」は、沢山の方法があります。
時間ができましたら、4桁の数値 1234 から 3 を取り出す方法など挑戦してみて下さい。
★重要なのは、数値が適正な範囲にあるか「チェックする」、ということです。
なお、処理系によっては、argv[ 1 ] に、上の例では 2 が入らないかもしれません。
↓を実行しご確認下さい。
#include <stdio.h>
void main( int argc, char *argv[] )
{
printf( "%d\n", argc );
printf( "%s\n", argv[ 0 ] );
printf( "%s\n", argv[ 1 ] ); // 文字列
printf( "%d\n", ( argv[ 1 ][ 0 ] - 0x30 ) ); // 数値
}
++++++++++++++++++++++++++++++++++
「表から法則性を見つけ出し、プログラムで表を作成したい」ではないのかなぁ。

No.3
- 回答日時:
やっと意味がわかりました。
それは、「表を表示したい」とは普通いいませんね。(^^;
4次元配列を用意すると楽です。
static int XX[4][3][7][3]={
{
{{1,1,1},{1,1,1}.....
:
:
}
{
:
:
};
int A,B,C,D;
:
int ans=XX[A-1][B-1][C-1][D-1];
という感じで。
No.2
- 回答日時:
> 中途半端かつ意味不明なプログラムに仕上がりました。
全然仕上がっていません。入り口です。
画面に表を表示するには、そこで詰まっているようでは
ハードルが高過ぎるでしょう。
基本を一つずつ学んでいく必要があります。
入門書を買うことをお勧めします。
それから動かすプログラムのOSやコンパイラが何なのかに
よって話が全然変わってきます。
この回答への補足
申し訳ありません、質問の意図を間違っていたようです。
4桁の数値を入力して、表中の1つの数字を出力させるプログラムを作成したいです。
以下表の見方となっています。
4桁の数値というのは、ABCDの順に対応しています。
例えば、
2111であれば2になります。
2112であれば2になります。
2113であれば3になります。
ちなみにMicrosoft visual c++6.0を使用しています。
一から勉強したいのですが、時間がありません。
あつかましい質問になってしまいますが、
できる範囲での意見をいただきたいです。
宜しくお願いします。
No.1
- 回答日時:
IT屋の者です。
んー。
データ自身は多次元配列をべた書きしてらっしゃいますので、
そこらをこねればできると思うのですが。
「表」というGUI(画面)表示なり、帳票を印刷したいという
意味でしょうか?
であれば。
我々が文書…Wordや一太郎、表…ExcelやLotus(古!)といった
専門ソフトを使うように、ここ最近はプログラム言語でも、
「表」という道具を使います。
例えば、Excelという表が作れるソフト上でVBという言語で
マクロを作るであるとか。
Visual Studio というソフト上でC++でGridを用いてデータを
画面表示するであるとか。
Visual Studio というソフト上でC#でCrystal Reportを用いて
データをA4印字するであるとか。
はたまた、根性でLineをひきまくって標準出力で表示するとか
いろいろな方法があります。
したい事のニュアンスをもう少々詳しく問うた方がいいと思います。
普通、商売でプログラムを行う場合は、「作りたいこと」が先に
あって、それができる「ツール」を選んで、言語は最後に来ます。
NativeのC++の場合は、ポインタを直接扱えるので高速処理ができ、
容量を小さく抑えられます反面、細かい操作ができるあまりコードを
大量に書く傾向があり、ポインタ操作ミスなどバグが入りやすいので
普通は、通信プロトコルや、機械組込系(ケータイ・カメラ)などの
裏っかわの細かいロジック部分を担当させて、画面などは別の言語
ソフトで作ったりします。
この回答への補足
申し訳ありません、質問の意図を間違っていたようです。
4桁の数値を入力して、表中の1つの数字を出力させるプログラムを作成したいです。
以下表の見方となっています。
4桁の数値というのは、ABCDの順に対応しています。
例えば、
2111であれば2になります。
2112であれば2になります。
2113であれば3になります。
ちなみにMicrosoft visual c++6.0を使用しています。
一から勉強したいのですが、時間がありません。
あつかましい質問になってしまいますが、
できる範囲での意見をいただきたいです。
申し訳ございません宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、 2 2022/06/22 23:10
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# プログラムの時、フローチャートはどうなりますか?図でお願いします。 int main(void) { 1 2022/10/01 22:45
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# 3×3のラテン方陣をつくるプログラムを作成したのですが、(↓) #include <stdio.h> 5 2023/07/10 01:53
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
あなたの人生で一番ピンチに陥った瞬間は?
これまでの人生で今振り返ると「あの時、1番ピンチだったなぁ...」という瞬間はありますか?
-
集中するためにやっていること
家で仕事をしているのですが、布団をはじめ誘惑だらけでなかなか集中できません。
-
VC++でエクセルのような表
C言語・C++・C#
-
UpdateData( FALSE); による文字列データの表示更新(VC++6.0)
C言語・C++・C#
-
画面を強制的に再描画させる方法
C言語・C++・C#
-
-
4
関数から配列を返すには?
C言語・C++・C#
-
5
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
6
CString から LPCTSTRの型に変換
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2の補数を計算するプログラム
-
intとlongは同じ?
-
関数とビット列
-
【C#】SQL文の中に変数を埋め込...
-
c言語8クイーン問題が分かりません
-
分数の足し算をさせるプログラ...
-
C言語で簡単なパックマンゲーム...
-
C++ bmp 透過処理
-
ライントレース:C言語 物理セン...
-
opencvとmbedのシリアル通信で...
-
DXライブラリによるパズルゲー...
-
画面に文字を表示
-
C言語のプログラムについて(...
-
直線補間について
-
再起呼び出しの回数をカウント...
-
unsigned int に0xffffffを代入...
-
C言語で%を使わない余りの出し方
-
C++で表を作成したいのです ...
-
C言語で以下のようなプログラ...
-
以下のプログラムはOpenCVで画...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報