質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

3回答

393閲覧

きれいな配列参照アルゴリズム

apa

総合スコア68

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

1クリップ

投稿2021/01/27 06:56

編集2021/01/27 07:09

2次元配列になっている変数
int a[5][5]を
1つの引数 in(0 ~ 24)で
aを参照したいです
例 in = 0なら a[0][0]を参照, in = 3なら a[0][3], in = 8なら a[1][3]みたいに

横の列は 8 - 横のmax(5) = 3と出ますが
たての列が出ません。
正直 for文とif文を組み合わせて
下記のようにも組めますが、もっといい方法がありそうでなりません。
どう組めばきれいに組めるでしょうか?

int tate = 0;
for(;;)
{
in -= 5;
tate++;
if(in < 5) break;
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2021/01/27 07:02

どういう法則でアクセスするんでしょうか なんで8なら[1][3]なんでしょう
momon-ga

2021/01/27 07:10 編集

5で割った余り(剰余)が欲しいということなら、 そのまま演算子がありますけど
apa

2021/01/27 07:07

aがまちがっておりましたので修正いたしました
apa

2021/01/27 07:10

引数1つで 2次元配列にアクセスしたいということです。
1T2R3M4

2021/01/27 07:12

商と剰余の組み合わせでは駄目なのですか。
guest

回答3

0

((int *)a)[in]
あるいは
(&a[0][0])[in]

なんてのもできなくはないです。

投稿2021/01/27 10:58

thkana

総合スコア7703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazuma-s

2021/01/27 12:20

(*a)[in] あるいは a[0][in] でもできますね。規格上は問題ありですが。
guest

0

単純に割って切り捨てる、では物足りませんか?

C

1int a[5][5]; 2a[in / 5][in % 5];

投稿2021/01/27 07:11

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

apa

2021/01/27 07:26

返信ありがとうございます。 割り算の発想が出てきませんでした泣 ありがとうございました。
guest

0

ベストアンサー

a[in/5][in%5]

ってことでどうでしょう

投稿2021/01/27 07:11

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

apa

2021/01/27 07:24

返信ありがとうございます。 確かに割り算でいけますね・・・ 数学的な発想が弱くて情けないです ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問