Matura 2012 zadanie nr 4 szyfr - program zawiesza się
Ostatnio zmodyfikowano 2014-05-12 22:01
shadow193 Temat założony przez niniejszego użytkownika |
Matura 2012 zadanie nr 4 szyfr - program zawiesza się » 2014-05-12 19:59:08 Witam, jak w temacie, program kompiluje się, jednak w trakcie wykonywania nic się nie dzieje a w pliku wypisane są niezrozumiałe znaki, nie moge znaleźć błędu. Zadanie polega na tym, że wczytuję z plików źródłowych słowa oraz słowa szyfrujące. Następnie do każdej literki danego słowa dodaje odpowiednia literke slowa szyfrujacego otrzymujac nowe slowo ktore wypisuje do pliku(w zadaniu slowa szyfrujace sa inaczej ponumerowane stad w algorytmie odejmuje 64). #include<string> #include<vector> #include<fstream> #include<iostream> using namespace std;
string szyfrowanie( string sl, string kl ) { string wyjscie; wyjscie.resize( sl.length() ); int slint, klint, wyniczek; for( int i = 0; i < sl.length(); i++ ) { slint = sl[ i ]; klint = kl[ i ] - 64; wyniczek = slint + klint; if( wyniczek > 90 ) wyniczek -= 26; wyjscie[ i ] =( char ) wyniczek; } return wyjscie; }
int main() { vector < string > slowa_w; vector < string > klucze_w; vector < string > wynik_w; vector < string >::iterator it; string pomocniczy; ifstream slowa, klucze; ofstream wynik4a; slowa.open( "slowa.txt" ); while( !slowa.eof() ) { getline( slowa, pomocniczy ); slowa_w.push_back( pomocniczy ); } slowa.close(); klucze.open( "klucze.txt" ); { getline( klucze, pomocniczy ); klucze_w.push_back( pomocniczy ); } klucze.close(); for( it = slowa_w.begin(); it != slowa_w.end(); ++it ) { pomocniczy = szyfrowanie(( * it ), klucze_w[ it - slowa_w.begin() ] ); wynik_w.push_back( pomocniczy ); } wynik4a.open( "wynik4a.txt" ); for( it = wynik_w.begin(); it != wynik_w.end(); ++it ) { wynik4a <<( * it ); } wynik4a.close(); system( "PAUSE" ); return 0; }
link do zadania : http://pobieranie.dlastudenta.pl/matura/2012/informatyka/pr_a2.pdflink do danych wejsciowych : http://pobieranie.dlastudenta.pl/matura/2012/informatyka/dane_pr.rarPozdrawiam, shadow193. |
|
Monika90 |
» 2014-05-12 22:01:45 klucze.open( "klucze.txt" ); { getline( klucze, pomocniczy ); klucze_w.push_back( pomocniczy ); } klucze.close();
|
Tu, to chyba miała być pętla? Swoją drogą, taka pętla while( !slowa.eof() ) { getline( slowa, pomocniczy ); slowa_w.push_back( pomocniczy ); }
prawidłowa nie jest. |
|
« 1 » |