1. #1

    Registriert seit
    19.11.2011
    Beiträge
    114
    Thanked 42 Times in 31 Posts

    Standard Zahlen aus Textdatei auslesen und sortieren

    Hi,

    ich habe folgendes Problem. Und zwar: Ich schreibe am Donnerstag eine Klausur in Informatik. Schwerpunkt: Arrays sortieren.

    Hinzu kommt, dass wir eine Textdatei erstellen sollen und dort 5 Zahlen untereinander schreiben sollen. Zahlen dürfen wir uns selber aussuchen. Nun weiß ich nicht, wie man die Zahlen aus einer Textdatei ausliest und diese in ein Array packt. Wenn ich selber ein Array mit 5 Zahlen erstelle, bekomme ich diese sortiert.

    Dazu habe ich folgenden Quellcode:

    Code:
    int main ()
             {
                 int max=100;
                 double wert [max+1];
                 int k,i,belegt;
                 
                 
                 wert[1]=3;
                 wert[2]=18;
                 wert[3]=2;
                 wert[4]=1;
                 wert[5]=19;
                 wert[6]=6;
                 wert[7]=4;
                 
                 belegt=7;
                 ausgabe (wert, belegt);
                 cout<<"Zahlen sortiert:  "<<endl;
                 sort (wert, belegt);
                 ausgabe (wert, belegt);
                 system ("pause");
                 return 0;
                 }
    Wenn ich falsch liege, dann sagt es mir.

    Wie lese ich nun die Zahlen aus einer Textdatei (untereinander geschrieben) aus und gebe diese sortiert aus?

    MfG

  2. #2
    Avatar von TomatenKetchup
    Registriert seit
    25.06.2013
    Beiträge
    245
    Thanked 167 Times in 56 Posts

    Standard AW: Zahlen aus Textdatei auslesen und sortieren

    Ich hab dir schnell mal ein Beispielprogramm geschrieben:


    #include <fstream>
    #include <iostream>
    using namespace std;

    int main(int argc, char *argv[])
    {
    fstream fileStream; //Stream für die Datei
    char aktuelleZeile[256]; //Zwischenspeicher für den Text
    int zahlen[4];
    int zeile = 0;
    fileStream.open("test.txt", ios::in); //Datei zum lesen öffnen
    while (!fileStream.eof()) //Jede Zeile einlesen bis die Datei zuende ist
    {
    fileStream.getline(aktuelleZeile, sizeof(aktuelleZeile)); //Zeile in cstring einlesen
    zahlen[zeile] = atoi(aktuelleZeil); //Zeile in den Array speichern
    }
    //Datei wieder zumachen
    fileStream.close();
    //Zahlen sortieren
    bubblesort(&zahlen, 4);
    //Sortiert ausgeben
    for(int i = 0; i < 4; i++)
    {
    cout << zahlen[i] << endl;
    }
    }
    //Sortiert einen Array mit Bubblesort
    void bubblesort(int *array, int length)
    {
    int i, j;
    for (i = 0; i < length -1; ++i)
    {
    for (j = 0; j < length - i - 1; ++j)
    {
    if (array[j] > array[j + 1])
    {
    int tmp = array[j];
    array[j] = array[j + 1];
    array[j + 1] = tmp;
    }
    }
    }
    }


    Zum Sortieren wird der Bubblesort Algorithmus benutzt: http://de.wikibooks.org/wiki/Algorit..._C/_Bubblesort

Ähnliche Themen

  1. Steuern für Werbung zahlen?
    Von Minecraft im Forum Recht- und Verbraucherschutz
    Antworten: 9
    Letzter Beitrag: 17.01.2013, 18:07
  2. VB.Net Seitenquelltext in in Textdatei speichern
    Von rVs14 im Forum .Net
    Antworten: 5
    Letzter Beitrag: 03.04.2012, 13:17
  3. Was heisst Bar zahlen?
    Von Electro im Forum Internet und Technik
    Antworten: 2
    Letzter Beitrag: 29.11.2011, 18:35
  4. Antworten: 1
    Letzter Beitrag: 26.11.2011, 22:39
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.