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

Problem z " process exited due to signal 6"

Mały hosting, OGROMNE możliwości
0 głosów
3,036 wizyt
pytanie zadane 25 marca 2019 w C i C++ przez Lucyfer1234 Początkujący (440 p.)
edycja 26 marca 2019 przez Lucyfer1234

Witam napisałem program i bot wyswietla mi sie błąd :"1 process exited due to signal 6". Jak odpalam program w codeblocks działą dobrze.

Oto treść zadania:

Zdolniak hoduje kurę, która okazała się bardzo uzdolniona matematycznie. Zjada ona tylko liczbę pierwszą ziaren. Zdolniak karmi ją w szczególny sposób. Otóż wysypuje jej ziarna w pewną ilość kupek, z których każda jest nie mniejsza niż poprzednia, a kura zjada z każdej z nich największą możliwą liczbę pierwszą ziaren. Wejście W pierwszej linii liczba całkowita k oznaczająca ilość zbiorów ziaren (2 ≤ k ≤ 5000). W kolejnych k wierszach liczba zi (2 ≤ zi ≤ 5000, 1 ≤ i ≤ k)równa ilości ziaren na i-tej kupce. Wyjście W każdym i wierszu jedna liczba całkowita równa ilości ziaren zjedzonych przez kurę Zdolniaka Przykład (Dla danych wejściowych: 13 2 6 9 11 15 20 23 27 30 31 35 40 42) (poprawnym wynikiem jest: 2 5 7 11 13 19 23 23 29 31 31 37 41)

Oto mój kod:

#include <iostream>
#include <stdio.h>
#include <cmath>
using namespace std;
bool sprawdz_czy_pierwsza(int a)
{
	if(a<2) return false;
	for(int i=2; i<=sqrt(a); i++)
		if(a%i==0)return false;
	return true;

}

int main()
{
    int l_testow,liczba, maks;
    scanf("%d",&l_testow);
    for(int i=0; i<l_testow; i++)
    {
        scanf("%d",&liczba);
        int *tablica;
    tablica = new int [liczba];
        for(int j=0; j<=liczba; j++)
        {
            tablica[j]=j;
           maks=tablica[0];
        if( tablica[j]>maks)maks=tablica[j];
        }
       do{
            if(sprawdz_czy_pierwsza(maks)==1){
            cout<<maks<<endl;
          continue;
        }
        maks--;
        if(sprawdz_czy_pierwsza(maks)==1){
            cout<<maks<<endl;
           continue;
        }
        }while(sprawdz_czy_pierwsza(maks)!=1);
     delete [] tablica;
    }
    return 0;
}

 

2 odpowiedzi

+1 głos
odpowiedź 25 marca 2019 przez adrian17 Mentor (354,880 p.)
wybrane 25 marca 2019 przez Lucyfer1234
 
Najlepsza
        tablica = new int [liczba];
        for(int j=0; j<=liczba; j++)
        {
            tablica[j]=j;

Wychodzisz poza tablicę.

BTW, proszę nazywaj pytania normalnie, a nie zawsze "informatyka - programowanie".

komentarz 25 marca 2019 przez Lucyfer1234 Początkujący (440 p.)

Okej postaram się. Czyli co powinienem tam zamienić ? Wystarczyłoby :

tablica = new int[liczba+1]

?

komentarz 25 marca 2019 przez adrian17 Mentor (354,880 p.)
Jeśli chcesz żeby było N liczb, to alokujesz N liczb, nie n+1.

Problem w tym, że iterujesz za dużo.
komentarz 25 marca 2019 przez Lucyfer1234 Początkujący (440 p.)
Okej. Już wiem o co chodzi dzięki. Z ciekawości ile już programujesz ?
komentarz 25 marca 2019 przez adrian17 Mentor (354,880 p.)
Ponad 10 lat. Jak masz szczegółowe pytania, to może lepiej na prywatnych wiadomościach.
komentarz 26 marca 2019 przez Lucyfer1234 Początkujący (440 p.)

@adrian17, program już działa tak jak należy i zalicza mi wiekszosc lecz w niektorych dalej jest przekroczenie limitu czasowego. Czy dałoby się jakos ten program przyspieszyc ?

0 głosów
odpowiedź 26 marca 2019 przez Kamil Naja Nałogowiec (27,690 p.)
Poproszę o zmianę nazwy tego i 2 innych tematów nazwanych równie źle na związany z treścią pytania!

Podobne pytania

0 głosów
1 odpowiedź 889 wizyt
pytanie zadane 17 października 2021 w C i C++ przez Xodi Początkujący (280 p.)
0 głosów
0 odpowiedzi 429 wizyt
pytanie zadane 2 stycznia 2023 w C i C++ przez polandonion Dyskutant (7,700 p.)
0 głosów
1 odpowiedź 818 wizyt
pytanie zadane 28 sierpnia 2023 w C i C++ przez Dudziu Nowicjusz (120 p.)

93,719 zapytań

142,632 odpowiedzi

323,264 komentarzy

63,266 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.

...