String to Int oraz suma wszystkich liczb w Int
Ostatnio zmodyfikowano 2014-11-01 17:13
Unlimited Temat założony przez niniejszego użytkownika |
String to Int oraz suma wszystkich liczb w Int » 2014-10-28 23:19:56 Witam. Jak przerzucić string na int? Używając atol() mam błąd |33|error: invalid conversion from 'char' to 'const char*' [-fpermissive]| oraz drugi problem jak mając np liczbę intową 123 obliczyć sumę wszystkich liczb (wynik 6)? Rzutować na string i potem każdy znak string dodawać do int? Tylko tutaj znów konwersja :/ |
|
Monika90 |
» 2014-10-29 12:12:29 |
|
Unlimited Temat założony przez niniejszego użytkownika |
» 2014-10-29 22:32:23 Niestety na to też się natknąłem i zarówno stoi() jak i to_string() jest niezadeklarowane więc podejrzewam że MinGW nie obsługuje tych funkcji. Może coś innego? |
|
stryku |
» 2014-10-29 23:25:08 |
|
Atexor |
» 2014-11-01 17:13:20 Ja korzystam z takiej funkcji: przykład: cin >> liczba_string istringstream iss( liczba_string ); iss >> liczba_int
Tylko musisz załączyć bibliotekę <sstream> Zaś konwersję można zrobić tak, tj. po numerach ASCII: #include <cstdlib> #include <iostream> #include <sstream>
using namespace std;
int main() { string liczba_str = "13k5t90"; string znak_str; int suma = 0, liczba_int = 0; int i = 0, x; while( i < liczba_str.length() ) { x = liczba_str.at( i ); znak_str = liczba_str.at( i ); cout << "Numer ASCII wynosi" << x << endl; if( x >= 48 && x <= 57 ) { istringstream iss( znak_str ); iss >> liczba_int; suma += liczba_int; } i++; } cout << "Suma cyfr to " << suma << endl; system( "PAUSE" ); return( 0 ); }
Pozdrawiam :) |
|
« 1 » |