Treba mi pomoć oko rešavanja problema ovakvog tipa. Znam za konverziju tipa char u int ali ne mogu u ovom kokretnom primeru da sastavim sintaksu koja bi radila. Evo koda u c++:
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int x1, x2, s;
char a[3]={'1', '0', '2'};
cout << "Unesite 2 jednocifrena broja: ";
cin>>x1>>x2;
if ((x1-x2)>0)
{
cout<<"a="<<'1'<<endl;
}
if ((x1-x2)<0)
{
cout<<"a="<<'0'<<endl;
}
if ((x1-x2)==0)
{
cout<<"a="<<'2'<<endl;
}
// Kako ove znakove '1', '0' ili '2' (char) pretvoriti u broj (u int) da bi se moglo dalje racunati?
//Npr. ovako:
s=2+a;
cout <<"s="<<s<<endl;
cout <<endl;
system("PAUSE");
return 0;
//izbacuje error: invalid conversion from 'char*' to 'int' [-fpermissive]|
}
Konverzija ide ovako
int a = 50; // integer a
char y = '1'; // character y
a = a - y;
cout << "a = " << a << endl;
ili ovako
char a[] = "105";
int converted = 0;
int arraysize = strlen(a);
int i = 0;
for (i = 0; i < arraysize ; i++)
{
converted = converted *10 + a - '0';
}
cout<<""<<converted<<endl;
ali kako to primeniti u konkretnom problemu?
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int x1, x2, s;
char a[3]={'1', '0', '2'};
cout << "Unesite 2 jednocifrena broja: ";
cin>>x1>>x2;
if ((x1-x2)>0)
{
cout<<"a="<<'1'<<endl;
}
if ((x1-x2)<0)
{
cout<<"a="<<'0'<<endl;
}
if ((x1-x2)==0)
{
cout<<"a="<<'2'<<endl;
}
// Kako ove znakove '1', '0' ili '2' (char) pretvoriti u broj (u int) da bi se moglo dalje racunati?
//Npr. ovako:
s=2+a;
cout <<"s="<<s<<endl;
cout <<endl;
system("PAUSE");
return 0;
//izbacuje error: invalid conversion from 'char*' to 'int' [-fpermissive]|
}
Konverzija ide ovako
int a = 50; // integer a
char y = '1'; // character y
a = a - y;
cout << "a = " << a << endl;
ili ovako
char a[] = "105";
int converted = 0;
int arraysize = strlen(a);
int i = 0;
for (i = 0; i < arraysize ; i++)
{
converted = converted *10 + a - '0';
}
cout<<""<<converted<<endl;
ali kako to primeniti u konkretnom problemu?