#1 13. November 2010 Zuletzt von einem Moderator bearbeitet: 14. April 2017 ShakerSort / Nassi Shneiderman Hey Leute, bin gerade dabei das Nassi Shneiderman Diagramm zu verstehen und es in C# Code umzuwandeln. Habe es mal hier mit eingefügt. PHP: private void ArrayInitialisierung () // Initialisiert das zu sortierende Array { intArray [ 0 ] = 15 ; intArray [ 1 ] = 55 ; intArray [ 2 ] = 14 ; intArray [ 3 ] = 42 ; intArray [ 4 ] = 36 ; intArray [ 5 ] = 18 ; intArray [ 6 ] = 6 ; intArray [ 7 ] = 84 ; intArray [ 8 ] = 99 ; intArray [ 9 ] = 1 ; } .... private void cmdShaker_Click_1 ( object sender , EventArgs e ) { int l = 2 ; int r = intArray . Length ; int k = intArray . Length ; do { for ( int j = ( intArray . Length ); j == l ; -- j ) // ??? { if () { } } for (...) { if { } } } while ( l > r ); } Ich bin ganz strukturiert an das Problem heran gegangen. Was man sofort sieht, ist die Variableninitialisierung, die do-while Schliefe und die zwei For Schleifen. Nun habe ich aber schon bei der ersten For-Schleife mein erstes Problem. Mein Ansatz steht oben im Code. Ich verstehe aber die Anweisung im Diagram in der ersten For-Schleife nicht richtig. Bin für jede Hilfe dankbar Grüße + Multi-Zitat Zitieren
#2 13. November 2010 AW: ShakerSort / Nassi Shneiderman hab da was verpeilt eben. also deine for ist soweit richtig, bis auf die abbruchbedingung, die müsste j != l sein. "solange j nicht l (=2) ist, führe das aus.." du könntest auch j = (intArray.Length -1) setzen und dann post-dekrementieren, also: Code: for (int j = intArray.Length - 1; j != l; j--) wichtig ist nur, dass j nicht größer ist als der größte index im array. intArray.Lenght ist 10, das array hat aber als letzten index 9. + Multi-Zitat Zitieren