Wytłumaczy mi ktoś jakim cudem te całe konwertowanie u mnie jakoś tak nie chce działać ? Po wielu próbach wkońcu udało mi się znaleźć działający algorytm i stworzylem z niego taką funkcje:
string conversion(int a)
{
stringstream ss;
ss << a;
string str = ss.str();
return str;
}
I ona działa.
Ale teraz gdy chcę przekonwertować string to int to mnie szlag jasny już trafia, co znajde w internecie to to nie działa.Nawet taka funkcja jak atoi nie działa. Pojawia sie takie cos:
C:\Users\marcin\Desktop\pliki c++\spoj zabawne dodawanie\main.cpp|54|error: cannot convert 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}' to 'const char*' for argument '1' to 'int atoi(const char*)'|
Wysyłam cały kod jesli kogos by on interesował, program jeszcze nie dokonczony,zapewne dziala jeszcze źle ale nie o to teraz pytam.
Licze na pomoc ;)
#include <iostream>
#include <sstream>
#include <string>
#include <cstdlib>
using namespace std;
string conversion(int a)
{
stringstream ss;
ss << a;
string str = ss.str();
return str;
}
int main()
{
int t; //ilosc liczb <80
int n; //wartosc liczby 1<n<80;
int Length, helpsize, helpsize2, counter;
string helpToTurn, str;
int nTurned, nTurnedHelp,TurnCounter;
cin >> t;
for(int i=0; i<t; i++)
{
cin >> n;
str = conversion(n);
Length=str.size();
helpsize=Length;
helpsize2=Length;
while(true)
{
counter=0;
TurnCounter=0;
for(int j=0; j<Length; j++)
{
if(str[j]==str[helpsize])
{
helpsize--;
counter++;
if(counter==Length)
{
cout<<n<<endl;
}
}
else
{
for(int k=0; k<Length; k++)
{
helpToTurn[k]=str[helpsize2-k];
}
nTurnedHelp=atoi(helpToTurn);
nTurned=n+nTurnedHelp;
n=nTurned;
}
}
}
}
return 0;
}