Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zadanie 4.1 z matury 2015 problem z segmentation fault

Ostatnio zmodyfikowano 2015-09-15 19:42
Autor Wiadomość
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.
P-137539
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?
P-137540
carlosmay
» 2015-09-15 18:19:52
C/C++
if( znalezionaPozycja == std::string::npos )
{
    std::cout << "Nie znaleziono znaku 0 w tekscie" << std::endl;
    wynik.push_back( ile );
    return;
}
P-137541
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 ?
P-137542
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.
P-137543
carlosmay
» 2015-09-15 19:34:07
C/C++
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.
P-137545
tixer
Temat założony przez niniejszego użytkownika
» 2015-09-15 19:42:01
Dzięki za pomoc.
P-137546
1 « 2 »
Poprzednia strona Strona 2 z 2