-
19.12.2012, 01:58 #1
- Registriert seit
- 19.11.2011
- Beiträge
- 114
Thanked 42 Times in 31 PostsZahlen 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; }
Wie lese ich nun die Zahlen aus einer Textdatei (untereinander geschrieben) aus und gebe diese sortiert aus?
MfG
-
30.04.2014, 01:58 #2
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
-
Steuern für Werbung zahlen?
Von Minecraft im Forum Recht- und VerbraucherschutzAntworten: 9Letzter Beitrag: 17.01.2013, 18:07 -
VB.Net Seitenquelltext in in Textdatei speichern
Von rVs14 im Forum .NetAntworten: 5Letzter Beitrag: 03.04.2012, 13:17 -
Was heisst Bar zahlen?
Von Electro im Forum Internet und TechnikAntworten: 2Letzter Beitrag: 29.11.2011, 18:35 -
Zeilenweises Auslesen aus einer Textdatei?
Von NaBzZ im Forum .NetAntworten: 1Letzter Beitrag: 26.11.2011, 22:39
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.