1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Kleine C Frage

    • Frage
  • Synox
  • 6. April 2005 um 22:25
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Synox
    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
    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.

  • Plantschkuh!
    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;
  • Synox
    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 ;)
    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
    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.

  1. Datenschutzerklärung
  2. Impressum