tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von sheel
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
370
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Alex Großmann Alex Großmann ist offline Mitglied Gold
    Registriert seit
    Jun 2011
    Beiträge
    119
    Hallo

    Wir beschäftigen uns gerade im 2. Jahr einer Ausbildung mit .Net . Haben so zu sagen gerade damit angefangen.

    Nun kam eine Übungsaufgabe die ich einfach nicht schaffe.. :

    Schreiben Sie zuerst ein Feld mit 20 Elementen, generieren Sie in diesem für jedes Element eine Zufallszahl von 0-50.Anschließend soll der Benutzer eine Stellenzahl eingeben(...)
    Das habe ich schon!

    (...), welche dann das Feld um der Entsprechende Zahl nach Rechts rotieren lässt.
    Ich schau wie ein "Schwein ins Uhrwerk"...selbst nach langen grübeln komme ich nicht drauf... könntet Ihr mir da bitte helfen?
    Würde mich sehr freuen!!

    grüße
    Alex
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Hi

    welche Sprache?

    Und ein Array rotieren ist nichts .NET-spezifisches.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    Alex Großmann Alex Großmann ist offline Mitglied Gold
    Registriert seit
    Jun 2011
    Beiträge
    119
    C++ hatten wir bisher.
     

  4. #4
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    C++/CLI? Nicht doch C#?

    Jedenfalls, für C++/CLI:
    Wenn das ursprüngliche Array arr heißt und um n Stellen nach rechts rotiert werden soll:
    Code cpp:
    1
    2
    3
    4
    
    int i;
    array<int>^ arr2 = gcnew array<int>(arr.Length);
    for(i = 0; i < arr.Length; i++)
        arr2[(i + n) % arr.Length] = arr[i];
    Alex Großmann bedankt sich. 
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  5. #5
    Alex Großmann Alex Großmann ist offline Mitglied Gold
    Registriert seit
    Jun 2011
    Beiträge
    119
    1000 Dank, das sieht sehr gut aus!

    Ich würde es gern noch besser verstehen. Was genau macht:
    Code :
    1
    
    arr2[(i + n) % arr.Length]

    Nochmals vielen dank!
     

  6. #6
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Hallo,

    Meinst du was das % macht? Das ist der Modulo-Operator, der liefert den Rest einer Division zurück. i läuft durch das ganze Array, n gibt an um wieviele Stellen verschoben werden soll.
    Wenn man sich das dann vorstellt bekommt man Werte von n bis i+n, da wir aber alle Werte die größer als i sind wieder von 0 weg haben wollen dividieren wir durch die Arraylänge und schauen uns den Rest an.
     

Ähnliche Themen

  1. Anfänger Fragen
    Von =fire= im Forum VisualStudio & MFC
    Antworten: 3
    Letzter Beitrag: 27.01.08, 13:34
  2. Anfänger Fragen
    Von Thomasio im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 11.08.06, 21:15
  3. Anfänger Fragen
    Von StunnerX im Forum Photoshop
    Antworten: 15
    Letzter Beitrag: 01.02.06, 18:22
  4. Anfänger-Fragen
    Von Erpel im Forum Linux & Unix
    Antworten: 23
    Letzter Beitrag: 03.09.03, 10:26
  5. anfänger fragen
    Von HITMAN im Forum PHP
    Antworten: 16
    Letzter Beitrag: 26.03.02, 18:36