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

SPOJ - Flamaster, błąd kompilacji

42 Warsaw Coding Academy
0 głosów
318 wizyt
pytanie zadane 21 września 2020 w SPOJ przez Billy Użytkownik (680 p.)
edycja 22 września 2020 przez Billy

Witam.
Zadanie: https://pl.spoj.com/problems/FLAMASTE/
W konsoli wszystko działa bez problemu, ale jak wrzucam do SPOJA w kompilator C++ 4.3.2, to wyskakuje mi błąd kompilacji. Jako powód podane jest: 

prog.cpp: In function 'void flamaster()':
prog.cpp:46: error: 'to_string' was not declared in this scope

EDIT: przy kompilacji za pomocą CPP 14 wyświetla się taki błąd: 
błąd wykonania (SIGABRT)

Tylko tyle, że to_string powinno być wbudowaną funkcją, i (tak jak już mówiłem) w konsoli wszystko działa poprawnie. Proszę o podpowiedź, dlaczego się wysypuje :/

P.S. Używam funkcji to_string, ponieważ bez tego do ostatecznego wyrazu zamiast liczb były dodawane serduszka, kwadraciki i inne znaki specjalne, a nie tak jak w zamyśle liczby.
 

Poniżej kod:

#include <iostream>
#include <string>

using namespace std;

void flamaster();

int main()
{
    int n;
    cin>>n;

    for(int i=0;i<n;i++)
    flamaster();

    return 0;
}

void flamaster()
{
    int inROWcounter=0;
    int COUNTER[10];
    for(int j=0;j<10;j++)
    COUNTER[j]=2;
    int which=0;

    string a;
    cin>>a;
    string b = "";
    for(int i=0; i<a.length() ;i++)
    {
        if(a[i]==a[i+1])
        {
            inROWcounter++;

            if(inROWcounter>1)
            {
                COUNTER[which]++;
            }
            else b+=a[i];
        }
        else
        {
            if(inROWcounter>1)
            {
                b+=to_string(COUNTER[which]);
                which++;
            }
            else b+=a[i];
            inROWcounter=0;
        }
    }
    cout<<b<<endl;
}

 

1 odpowiedź

0 głosów
odpowiedź 21 września 2020 przez adrian17 Mentor (353,220 p.)

w kompilator C++ 4.3.2

Masz odpowiedź :)

GCC 4.3 jest super stary, z bodajże 2008. std::to_string() dostało się do standardu C++a w 2011.

Wybierz z listy np C++14 i powinno zadziałać.

komentarz 21 września 2020 przez Billy Użytkownik (680 p.)

Właśnie problem w tym, że przy CPP 14 wyświetla się taki błąd: 
błąd wykonania (SIGABRT)
a to już nie mam bladego pojęcia co znaczy frown

komentarz 21 września 2020 przez adrian17 Mentor (353,220 p.)
Dla mnie brzmi, jakbyś dla jakiś danych wejściowych miał błąd w kodzie.
komentarz 22 września 2020 przez Billy Użytkownik (680 p.)
A możesz looknąć w ten kod i obczaić, o co chodzi? Bo naprawdę, próbowałem już chyba wszystkiego, i jedyne co mi zostanie to zacząć od nowa zrobić to w inny sposób... A na to też nie mam pomysłu :(

Podobne pytania

0 głosów
1 odpowiedź 646 wizyt
0 głosów
1 odpowiedź 746 wizyt
pytanie zadane 18 lutego 2020 w SPOJ przez MakaBresk Obywatel (1,060 p.)
0 głosów
1 odpowiedź 98 wizyt
pytanie zadane 3 grudnia 2024 w C i C++ przez lisek123 Nowicjusz (120 p.)

93,377 zapytań

142,379 odpowiedzi

322,527 komentarzy

62,724 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...