Naruszenie ochrony pamięci

Odpowiedz Nowy wątek
2013-02-25 22:09
Gutek07
0

Witam wszystkich.
Mam pewien mały problem, mianowicie rozwiązuje sobie tak dla sportu zadanka na stronie http://pl.spoj.com. Zabrałem się ostatnio za teoretycznie proste zadanie, które polega na tym aby uzupełnić tablicę danymi wprowadzanymi z klawiatury i wyświetlenie tych elementów w odwrotnej kolejności. Jednak po poddaniu kodu do sprawdzenia otrzymuję "błąd wykonania (SIGSEGV)" czyli naruszenie ochrony pamięci, starałem się to rozwiązać już na kilka sposobów ale bez rezultatów. Nie mam pojęcia co jest powodem tego błędu. Proszę o pomoc. Poniżej mój aktualny kod, który powoduje błąd:

 #include<iostream>

using namespace std;

int main()
{
    int t, n, tab[10][100], i, l;
    cout<<"Podaj liczbę testów: ";
    cin>>t;

    for(i=0; i<t; i++)
    {
        cout<<"\npodaj ilosc liczb ktore chcesz wprowadzic: ";
        cin>>tab[i][0];
        cout<<"\nwprowadz liczby: \n";  
        if(tab[i][0]<=99)

            for(l=tab[i][0]; l>0; l--)
                cin>>tab[i][l];
        else 
            break;
    }

    for(i=0; i<t; i++)
    {
        cout<<endl;

        if(tab[i][0]<=99)

        for(l = 1; l <= tab[i][0]; l++)
            cout<<tab[i][l]<<" ";

        else 
            break;
    }

    return 0;
}

Pozostało 580 znaków

2013-02-25 22:12
Rev
0

Prawdopodobnie przekroczyłeś gdzieś zakres tablicy.

Jeżeli wysyłasz kod do sprawdzarki ze spoja to nie wypisuj niczego na ekran, co nie jest rozwiązaniem zadania. Tyczy się to również tekstów typu "Wprowadź liczby".


Pozostało 580 znaków

2013-02-25 22:15
Gutek07
0

Zrobiłem to po to aby było wiadomo za co odpowiadają jakie liczby na spoj-u oczywiście tych linii kodu nie ma.

Pozostało 580 znaków

2013-02-25 22:19
0

Podaj link do zadania.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2013-02-25 22:23
Gutek07
0

Kurcze ale banalna sprawa. Okazało się że w deklaracji tablicy określiłem sobie pierwszy wymiar na 10 elementów ponieważ w treści zadania nie było ograniczeń dla tej wartości. Gdy zmieniłem rozmiar tablicy na tab[100][100] zadanie zostało zaakceptowane. Dziękuję za pomoc:) Pozdrawiam.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0