2016-04-30 13 views
0

私は、ユーザの入力に基づいて列を読み出す配列プログラムを持っています。配列に空のフィールドがあると、何とかエラーが出ます。例えば、私が単語helloworlで読んだ場合、私のプログラムは動作します。しかし、もし私がhellowordで読むと、私のプログラムは最後の文字dを出力しません。私は解決する方法を見つけることを試みる日を過ごす、私は誰かが私を助けてくれることを願っています。ありがとうございました。C++ 2D配列のバグ

出力はhlodworlwlである必要があります。今、最後の行が見つからないように見える。

もう1つ、私のプログラムはユーザーの入力を受け取り、配列をソートして出力します。私はどのようにプログラムを誤って123 321 213など(論理的に)と111 22 134のようなユーザータイプを確認することができますか?

私はHelloWorldの中で読んで、ユーザーは123を入力した場合、私の2D配列は、出力がhlodworlwlあるべき

hel 
low 
orl 
d 

でなければなりません。今、最後の行が見つからないように見える。

もう1つ、私のプログラムはユーザーの入力を受け取り、配列をソートして出力します。私はどのようにプログラムを誤って123 321 213など(論理的に)と111 22 134のようなユーザータイプを確認することができますか?もう一度

hel 
low 
orl 
#include <iostream> 
#include <string> 
using namespace std; 

char array[5][5]; 

//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="helloworld"; 

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); 
    } 

} 

return 0; 
} 

、私の問題を通じてお読みいただきありがとうございました。

+0

* "出力はhlodworlwlでなければなりません。このhlodworlwl" *のように表示されますが、この2つの出力は同じです。私は何かが欠けていますか? –

+0

私はあなたのプログラムが何をすべきか本当に分かりませんが、私はあなたのdelcarationを次のように見ています: 'char array [3] [3];'、 '9'文字を保持することができます。 「d」は「10」文字を有する。 – PcAF

+0

私はso sooryみんな、私は睡眠を奪っているので、私は多くの間違いをして説明が不足しています。 2番目の "hlodworlwl"は遅くなるはずです。 @ bkVnet私は配列[5] [5]の前で使ってみましたが、空のそれらのためにガベージ値を得ることになりました。どのように私はそれを解決するのですか? – Bhappy

答えて

1

答えは簡単です。「helloworld」は10文字です。あなたの配列は9個しか格納されません。Dは決して配列に出力されません。

+0

こんにちは前のメッセージを無視してください、私はso soory、私は睡眠を奪っているので、私は多くの間違いをして説明を欠いています。私は配列[5] [5]の前で使用しようとし、それらの空のフィールドのガベージ値を取得してしまう。どのように私はそれを解決するのですか?あなたの助けてくれてありがとう。私はまた、論理的な価値だけにcinを作ることができる別の質問があります。私は質問を上に置いた。あなたが私を助けることを願って – Bhappy

+0

@Bhappyあなたはコメントを削除することができます。 – PcAF