counting sort - sortowanie pliku z napisami
Ostatnio zmodyfikowano 2015-12-11 13:52
marjanos Temat założony przez niniejszego użytkownika |
counting sort - sortowanie pliku z napisami » 2015-12-11 10:55:12 hej,zrobiłem program co przepisuje sobie znaki do pliku, ten plik ma posortować sortowaniem counting. pomoże ktoś mi to napisać? plik do testow http://www58.zippyshare.com/v/rCyl657b/file.html #include<iostream> #include<fstream> using namespace std;
void countingsort( int A[], int B[], int k, int rozmiar ) { int i; int * C = new int[ k + 1 ]; for( i = 0; i <= k; i++ ) { C[ i ] = 0; } for( i = 0; i < rozmiar; i++ ) { C[( A[ i ] ) ] ++; } for( i = 1; i <= k; i++ ) { C[ i ] += C[ i - 1 ]; } for( i = rozmiar - 1; i >= 0; i-- ) { B[( C[( A[ i ] ) ] ) - 1 ] = A[ i ]; C[( A[ i ] ) ] --; } delete[] C; }
int max_liczba( int tablica[], int rozmiar ) { int max = tablica[ 0 ]; for( int i = 1; i < rozmiar; i++ ) { if( max < tablica[ i ] ) { max = tablica[ i ]; } } return max; }
int main() { int ilosc_liczb = 0, i, licznik = 0; char dane[ 255 ], bin, tab[ 100 ]; string a, wiersz; ifstream ass( "nazwiska.txt" ); while( !ass.eof() ) { ilosc_liczb++; getline( ass, a ); } ass.close(); string nazwiska[ ilosc_liczb ]; ifstream plik( "nazwiska.txt" ); ofstream plik2( "nazwiska_sort.txt" ); while( !plik.eof() ) { bin = plik.get(); if(( bin >= 65 && bin <= 90 ) && licznik != 0 ) { plik2 << endl << bin; } else if(( bin >= 97 && bin <= 122 ) ||(( bin >= 65 && bin <= 90 ) && licznik == 0 ) ) { licznik++; plik2 << bin; } } plik.close(); plik2.close(); i = 0; ifstream plik3( "nazwiska_sort.txt" ); while( !plik3.eof() ) { getline( plik3, wiersz ); nazwiska[ i ] = wiersz; i++; } plik3.close(); system( "PAUSE" ); return 0; }
|
|
darko202 |
» 2015-12-11 13:52:53 |
|
« 1 » |