• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[SPOJ] Ile różnych liczb, błąd wykonania SIGSEGV

+1 głos
2,295 wizyt
pytanie zadane 17 czerwca 2016 w C i C++ przez niezalogowany

Dowiedziałem się, że błąd SIGSEGV jest związany ze złym wykorzystaniem pamięci, często z odwołaniem się do nieistniejącej komórki tablicy. Nie wiem jednak, gdzie robię błąd w kodzie. Pomoże ktoś? Dodam, że u mnie w Code Blocksie program się uruchamia i działa jak należy.

 

#include <iostream>

using namespace std;

int main()
{
    int ile,liczby[1000],unikalnych = 0,zgadza_sie = 0;
    cin >> ile;

    for (int i=0; i<ile; i++)
        cin >> liczby[i];

    for(int i=0; i<ile; i++)
        {
        for(int j=0; j<ile; j++)
            {
            if(liczby[i]==liczby[j])
                zgadza_sie++;
            }
        if (zgadza_sie==1)
            {
            unikalnych++;
            }
         zgadza_sie=0;
        }

    cout << unikalnych;
    return 0;
}

 

komentarz 17 czerwca 2016 przez Michał Muzyka Pasjonat (24,080 p.)
podasz link do zadania ze spoja?

3 odpowiedzi

+2 głosów
odpowiedź 17 czerwca 2016 przez Michał Muzyka Pasjonat (24,080 p.)

problemem tutaj jest wielkość tablicy, komputer moze w najgorszym wypadku wpisac az 100000 liczb a u ciebie moze wpisac 1000 potem już wychodzisz poza dostępny obszar
Spróbuj użyć wskaźnika by utworzyć dynamiczną tablicę
 

int *liczby = new int [ile];

a na końcu

delete[] liczby;

 

0 głosów
odpowiedź 17 czerwca 2016 przez niezalogowany
0 głosów
odpowiedź 17 czerwca 2016 przez Munvik Dyskutant (9,350 p.)

No a jakie liczby są w tablicy liczby[100] ?

Może być tam cokolwiek.

Podobne pytania

0 głosów
2 odpowiedzi 662 wizyt
0 głosów
1 odpowiedź 922 wizyt
0 głosów
0 odpowiedzi 356 wizyt
pytanie zadane 26 lutego 2022 w C i C++ przez Rafek Nowicjusz (120 p.)

93,729 zapytań

142,668 odpowiedzi

323,283 komentarzy

63,288 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...