こんばんは。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も見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
大人になっても苦手な食べ物、ありますか?
大人になっても、我慢してもどうしても食べれないほど苦手なものってありますよね。 あなたにとっての今でもどうしても苦手なものはなんですか?
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら「ろうそくの数はあなたが好きな人の数です」と言われ浮気者扱いされたことをいまだに根に持っています。
-
ギリギリ行けるお一人様のライン
おひとり様需要が増えているというニュースも耳にしますが、 あなたが「ギリギリ一人でも行ける!」という場所や行為を教えてください
-
VC++でエクセルのような表
C言語・C++・C#
-
画面を強制的に再描画させる方法
C言語・C++・C#
-
SetWindowText関数について
C言語・C++・C#
-
-
4
コンボボックス表示文字列を取得する場合
C言語・C++・C#
-
5
他の.CPPファイルに定義した関数を呼び出す方法について
C言語・C++・C#
-
6
【C++/CLI.NET】コンボボックスの値の設定・取得
C言語・C++・C#
-
7
C言語 数字以外を入力させない方法 教えてください
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
intとlongは同じ?
-
再起呼び出しの回数をカウント...
-
2の補数を計算するプログラム
-
C++ bmp 透過処理
-
コマンドプロンプトのウィンド...
-
opencvとmbedのシリアル通信で...
-
画像の拡大・縮小
-
最大の四角形を求めるプログラム
-
乱数生成について
-
関数とビット列
-
C言語で簡単なパックマンゲーム...
-
OpenCVによる4値化について
-
C言語 5) 正の整数 n を入力(...
-
複数の共有メモリの作成
-
組織的ディザ法のプログラムが...
-
c++ TCHARで文字化け
-
分数の足し算をさせるプログラ...
-
強連結判定を行うプログラムに...
-
「指定されたキャストは有効で...
-
信頼区間の1.96や1.65ってどこ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2の補数を計算するプログラム
-
intとlongは同じ?
-
再起呼び出しの回数をカウント...
-
C言語で%を使わない余りの出し方
-
カードシャッフルのブログラム...
-
OpenCVによる4値化について
-
C++で表を作成したいのです ...
-
分数の足し算をさせるプログラ...
-
条件が多い場合
-
画像の拡大・縮小
-
ヌメロンのプログラム
-
C言語で簡単なパックマンゲーム...
-
関数とビット列
-
C++ bmp 透過処理
-
コマンドプロンプトのウィンド...
-
3のつく数と3の倍数を表示 C言語
-
異なるn個の整数からr個の整数...
-
迷路を脱出する経路探索プログ...
-
whileとifを使い偶数を出すには
-
再帰処理をループ処理に変換
おすすめ情報