Zapisywanie liczb do pliku txt - problem
Ostatnio zmodyfikowano 2012-12-31 13:40
mizuri332 Temat założony przez niniejszego użytkownika |
Zapisywanie liczb do pliku txt - problem » 2012-12-31 13:15:41 Mam do napisania program w którym użytkownik podaje n liczb do tablicy, liczby te zostają wyświetlone, posortowane malejąco a następnie zapisane do pliku txt. Problem w tym, że w tym pliku zapisuje mi sie tylko ostatnia liczba posortowanego ciągu, tzn jeśli podaje cyfry: 3,5,1,6 to po sortowaniu mamy: 6,5,3,1 i w pliku txt zapisuje sie TYLKO ostatnia cyfra z tego ciągu, czyli 1. Proszę o pomoc jak mam to naprawić, bo nie bardzo mam czas żeby nad tym siedzieć i sie głowić dzisiaj, w c++ jestem amatorem totalnym. Wiem że program nie ma żadnych zabezpieczeń, on ma po prostu działać a nie sprawdzać co użytkownik podaje. Poniżej zamieszczam kod: #include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main( int argc, char * argv[] ) { int i, n; int tab[ i ]; cout << "Ile liczb ma zawierac plik: "; cin >> n; cout << "Podaj " << n << " liczb: " << endl; for( i = 0; i < n; i++ ) cin >> tab[ i ]; cout << "Twoje liczby to: "; for( i = 0; i < n; i++ ) cout << tab[ i ] << ", "; cout << endl << "Twoje posortowane liczby to: "; do { for( i = 0; i < n - 1; i++ ) { if( tab[ i ] > tab[ i + 1 ] ) { swap( tab[ i ], tab[ i + 1 ] ); } } n = n - 1; cout << tab[ i ] << ", "; } while( n > 0 ); fstream zapisz( "plik.txt", ios::out ); zapisz << tab[ i ] << endl; zapisz.flush(); zapisz.close(); system( "PAUSE" ); return EXIT_SUCCESS; } |
|
mizuri332 Temat założony przez niniejszego użytkownika |
» 2012-12-31 13:40:59 Wstyd, mój problem okazał sie prostszy niż miślałem :X Ale tak to jest jak sie siedzi do 02:00 w nocy nad programami, ma sie otwarte kwejki, wykopy i inne rozpraszacze, a na drugi dzień oczekuje sie gotowego rozwiązania ;] Wystarczy na końcu w tej dużej pętli do while dopisać petle for: for( i = 0; i <= n; i++ ) { i = n; zapisz << tab[ i ] << endl; zapisz.flush(); }
|
|
« 1 » |