1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Kleine C Frage

    • Frage
  • Synox
  • 6. April 2005 um 22:25
  • Unerledigt
  • Synox
    3
    Synox
    Mitglied
    Punkte
    75
    Beiträge
    10
    • 6. April 2005 um 22:25
    • #1

    Hallo zusammen!
    Mach gerade eine Ausbildung zum Programmierer und hab heute eine Aufgabe gestellt bekommen. Wir haben gestern mit den Zeigern angefangen und sollen folgendes machen:

    void main( )
    {
    int feld[20];

    int i,h,getauscht;


    for ( i=0 ; i<19 ; i++)
    {
    feld[i] = random(100)+1;
    }
    do
    {
    getauscht=0;
    for (i=0;i<=18;i++)
    {
    if (feld[i]> feld[i+1])
    {
    getauscht = 1;
    h=feld[i];
    feld[i]=feld[i+1];
    feld[i+1]=h;
    }
    }
    } while(getauscht);

    }

    Alle Felder sollen wir nun durch Pointer ersetzen.
    Wer kann mir helfen?
    Bin bisher so weit gekommen:

    void main( )
    {
    int feld[20];

    int *ptr;
    int *pz;
    int *tausch;

    int bubbel;
    int i;
    int getauscht;


    ptr=&feld[20];

    pz=&i;

    tausch=&getauscht;


    for ( *pz=0 ; *pz<19 ; *pz++)
    {
    *ptr = random(100)+1;
    }
    do
    {
    *tausch=0;
    for (*pz=0;*pz<=18;*pz++)
    {
    if (*ptr>*ptr+1)
    {
    *tausch = 1;
    bubbel = *ptr;
    *ptr=(*ptr+1);
    (*ptr+1) = bubbel;
    }
    }
    } while(*tausch);

    }

    Danke!

  • Dimitrij
    7
    Dimitrij
    Mitglied
    Reaktionen
    12
    Punkte
    437
    Beiträge
    73
    • 6. April 2005 um 23:13
    • #2
    Code
    feld[i]

    ist dasselbe wie

    Code
    *(feld+i)


    Vielleicht sollst du einfach nur diese Ersetzungen machen.

    de.lernu.net, lingwadeplaneta.info

  • Plantschkuh!
    24
    Plantschkuh!
    Mitglied
    Reaktionen
    163
    Punkte
    6.173
    Beiträge
    1.181
    • 6. April 2005 um 23:19
    • #3
    • Es gibt Code-Tags. Es gibt sie aus einem bestimmten Grund, nämlich zum einigermaßen lesbaren Posten von Code.
    • Einiges von dem hilft dir vielleicht: http://www.catb.org/~esr/faqs/smart-questions.html . Insbesondere wäre es rasend interessant zu wissen, was du von uns willst. Kompiliert dein Code? Wenn nicht, zeig die Fehlermeldungen her. Rennt er, aber tut er was falsches? Beschreib uns, was er tut und was er tun sollte.
    • void main gibt's nicht, das heißt int main. Dein Programmierkurs stinkt, du solltest wohl einen neuen suchen.
    • ptr=&feld[20]; ist ziemlich sicher nicht das, was du wolltest. Diese Zuweisung setzt ptr als Zeiger auf das (nicht existente) zwanzigste Element von feld! Du meinst ptr = &feld[0]; oder weniger konfus einfach ptr = feld;

    *plantsch*

  • Synox
    3
    Synox
    Mitglied
    Punkte
    75
    Beiträge
    10
    • 7. April 2005 um 14:22
    • #4

    Vielen Dank für eure Hilfe. War für heute gut gerüstet :winking_face:
    Das mein Programmierkurs nicht das wahre ist, hab ich auch schon festellen müssen.
    Habe nicht mehr bekommen wie den Quellcode mit der Feldschreibweise feld[20] usw. und dann folgende Aufgabe:"Ersetzen sie alle Felder durch Pointer".
    Deinen Rat mit den Code-Tags nehme ich dankend an.
    Wäre aber nett, wenn du mir erklären könntest w der Unterschied zwischen void main() und main() alleine steht.
    Thx

  • gelbasack
    25
    gelbasack
    Mitglied
    Reaktionen
    90
    Punkte
    6.525
    Beiträge
    1.241
    • 7. April 2005 um 16:13
    • #5
    Zitat von Synox

    Wäre aber nett, wenn du mir erklären könntest w der Unterschied zwischen void main() und main() alleine steht.


    Das void steht für den Rückgabewert. C Programme sollten allerdings immer einen Rückgabewert des Typs int liefern. Dadurch kann überprüft werden, ob ein Programm erfolgreich ausgeführt wurde oder durch einen Fehler abgebrochen wurde.

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung