ofstream, Daten werden nicht ausgegeben
-
Hallo, habe ein Problem beim ausgeben.
#include<iostream> #include<fstream> using namespace std; int main(){ ifstream fin("A.txt"); ofstream fout("B.txt"); int i,j; int a,b,c,d; for(i=1;i<9999;i++){ fin >> a >> b; for(j=i+1;j<9999;j++){ fin >> c >> d; if(a==d && b==c){ fout << a <<"\n"<< b << "\n"; } } } return 0; }In A.txt stehen Zahlen drin.
Wieso speichert er über fout jetzt nicht in B.txt rein ?
-
Beschreibe dein Problem genauer. Was steht den z.B. in A.txt?
Simon
-
ofstream fout("A.txt"); int i,j; int Summe=0; for(i=1; i<10000;i++){ fout << i <<"\n"; for(j=1;j<(i/2) +1;j++){ if(i%j==0){ Summe+=j; } } fout << Summe<<"\n"; Summe=0; }Also Zahlen untereinander.
Wenn ich per cout unter dem ersten einlesen von fin setze, gibt er mir nichts aus.
-
Ich denke, ich hab' den Fehler selber gefunden.
Ich lese die Datei im ersten Eintrag der zweiten for-Schleife bereits komplett aus. Für die restl. Schleifen ex. keine Daten mehr.
Aber es bleibt dann die Frage offen, was ich machen muss, damit bei jedem Schleifenlauf die Datei von vorn gelesen wird...
-
Slabic schrieb:
Aber es bleibt dann die Frage offen, was ich machen muss, damit bei jedem Schleifenlauf die Datei von vorn gelesen wird...
na,
ofstream fout("A.txt");in die schleife reintun.
-
Ja, das hatte ich versucht, aber es hatte trotzdem nicht geklappt.
Ich schau nochmal.
-
Problem gelöst.
-
Slabic schrieb:
Problem gelöst.
Wie?
-
#include<iostream> #include<fstream> using namespace std; int main(){ ofstream fout("Ausgabe.txt"); int i,j,k=1; int a,b,c,d; for(i=1;i<9990;i++){ ifstream fin("Zahlen.txt"); while(k<i){ fin >> a >> b; k++; } k=1; fin >> a >> b; for(j=i+1;j<9990;j++){ fin >> c >> d; if(a==d && b==c){ fout << a <<"\n"<< b << "\n"; } } cout << i<<endl; } return 0; }