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

Błąd SISEGV (segmentation fault)

Ostatnio zmodyfikowano 2012-11-23 18:30
Autor Wiadomość
Rebis
Temat założony przez niniejszego użytkownika
Błąd SISEGV (segmentation fault)
» 2012-11-23 17:23:44
Zrobiłem na zadanie program, wyniki mam dobre, ale na stronie wyświetla mi sie, błąd podany w temacie.

Zadanie:
Napisz program, który wczyta c zestawów danych (c <= 1000), z których każdy składa się z jednej liczby całkowitej n (0 < n <= 1000), oraz następujących po sobie n liczbach z zakresu [0,9]. Dla każdego zestawu danych należy wypisać TAK, jeśli suma tych liczb dzieli się przez 3, bądź NIE w przeciwnym przypadku.

Przykład:

Wejście:
3
5
1 3 9 8 0
4
0 0 7 6
10
1 1 1 1 1 1 1 1 1 2

Wyjście:
TAK
NIE
NIE

KOD:
C/C++
#include<iostream>
using namespace std;
int main() {
    int a = 0, z = 0, suma = 0;
    int c;
    cin >> c;
    int pierwsze[ 100 ];
    int liczby[ 1000 ];
    for( int i = 0; i < c; i++ )
    {
        cin >> pierwsze[ a ];
        for( int j = 0; j < pierwsze[ a ]; j++ )
        {
            cin >> liczby[ z ];
            z++;
        }
        a++;
    }
    a = 0;
    z = 0;
    for( int i = 0; i < c; i++ )
    {
        for( int j = 0; j < pierwsze[ a ]; j++ )
        {
            suma = suma + liczby[ z ];
            z++;
        }
        if( suma % 3 == 0 )
             cout << "TAK";
        else
             cout << "NIE";
       
        suma = 0;
        cout << endl;
    }
    return 0;
}
P-69767
krzyk
» 2012-11-23 17:35:36
C/C++
int pierwsze[ 100 ]; // ????????????????????

//EDIT
Dobra nie aktualne:)
P-69768
krzyk
» 2012-11-23 18:30:00
z przy dużym c i dużym pierwsze[] pójdzie w kosmos.
zobaczysz to w tym kodzie.

C/C++
#include<iostream>
using namespace std;
int pierwsze[ 100 ];
int liczby[ 1000 ];

int main() {
    int a = 0, z = 0, suma = 0;
    int c = 1000;
    //cin >> c;
    for( int i = 0; i < c; i++ )
    {
        //cin >> pierwsze[ a ];
        pierwsze[ a ] = rand() % 9;
        for( int j = 0; j < pierwsze[ a ]; j++ )
        {
            //cin >> liczby[ z ];
            liczby[ z ] = rand() % 100;
            z++;
            if( z > 1000 ) {
                cout << "sdfsdf";
            }
        }
        a++;
    }
    a = 0;
    z = 0;
    for( int i = 0; i < c; i++ )
    {
        for( int j = 0; j < pierwsze[ a ]; j++ )
        {
            suma = suma + liczby[ z ];
            z++;
        }
        if( suma % 3 == 0 )
             cout << "TAK";
        else
             cout << "NIE";
       
        suma = 0;
        cout << endl;
    }
    cout << z << endl;
    return 0;
}
P-69773
« 1 »
  Strona 1 z 1