.lenght()
Ostatnio zmodyfikowano 2013-01-09 16:31
Highlander Temat założony przez niniejszego użytkownika |
.lenght() » 2013-01-09 00:09:57 Witam, chciałbym zrobić program który z podanych liczb w tablicy zsumuje tylko te dwucyfrowe. Na początku robiłem to w ten sposób, że dawałem warunek, x>9 i x<100 lecz jako jestem samoukiem poszperałem troche po internecie i zobaczyłem funkcje .lenght(). Moim pytaniem jest w jaki sposób napisać warunek, że x jest dwucyfrowe za pomocą funkcji .lenght(). Jeżeli jest to w kursie lub gdzies opisane i nie da sie tego szybko wyjaśnić prosze tylko powiedzieć gdzie. Prosze o wyrozumiałość, Pozdrawiam |
|
DejaVu |
» 2013-01-09 00:21:03 1. Nie ma funkcji o nazwie takiej jaką podałeś (przekręciłeś litery). 2. Jeżeli wczytałeś liczbę jako tekst to wystarczy napisać: if( tekst.size() < 3 ) printf( "liczba ma mniej niż 3 cyfry" );
3. Jeżeli liczba jest wczytana jako int to wystarczy podzielić przez 100, tj. if( liczba / 100 < 1 ) printf( "liczba ma mniej niż 3 cyfry" ); /edit: A do całej reszty to teorię możesz sobie dopasować :P Można również zrobić to zakresami tak jak Ty to zademonstrowałeś. |
|
McAffey |
» 2013-01-09 00:21:11 Twój sposób jest bardzo dobry (dla liczb całkowitych), a .length() (lub .size()) to nie funkcje, tylko metody do pracy na tekście (stringu). Odpowiedź na swoje pytanie znajdziesz w tej lekcji kursu : Modyfikowanie tekstu i sprawdzanie jego długości ;) |
|
Highlander Temat założony przez niniejszego użytkownika |
» 2013-01-09 00:29:41 Dziękuje Panom bardzo, problem rozwiązany rzeczowo :) Mam jeszcze jedno pytanie, skoro wczytam sobie liczbe jako tekst to nie bede mógł ich potem do siebie dodać ? |
|
McAffey |
» 2013-01-09 01:03:29 W taki sposób jaki (zapewne) masz na myśli : nie. Poczytaj sobie na temat : i powinieneś sam dojść do tego, jak (i czy) możesz dodawać liczby, które są tekstem. |
|
crash |
» 2013-01-09 16:31:48 j.w. oraz jedno z kilku rozwiązań: #include <sstream> #include <iostream>
using namespace std;
int main() { string tekst; int liczba; cout << "Wpisz liczbe: "; cin >> tekst; stringstream ss; ss << tekst; ss >> liczba; cout << endl << liczba; cin.ignore(); }
Nie jest ono zbyt szybkie jeśli byłoby zapętlone, ale krótkie i sprytne, dość często używam |
|
« 1 » |