• 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"

Object Storage Arubacloud
0 głosów
2,325 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 Ekspert (344,860 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 Ekspert (344,860 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 Ekspert (344,860 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,410 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ź 496 wizyt
pytanie zadane 17 października 2021 w C i C++ przez Xodi Początkujący (260 p.)
0 głosów
0 odpowiedzi 125 wizyt
pytanie zadane 2 stycznia 2023 w C i C++ przez polandonion Mądrala (7,040 p.)
0 głosów
1 odpowiedź 295 wizyt
pytanie zadane 28 sierpnia 2023 w C i C++ przez Dudziu Nowicjusz (120 p.)

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,939 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...