2016-04-30 5 views
-2

私は2次元配列のプログラムを作成していると私は、これは、アレイは、ソートとユーザーの入力に2次元配列のベースをプリントアウト

1 2 3 
1a b c 
2d e f 
3g h i 

もしある

ユーザーの選択に配列ベースをプリントアウトしようとしています1B3内のユーザーキーは、C21に入力された場合、それは今、私が作成している cfibehadg

が表示されます adgbehcfi

が表示されます配列は、しかし、私はどのようにユーザーの入力上の配列ベースの順序を印刷するには、私に手伝ってくださいに固執した。ありがとうございました。

やっていつの日か過ごした後、以下の

#include <iostream>; 
using namespace std; 

int main() 
{ 
    string alphabate; 
    string array[3][3]; 
    string a="abcdefghi"; 

for(int i=0; i<3; i++) 
{ 
    for(int j=0; j<3; j++) 
    { 
     array[i][j] = a[j+ (i * 3)]; 
    } 
} 

for(int i=0; i<3; i++) 
{ 
    for(int j=0; j<3; j++) 
    { 
     cout << array[i][j]; 
    } 

    cout << endl; 
} 

cout << "Enter some alphabate:"; 
cin >>alphabate; 

    return 0; 
} 
+1

あなたは1B1 ABD手の込んだでし –

+0

をC21、彼らは列の最初の列を参照すると、2がB以降bは、1であるアルファベット順に第二は、第三column.Iによって従っていることがあり、エラーをしました1b3 – Happy

+0

"配列を読み込む方法に悩まされています"は既に 'cin'を知っているようですが、何が問題なのですか? – user463035818

答えて

0

は、私の知る限り理解されるように、あなただけのユーザーが入力したことを列番号/インデックスに基づいて配列要素を印刷したい私のコードです。これは私がそれを実現した方法です。ホープことができます:)

#include <iostream> 
#include <string> 
using namespace std; 

string array[3][3]; 

//function that prints the column c of the array 
void printArray(int c) { 
    for(int i=0; i<3; i++) { 
     cout << array[i][c]; 
    } 
} 

int main() { 

    string alphabate; 
    string a="abcdefghi"; 

    for(int i=0; i<3; i++) { 
     for(int j=0; j<3; j++) { 
      array[i][j] = a[j+ (i * 3)]; 
     } 
    } 

    cout << "Enter some alphabate:"; 
    cin >> alphabate; 

    //checking the input parameters 
    for (int j=0; j<3; j++) { 
     if (alphabate[j] == '1' || alphabate[j] == 'a') { 
      printArray(0); 
     } 
     else if (alphabate[j] == '2' || alphabate[j] == 'b') { 
      printArray(1); 
     } 
     else if (alphabate[j] == '3' || alphabate[j] == 'c') { 
      printArray(2); 
     } 
     else { 
      cout << "Error"; 
     } 
    } 

return 0; 
} 
+0

助けていただきありがとうございますが、私はもう2つのことを解決しようとしています。私は質問でそれらを更新しました。もう一度ありがとうございます。 – Happy

+0

私は私の質問を更新できるので、私はここに投稿します。まず、私のプログラムをよりスマートにして、cin >> alphabateを1234を受け入れるようなより論理的なものにし、1(見つからない2)34のような順番でない入力を拒絶するようにすることができます。 もう1つは、私のプログラムで10ワードのような配列を受け入れる方法です。私がhelloworldをキー入力すると、2d配列の文字dが暗号テキストに欠落していることがわかります。もう一度あなたのお手伝いに感謝します。ありがとうございました – Happy

+0

こんにちは、私は追加することを忘れてしまった、私は配列[5] [5]になるようにして、UNIX環境でそれらの行方不明のフィールドのためにガーベッジ値を取得して終了しました。 – Happy