2016-05-02 3 views
-1

マイコード:私のコードで次のエラーを解決するにはどうすればよいですか?

#include<iostream> 
#include<conio.h> 
using namespace std; 

int main() 
{ 
    int a; 
    while ((cin >> a)) 
    { 
     if (a == 0) 
      break; 
     char inp[401]; 
     cin >> inp; 
     for (int i = 0; i < a; i += 1) 
     { 
      for (int j = i; j < 400; j += a) 
      { 
       if (inp[j] == '\0') 
        break; 

       cout << inp[j] << endl; 
      } 
     } 
     cout << endl; 

    } 
    getchar(); 
    return 0; 
} 

エラーは、この問題を解決する手助けしなさい、それはINPに保存されている文字を印刷する必要があるとき、私は[j]を何も出力を得るということです。
入力:

5 
toioynnkpheleaigshareconhtomesnlewx 

予想される出力:

theresnoplacelikehomeonasnowynightx 
+0

これらのループはむしろ疑わしいものですが、ここで何を達成しようとしていますか? – ArchbishopOfBanterbury

+0

私は、指定された文字列の次の10番目の要素と5番目の要素を交互に出力しようとしています。 –

+0

@DiscoDancerはサンプル入力と期待される出力を提供できますか? – sandy

答えて

0

ご質問はちょうどあなたが解決しようとしている暗号解読の問題のように、非常に不可解です。次のコードは、指定された入力に対して期待される出力を生成します。

#include<iostream> 
#include<conio.h> 
using namespace std; 

int main() 
{ 
    int a; 
    while ((cin>>a)) 
    { 
     if (a == 0) 
      break; 
     string inp; 
     cin >> inp; 
     int f = 9,s=1; 
     int inc = f; 
     for(int i = 0; i < a; i++) 
     { 
      for (int j = i; j < inp.length() ;) 
      { 
       cout << inp[j]; 
       j += inc; 
       inc = inc==f?s:f; 
      } 
      f-=2; 
      s+=2; 
      inc = f; 
     } 
     cout << endl; 
    } 
    getchar(); 
    return 0; 
} 
関連する問題