2016-08-19 3 views
-4

Von wort puzzle sammeln daten in array 2 dimensionen und zeigen die ergebnisse in der folgenden abbildung.lösen wort puzzle C++

Beispiel:

T TH THI THIS 
H HI HIS 
I IS 
S 

W WA WAT WATS 
A AT ATS 
T TS 
S 

Ich mag Wort-Puzzle lösen, und ich kann nicht dieses Problem zu lösen, weil ich für Schleife Arbeit weiß nicht, und ich weiß nicht, wie Reichweite dieser Schleife zu setzen, so ich möchte wissen, wie kann ich für Schleife für Laufwort gesetzt wie zB Rätseln und diese Frage ein [5] (Array 2 Dimensionen Typ char) und diesen meinen Code

int main() 
    { int i,j,k; 

     char a[5] = "THIS"; 
     for(k=0;k<4;k++) 
     { 
     for(i=0;i<4-k;i++) 
     { 
      for(j=0;j<=i;j++) 
       cout << a[j] << " "; 
     cout << " "; 
     } 
     cout << endl; 
     } 
    } 

aber dieser Code ausgeführt wird
T TH THI DIESE
T TH THI
T TH
T

+0

Was zählt als Ergebnis? Sind alle Wörter vier Buchstaben? – doctorlove

+0

Könnten Sie bitte mehr Informationen zu den Beispieleingängen und den gewünschten Ausgaben geben? Es scheint, als ob wir nur so verstehen können, was Sie genau erreichen wollen. –

+1

Was ist das Problem genau? Außerdem scheint Ihr Beispiel unvollständig zu sein, da ich die Definition von "a" nicht sehe. Bitte stellen Sie [MCVE] zur Verfügung. –

Antwort

0

Ergebnisse von oben Programm erhalten, nur um zu beweisen, dass es für verschiedene Größen arbeitet, nicht nur Strings der Länge 4.

T TH THI THIS 
T TH THI 
T TH 
T 

W WA WAT WATS 
W WA WAT 
W WA 
W 

H HE HEL HELL HELLO 
H HE HEL HELL 
H HE HEL 
H HE 
H 
0

Ihre Beschränkung auf Ihrem inneren Nested for Loop sind hier der richtige Code.

int main() 
    { int i,j,k; 

     char a[5] = "THIS"; 
     for(k=0;k<4;k++) 
     { 
     //here you replace the 0 with k and take out the -k 
     for(i=k;i<4;i++) 
     { 
      //right here replace 0 with k 
      for(j=k;j<=i;j++) 
       cout << a[j] << " "; 
     cout << " "; 
     } 
     cout << endl; 
     } 
    }