2017-11-24 21 views
0

forループからローカル関数の整数をグローバル配列に格納しようとしていますが、これは可能ですか?私が今いるものは:は、forループの整数をグローバル配列に格納します

int num[] = {0}; 
int Num[] = {0}; 
void convert(string text, string key) 
{ 
for (int i = 0; i < text.length(); i++) 
{ 
    char x = text.at(i); 
    num[i] += int(x) - 97; 
    cout << num[i] << endl; 
} 
for (int i = 0; i < key.length(); i++) 
{ 
    char y = key.at(i); 
    Num[i] += int(y) - 97; 
    cout << Num[i] << endl; 
}} 

forループの出力をグローバルアレイに保存するにはどうすればよいですか?

+0

:: global_var [i] + = int(x)-97; // inside for forループを追加する – GOKUL

答えて

0

まず、intのサイズで配列を初期化し、同じサイズの文字列を得るには、通常の配列の代わりにvector(動的配列)を使う必要があります。次に、各ベクトルにサイズ変更メソッドを使用し、各文字列の長さを同じサイズにします。 (GoogleはベクトルC++で、この素晴らしいクラスについては近い将来もっと使いたいので学ぶ)

vector<int> num; 
vector<int> Num; 
void convert(string text, string key) 
{ 
    Num.resize(key.length()); 
    num.resize(text.length()); 
    for (int i = 0; i < text.length(); i++) 
    { 
     char x = text.at(i); 
     num[i] += int(x) - 97; 
     cout << num[i] << endl; 
    } 

    for (int i = 0; i < key.length(); i++) 
    { 
      char y = key.at(i); 
      Num[i] += int(y) - 97; 
      cout << Num[i] << endl; 
     } 
} 
+0

情報ありがとうございました。 – GOKUL

+0

問題ありません。いつもあなたのためにここに。 – BlazeChill

関連する問題