Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

.lenght()

Ostatnio zmodyfikowano 2013-01-09 16:31
Autor Wiadomość
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
P-73429
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ć:
C/C++
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.
C/C++
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ś.
P-73430
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 : » Kurs C++ » Poziom 3Modyfikowanie tekstu i sprawdzanie jego długości lekcja ;)
P-73431
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ć ?
P-73432
McAffey
» 2013-01-09 01:03:29
W taki sposób jaki (zapewne) masz na myśli : nie. Poczytaj sobie na temat :

  • jaki to typ "char"
  • czym jest tablica
  • czym jest string(do tego potrzebna wiedza z dwóch w/w punktów )
  • jak wygląda tablica znaków ASCII

i powinieneś sam dojść do tego, jak (i czy) możesz dodawać liczby, które są tekstem.
P-73435
crash
» 2013-01-09 16:31:48
j.w.

oraz jedno z kilku rozwiązań:

C/C++
#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
P-73461
« 1 »
  Strona 1 z 1