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

SPOJ-Tablice

Object Storage Arubacloud
0 głosów
694 wizyt
pytanie zadane 10 czerwca 2016 w C i C++ przez niezalogowany

Witam ,

Ostatnio robiąc zadanka na SPOJ-u natrafiłam na przeszkodę.

Otóż przy zgłaszaniu zadania Tablice wyświetla mi błąd wykonania(SIGSEGV).

Jak sprawdzam  to kod działa ,jednak możliwe , że coś przeoczyłam także zamieszczam go poniżej.

#include <iostream>  
using namespace std;  
  
int main ()  
{  
         int n,tab[n],a, i; 
	cin>>a;
	for(int k=0;k<a;k++)
	{ 
	cout<<endl;
    cin>>n;
    for (int i = 0; i < n; i++) {    
    cin>> tab[i];  
    }  
  
    for (int i = n-1; i >=0; i--) {  
    cout << tab[i] <<" ";  
    }  
    }
     
    return 0;  
}  

 

link do zadania na SPOJ-u:

http://pl.spoj.com/problems/PP0502B/

Z góry dziękuję za wszystkie porady :)

 

1 odpowiedź

0 głosów
odpowiedź 10 czerwca 2016 przez Radfler VIP (101,030 p.)
wybrane 10 czerwca 2016
 
Najlepsza

Witaj!

Problem tkwi w tym miejscu:

int n,tab[n],a, i; 

Taka definicja tablicy jest nielegalna. Rozmiar musi być stałą znaną w trakcie kompilacji, w przeciwnym razie uzyskamy VLA (variable length array). Jednak nawet VLA nie zadziała w tym przypadku, gdyż wartość zmiennej n jest niedeterministyczna.

Rozwiązaniem problemu będzie stworzenie dynamicznej tablicy (możesz też skorzystać z std::vector) zaraz po linijce cin>>n.

#PS Uczyń ten kod czytelniejszym przez np. dodanie lepszych wcięć.

1
komentarz 10 czerwca 2016 przez niezalogowany
Dzięki za wskazanie błędów :) Wiem,że trochę nieczytelnie,postaram się to zaraz poprawić .

Podobne pytania

0 głosów
1 odpowiedź 1,329 wizyt
pytanie zadane 20 kwietnia 2016 w SPOJ przez Shiro Stary wyjadacz (10,300 p.)
0 głosów
1 odpowiedź 233 wizyt
pytanie zadane 23 października 2018 w C i C++ przez marta.kappav Nowicjusz (180 p.)
0 głosów
0 odpowiedzi 174 wizyt
pytanie zadane 2 listopada 2021 w C i C++ przez DrTomas Nowicjusz (140 p.)

92,581 zapytań

141,433 odpowiedzi

319,666 komentarzy

61,966 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!

...