Warum funzt es nicht???



  • Hallo,

    musste ein Beispielprog für Arrays schreiben. Dabei hat mir mein Schwager etwas geholfen und bei ihm unter Borland Builder 5 hat es gestern noch gefunzt. Heute bei mir unter Borland 6 und Dev C++ funzt es nicht mehr. 😮

    Sinn war es, daß der User Zahlen eingibt und diese dann sortiert ausgegeben werden.

    Hier mal der Quellcode:

    #include <conio.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <iostream.h>
    
    //Konstante für Arraydimensionen
    #define ARRAYELEMENTE 5
    
    /*
    Beispielprogramm Referat Arrays 2004-04-19
    
    */
    
    //Funktionsprototypen
    int einlesen();
    int sort();
    int ausgabe();
    
    //globale Variablen
    int spielzahlen[ARRAYELEMENTE]; //globale Dekl. weil Call by Reference mit Arrays nur über Zeiger int sortierer[ARRAYELEMENTE];
    
    //Hauptfunktion, steuert Programmablauf
    int main()
    {
        int returneinlesen = 1;
       int returnsort = 1;
        int returnausgabe = 1;
    
        returneinlesen=einlesen();   //Funktion einlesen() wird aufgerufen
    
        if (returneinlesen!=0)      //Ablaufprüfung für Funktion einlesen()
       {
            cout << "Es ist ein Fehler aufgetreten in der Funktion einlesen(). programm wird beendet!";
          exit(EXIT_FAILURE);     //Programm wird abgebrochen - System gibt Fehlermeldung
       }
    
        returnsort=sort();        //Funktion sort() wird aufgerufen
    
        if (returnsort!=0)        //Ablaufprüfung für Funktion sort()
       {
           cout << "Es ist ein Fehler aufgetreten in der Funktion sort(). programm wird beendet!";
           exit(EXIT_FAILURE);    //Programm wird abgebrochen - System gibt Fehlermeldung
       }
    
       returnausgabe=ausgabe();  //Funktion ausgabe() wird aufgerufen
    
        if (returnausgabe!=0)     //Ablaufprüfung für Funktion ausgabe()
       {
           cout << "Es ist ein Fehler aufgetreten in der Funktion ausgabe(). programm wird beendet!";
           exit(EXIT_FAILURE);    //Programm wird abgebrochen - System gibt Fehlermeldung
       }
    
        getch();
        return 0;
    }
    
    //Funktion zum Einlesen der Zahlen
    int einlesen()
    {
        int i=1, temp=0;
    
       for (i=1; i<=ARRAYELEMENTE ; i++)   //Jedes Feld im Array wird mit 0 initialisiert
             spielzahlen[i-1]=0;
    
       for (i=1; i<= ARRAYELEMENTE; i++)  //Anzalhl ARRAYELEMENTE bestimmt Wiederholungsschritte
       {
           cout << "*************Sortierer***************" << endl;
          cout << "\n\nBitte geben Sie die " << i << ". Zahl ein : ";
          cin >> temp;
          clrscr();
          //Prüfung ob Zahl schon vorhanden
          while (temp==spielzahlen[0]||temp==spielzahlen[1]||temp==spielzahlen[2]||temp==spielzahlen[3]||temp==spielzahlen[4]||temp==spielzahlen[5])
          {
              cout << "*************Sortierer***************" << endl;
             cout << "Bitte keine Zahlen doppelt nennen! ";
             cout << "\n\nBitte geben Sie die " << i << ". Zahl ein : ";
             cin >> temp;
             clrscr();
           }
    
          spielzahlen[i-1]=temp;   //Eingabe wird im Arrayfeld gespeichert
        }
       return 0;
    }
    
    //Funktion zum Sortieren
    int sort()
    {
        int sortvar=0;
       int anzkleiner=0;
       int i=0, k=0;
    
       for (i=1; i <= ARRAYELEMENTE ; i++) //Jedes Feld im Array wird mit 0 initialisiert
           sortierer[i-1]=0;
    
       for (i=1; i <= ARRAYELEMENTE; i++) //Anzalhl ARRAYELEMENTE bestimmt Wiederholungsschritte
       {
             sortvar=spielzahlen[i-1];      //Der Reihe nach wird jedes Element aus dem Array geholt
    
          for (k=1; k <= ARRAYELEMENTE; k++) //Vergleicht auktuelles Element mit allen Elementen und zählt Anzahl kleinerer Elemente
          {
              if (spielzahlen[k-1]<sortvar)
             {
                 anzkleiner++;
             }
          }
    
             sortierer[anzkleiner] = sortvar; //Aktuelles Element wird an korrekter Stelle in neues Array geschrieben
    
          anzkleiner=0;   //Zählvariable wir auf 0 gesetzt, damit nicht zum vorherigen addiert wird
       }
       return 0;
    }
    
    //Funktion zur Ausgabe
    int ausgabe()
    {
        int i=0;
       clrscr();
       cout << "Hier die sortierten Werte: " << endl << endl;
       for (i=1; i<= ARRAYELEMENTE; i++)      //Sortierte Elemente werden der Reihe nach ausgegeben
       {
             cout << sortierer[i-1] << endl;
       }
       return 0;
    }
    

    Hoffe mir kann jemand helfen! Wäre wirklich sehr dankbar!!!

    :)!



  • Ich glaube, Du solltest das int sortierer[ARRAYELEMENTE]; mal aus dem Kommentar in Zeile ~20 rausholen....



  • Asgard schrieb:

    Ich glaube, Du solltest das int sortierer[ARRAYELEMENTE]; mal aus dem Kommentar in Zeile ~20 rausholen....

    VIELEN, VIELEN DANK!!!!!

    Jup, das wars! Das muss gestern beim Kommentarschreiben passiert sein! 🙄

    Manchmal sieht man den Wald vor lauter Bäumen nicht! 😃

    Also noch mal vielen Dank!!!

    :)!


Anmelden zum Antworten