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

problem z funkcją to_string

Object Storage Arubacloud
0 głosów
1,344 wizyt
pytanie zadane 18 kwietnia 2016 w C i C++ przez ASido Użytkownik (510 p.)
edycja 18 kwietnia 2016 przez ASido

Cześć,

rozwiązuje właśnie jedno z zadań na SPOJ ("dwie cyfry silni" - http://pl.spoj.com/problems/FCTRL3/). Wymyślając rozwiązanie natrafiłem na pewien problem - nie działa mi funkcja to_string. Wiem, że są też inne sposoby zamiany liczb na stringi, ale ten jest wygodny i nie chciałbym z niego rezygnować. Ma ktoś pomysł co mogło pójść nie tak? Poniżej wklejam kod:

#include <iostream>
#include <string>

using namespace std;

 long int silnia (long int n)
{
    if(n==0) return 1;
    else return n*silnia(n-1);
}
int main()
{
    int p; //liczba przypadkow

    while (p--)
    {
    int d; //dlugosc lancucha
    long int n; //wartosc do silni
    cin>>n;
    string str = to_string(silnia(n));
    d = str.lenght();
    cout<<str[d-2]<<" "<<str[d-1];

    }
    return 0;
}

 

4 odpowiedzi

+2 głosów
odpowiedź 18 kwietnia 2016 przez niezalogowany
wybrane 19 kwietnia 2016 przez ASido
 
Najlepsza
Masz włączony w kompilatorze C++11? W gcc służyła do tego flaga -std=c++11
+2 głosów
odpowiedź 18 kwietnia 2016 przez Sedi Stary wyjadacz (10,200 p.)
d = str.lendth();

Masz literówkę w powyższym tekście. Zobacz jak się pisze po angielsku słówko długość :)

komentarz 18 kwietnia 2016 przez ASido Użytkownik (510 p.)
Poprawione, dzięki ;) Niestety nie rozwiązuje to problemu z to_string.
komentarz 18 kwietnia 2016 przez Sedi Stary wyjadacz (10,200 p.)
Występuje błąd to string was not declared in this scope ?
komentarz 18 kwietnia 2016 przez ASido Użytkownik (510 p.)
Tak
+1 głos
odpowiedź 18 kwietnia 2016 przez Harsay Pasjonat (23,640 p.)
Kompilator dołączony razem z Code::Blocks ma buga, który nie pozwala na wykorzystanie funkcji to_string().
Musisz pobrać najnowszy kompilator i go podmienić z obecnym.

Osobiście w tym momencie poleciłbym przesiadkę na Visual Studio :)
komentarz 18 kwietnia 2016 przez Patryk Krajewski Nałogowiec (26,170 p.)
Nie ma buga. Po prostu w opcjach nie ma włączonej flagi. Tak jak badbullpl napisał.
–1 głos
odpowiedź 18 kwietnia 2016 przez KubenQPL Maniak (62,820 p.)

Nie wiem jak jest z toString w c++ ale w Javie jest to funkcja większości klas więc skorzystałbyś z tego tak:

String str = silnia(n).toString();

Spróbuj coś w tym stylu.

komentarz 18 kwietnia 2016 przez KubenQPL Maniak (62,820 p.)

A jeśli nie zadziała i nie znajdziesz innego sposobu to najprościej w świecie:

String str = silnia(d) + "";

 

1
komentarz 18 kwietnia 2016 przez draghan VIP (106,230 p.)
W C++ to nie jest funkcja większości klas... Ba - nawet nie jest to funkcja żadnej klasy. A napisów nie można konkatenować z liczbami.

Podobne pytania

0 głosów
1 odpowiedź 358 wizyt
pytanie zadane 6 sierpnia 2021 w C i C++ przez Kamirru9 Początkujący (300 p.)
0 głosów
1 odpowiedź 449 wizyt
pytanie zadane 25 grudnia 2017 w C i C++ przez qsoll Początkujący (440 p.)
0 głosów
0 odpowiedzi 226 wizyt
pytanie zadane 14 listopada 2019 w C i C++ przez maselo93 Użytkownik (880 p.)

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

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

...