Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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

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

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

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.

jo hab ich gemacht funktioniert wunderbar danke nochmal an alle für eure super hilfe ;)

grüße

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.