Zadanie 4.1 z matury 2015 problem z segmentation fault
Ostatnio zmodyfikowano 2015-09-15 19:42
carlosmay |
» 2015-09-15 17:54:28 Sprawdzasz jedynki i powiększasz vector. Sprawdzasz zera i powiększasz zera. Póki w każdej linii masz i zera i jedynki jest ok. Jak trafisz na linie gdzie masz same jedynki uruchamia się if, ten od npos i zaraz wychodzisz bez powiększenia vectora. Późnej porównujesz vector od jedynek z indeksem 421 z vectore od zer z indeksem 421, tylko że ten od zer ma maks 420 bo wróciłeś z funkcji nic z nim nie robiąc. Stad wyjście poza zakres. |
|
tixer Temat założony przez niniejszego użytkownika |
» 2015-09-15 18:18:24 Jak nic nie robiąc jak mam przed if int ile=0 a wynik.push_back(ile) poza instrukcją warunkową więc jeśli nie znajdzie zera to powinno wstawić 0 do kontenera? |
|
carlosmay |
» 2015-09-15 18:19:52 if( znalezionaPozycja == std::string::npos ) { std::cout << "Nie znaleziono znaku 0 w tekscie" << std::endl; wynik.push_back( ile ); return; } |
|
tixer Temat założony przez niniejszego użytkownika |
» 2015-09-15 18:24:52 Dzięki nie zwróciłem uwagi na return :p jest jeszcze jakiś inny mały problem, bo raz wyświetla np. 146 i 876 a raz 145 i 877 ? |
|
carlosmay |
» 2015-09-15 18:32:52 Trochę ciężko w telefonie dopatrzeć się jeszcze czegoś. W main() wyciągnij deklaracje vector'ów przed pętlę for. |
|
carlosmay |
» 2015-09-15 19:34:07 if( wynikzer[ i ] > wynikjedynek[ i ] ) { if( wynikzer[ i ] == wynikjedynek[ i ] ) { ++iloscTAKASAMA; } ++iloscZer; } else { ++iloscJedynek; } Sprawdzanie równości dwóch wartości wewnątrz if'a który uruchamia się po stwierdzeniu nierówności wartości jest kompletnie bez sensu. Użyj if else if else. |
|
tixer Temat założony przez niniejszego użytkownika |
» 2015-09-15 19:42:01 Dzięki za pomoc. |
|
1 « 2 » |