Zahlen aus Textdatei in Array speichern
-
Hallo,
ich studiere Wirtschaftsinformatik und bin gerade dabei ein paar Übungsaufgaben zu machen. Es soll eine Textdatei mit Zahlen ausgelesen und in ein Array gespeichert werden.
So sieht mein Code bis jetzt aus:
#include <iostream> #include <fstream> using namespace std; int main() { char array[20]; ifstream datei; datei.open("Text.txt"); for (int i; i<20; i++) { datei>>array[i]; } cout << array[2] << endl; return 0; }leider gibt er nur merkwürdige Zahlen aus, aber nicht die welche in der Textdatei an zweiter Stelle steht. Habt ihr ein paar Denkanstöße für mich?
-
i ist in der for-Schleife nicht initialisiert. Probier es mal damit:
for (int i = 0; i<20; i++)Mit einem Debugger kann man so etwas leicht finden. Mache dich damit vertraut!
-
Super vielen Dank!
Gibt es noch die Möglichkeit die Summe aus den Zahlen im Array zu bilden?
Edit: Habe gerade gemerkt, dass es nur funktioniert wenn ich das Array mit Char definiere. Int funktioniert nicht obwohl nur natürliche Zahlen in der Textdatei stehen

-
ja, du addierst die zahlen beim einlesen, oder schreibst dir eine funktion, die ein array aufsummiert
-
locodice1 schrieb:
Edit: Habe gerade gemerkt, dass es nur funktioniert wenn ich das Array mit Char definiere. Int funktioniert nicht obwohl nur natürliche Zahlen in der Textdatei stehen

Wie sieht der Inhalt deiner Textdate denn aus? Und was verstehst du unter "funktioniert nicht"? Immer den genauen Fehler beschreiben.
-
Ich habe in der Textdatei verschiedene Zahlen mit Leerzeichen getrennt. Wenn ich dann die zweite Zahl im INT-Array ausgeben will kommt wieder ein willkürlich generierte Zahl in der Ausgabe.
Edit: Funktioniert alles. Danke an alle für die Hilfe
-
locodice1 schrieb:
Edit: Funktioniert alles. Danke an alle für die Hilfe
Es wäre schön, wenn du zukünftig auch immer die Lösungen postest. Es ist immer schade, wenn man im Internet einen Eintrag findet, wo jemand ein ähnliches Problem hatte und dort nur steht "Hab die Lösung". Außerdem kann man so ggf. nochmal auf die Lösung eingehen, vielleicht ist sie ja doch nicht optimal.
