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

Konwersja typów zmiennej (szukanie błędu )//Nie potrafię znaleźć błędu

Object Storage Arubacloud
0 głosów
149 wizyt
pytanie zadane 23 maja 2015 w C i C++ przez PietaS Bywalec (2,570 p.)

Problem pojawia się kiedy chcę zmienić tryp z int a string oraz z string na int// patrz wersy w komentarzach 

Dziękuje za wszelką pomoc i jaka kolwiek odpowiedz 

 

#include <iostream>
#include <string>
using namespace std;
long int potenga_ostatnia_liczba(double x, double y)
{
    int ostatnia_liczba;
    string liczba;
    int wynik=1;
    string::size_type sz;
    if (y==0)
    {
        return 1;
    }
    else { for(int i=0;i<y;i++)
{
    wynik=wynik*x;
    liczba = to_string(wynik);
    ostatnia_liczba=liczba.length()-1;
    wynik=stol (liczba[ostatnia_liczba],&sz);
}
return wynik;}
}

int main()
{
int serie;
cin>>serie;
long int liczba[serie][2];
for(int i=0;i<serie;i++)
  {
      cin>>liczba[i][0]>>liczba[i][1];
  }
for(int i=0;i<serie;i++)
{
    cout<<potenga_ostatnia_liczba(liczba[i][0],liczba[i][1])<<endl;
}
return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 23 maja 2015 przez jeremus Maniak (59,720 p.)
edycja 23 maja 2015 przez jeremus

a możesz sprecyzować na czym polega problem ?

u mnie  ( code blocks wer.13.12 , Mingw wer. 4.8.1 )  program się nie kompiluje bo nie zna funkcji to_string i stol , ( funkcje te sa ze standardu c++11 ) - podobno błąd ten występuje tylko w wersji 32 bit kompilatora

 

dodałem implementację funkcji to_string, oraz nieco inaczej knwertuje char ( ostatnia cyfrę wyniku ) na liczbę

i działa te kod



#include <iostream>
#include <string>
using namespace std;

 #include<sstream>
    template <typename T>
    std::string to_string(T value)
    {
      //create an output string stream
      std::ostringstream os ;

      //throw the value into the string stream
      os << value ;

      //convert the string stream into a string and return
      return os.str() ;
    }

long int potenga_ostatnia_liczba(double x, double y)
{
    int ostatnia_liczba;
    string liczba;
    int wynik=1;
    string::size_type sz;
    if (y==0)
    {
        return 1;
    }
    else
    for(int i=0;i<y;i++)
    {
      wynik=wynik*x;
      liczba = to_string(wynik);
      ostatnia_liczba=liczba.length()-1;
      wynik= (int) liczba[ostatnia_liczba]-48;
    }
return wynik;
}

int main()
{
int serie;
cin>>serie;
long int liczba[serie][2];
for(int i=0;i<serie;i++)
  {
      cin>>liczba[i][0]>>liczba[i][1];
  }
  cout << endl;
for(int i=0;i<serie;i++)
{
    cout<<potenga_ostatnia_liczba(liczba[i][0],liczba[i][1])<<endl;
}
return 0;
}

 

komentarz 23 maja 2015 przez PietaS Bywalec (2,570 p.)
Dzjękuje błąd polegał na nie kompilowanu sie kodu obie funkcje ponoć należą do biblioteki string nie wiem nic natemat standardu 11-ego. Dziękuje za pomoc.

Podobne pytania

0 głosów
3 odpowiedzi 302 wizyt
pytanie zadane 11 września 2015 w C i C++ przez revan95 Początkujący (270 p.)
–1 głos
1 odpowiedź 284 wizyt
pytanie zadane 30 maja 2015 w C i C++ przez Lukasz Bywalec (2,320 p.)
+1 głos
2 odpowiedzi 328 wizyt
pytanie zadane 13 sierpnia 2015 w C i C++ przez xR Mądrala (6,260 p.)

92,596 zapytań

141,446 odpowiedzi

319,722 komentarzy

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

...