Zum Inhalt springen

Probleme mit dem auslesen einer Datei und Array


Empfohlene Beiträge

Geschrieben (bearbeitet)

Hi

erstmal stelle ich mich vor ;) bin momentan Elektrotechnikstudent und bin 23 Jahre alt und stehe schon vor meinem ersten Problem in C++

Meine Aufgabe lautet das ich max 20 Zahlen einlesen lasse soll und diese sollen über ein Array sortiert und ausgegeben werden! Und jeder sortier schritt soll nach jeder sortierung angezeigt werden

z.B 9 2 5 4 6 0

Schritt 1:

0 2 5 4 6 9

Schritt 2:

0 2 4 5 6 9

Nur habe ich jetzt folgendes Problem ich schaffe es einfach nicht eine text datei einlesen zu lassen vll könnt ihr mir helfen

#include <iostream>

using namespace std;

#include <stdlib.h>


const int MAX=20;


int main()

{

    int feld[MAX], hilf;

    int i, j, k;

	fstream cin("testat.txt",ios::in);



    srand(0); // Zufallsgenerator vorbereiten

    for (i=0; i<MAX; i++)

    /*{ // Array besetzen und anzeigen

        feld[i] = rand() % 100 + 1;

        cout << feld[i] << " ";

    }*/

    cout << endl;


    for(i=MAX-1; i>0; i--)

    {

        for (j=0; j<i; j++)

        {

            cout << "(" << j << "-" << j+1 << "): " <<endl;

            if (feld[j]>feld[j+1])

            { // Tauschen erforderlich

                hilf = feld[j];

                feld[j] = feld[j+1];

                feld[j+1] = hilf;

            }

            cout << feld[j] << " - " << feld[j+1] << "  "<<endl<<endl;

        }

        // Zeige das Array in diesem Durchlauf

        cout << endl << MAX-i << ". Durchlauf beendet: ";

        for (k=0; k<MAX; k++)

        {

            cout << feld[k] << " "<<endl;

        }

        cout << endl;

    }


}

Bearbeitet von Madnesspg
Geschrieben (bearbeitet)

HI ersteinmal danke fuer deine Antwort aber fuer was ist denn dann das fstream?

fstream cin("testat.txt",ios::in);

die ist doch zum auslesen der datei oder??

edit:

so problem ist gelöst nur bringt er mir jetzt ganz andere zahlen aus nämlich:

-858993460 und das bei jeder zahl wieso?

Bearbeitet von Madnesspg
Geschrieben (bearbeitet)

Niemand eine lösung wieso der immer diese Zahl hier nimmt? -858993460 und nicht die die er auslesen soll?

das sind die zahlen die er einließt

5

66

77

8

99

1

22

65

14

87

62

2

4

12

15

17

19

28

67

20

Bearbeitet von Madnesspg
Geschrieben

Hi super ersteinmal für eure antworten jetzt funktioniert der mist auch :D

nur ein kleines problemchen habe ich noch hier erstnochmal der code

#include <iostream>

#include <stdlib.h>

#include <fstream>



const int MAX=20;

using namespace std;

int main()

{

	int feld[MAX] = {5,66,77,8,99,1,22,65,14,87,62,2,4,12,15,17,19,28,67,20};

	int hilf;

    int i, j, k;

	fstream cin("testat.txt",ios::in);




    cout << endl;


   for(i=MAX-1; i>0; i--)

    {

        for (j=0; j<i; j++)

        {

            cout << "(" << j << "-" << j+1 << "): " ;

            if (feld[j]>feld[j+1])

            { // Tauschen erforderlich

                hilf = feld[j];

                feld[j] = feld[j+1];

                feld[j+1] = hilf;

            }

            cout << feld[j] << " - " << feld[j+1] << "  "<<endl;

        }

        // Zeige das Array in diesem Durchlauf

        cout << endl << MAX-i << ". Durchlauf beendet: "<<endl<<endl;

        for (k=0; k<MAX; k++)

        {

            cout << feld[k] << " "<<endl;

        }

        cout << endl;

    }


}

wenn ich das programm starte rattert er alles runter doch fängt er erst bei durchlauf 12 an das heist die ersten 12 sortierungen zeigt er mir nicht an aber die haette ich gerne dabei was muss ich noch machen damit die angezeigt werden???

grüße Maddy

Geschrieben
wenn ich das programm starte rattert er alles runter doch fängt er erst bei durchlauf 12 an das heist die ersten 12 sortierungen zeigt er mir nicht an aber die haette ich gerne dabei was muss ich noch machen damit die angezeigt werden???

Bist du sicher, dass die Ausgabe erst beim 12. Durchlauf anfängt, oder kann es sein, dass einfach der Puffer deiner Konsole nicht groß genug ist, um die gesamte Ausgabe aufzunehmen? Leite doch die Ausgabe mal in eine Datei um.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...