+ Reply to Thread
Results 1 to 4 of 4

Thread: C++ while loop-zacatecnik

  1. #1

    C++ while loop-zacatecnik

    Dobry den,
    potreboval bych pomoct jak pouzit While loop v situaci kdy uzivatel zada cislo(string) ktere se sklada jen z 1 a 0. Program by mel zjistit jestli uzivatel zadal opravdu jen 1 a 0 a pokud ano, spocitat pocet nul.

    Code:
    while(i<cislo.length())
    		{
    			if(cislo[i]!='1' && cislo[i]!='0')		
    			{
    				cout<<endl<<"Nespravne cislo"<<endl;
    				break;								
    			}
    			else if(cislo[i]=='1') 
    			{
    				c++;
    			}
    			i++;
    Muze mi nekdo poradit jak docilit stejneho vysledku, ale pri pouziti jen funkci jako string.substr()
    string.find()

    Dekuji
    Last edited by Werewolf; 27.10.2011 at 11:33.

  2. #2
    Zdravim,

    Pocuj ja neviem ale osobne mi pride omnoho lepsie vyuzit cyklus for ako while na tuto konkretnu ulohu.

    Code:
    #include <iostream>
    #include <string>
    using namespace std;
    
    int main ()
    {
      string cisla;
      int dlzka = 0;
      int i = 0;
      int pocitadlo = 0;
    
      cout << "Zadajte cislo pozostavajuce len s cifier 1 a 0.\n";
      getline (cin, cisla);
      dlzka = cisla.size();
    
      for(i = 0; dlzka > i; i++)
      {
          if(cisla[i] == '0' || cisla[i] == '1')
          {
              pocitadlo++;
              continue;
          }
          else
          {
              cout << "Zadali ste zly format cisla. \n";
              break;
          }
    
      }
      if(pocitadlo == dlzka)
      {
        cout << "Cislo " << cisla << " je v spravnom formate.\n";
      }
    
      return 0;
    }
    Alebo je striktne dane ze treba vyuzit cyklus while?
    Všetko o hrách a novinkách s herného sveta nájdete na http://the-guild.cz/.

  3. #3
    Zdravim Werewolf,
    mate pravdu, mohu vyuzit jen While. Zajimalo by me, jestli je mozne napsat tento kod s while loop a bez pouziti string::operator[].
    Jak by tento kod vypadal pri pouziti while a zakladnich funkci jako string.substr(), string.find() ...
    Dekuji

  4. #4
    No myslim ze by to mohlo byt takto, ale nevyuzil som substr() a ani find(). Dufam ze to netreba lebo to by dost skomlikovalo zivot,

    Code:
    #include <iostream>
    #include <string>
    using namespace std;
    
    int main ()
    {
      string cisla;
      int dlzka = 0;
      int i = 0;
      int pocitadlo = 0;
    
      cout << "Zadajte cislo pozostavajuce len s cifier 1 a 0.\n";
      getline (cin, cisla);
      dlzka = cisla.size();
    
      while(dlzka > i)
      {
          if(cisla[i] == '0' || cisla[i] == '1')
          {
              pocitadlo++;
              i++;
              continue;
          }
          else
          {
              cout << "Zadali ste zly format cisla. \n";
              break;
          }
    
          i++;
      }
      if(pocitadlo == dlzka)
      {
        cout << "Cislo " << cisla << " je v spravnom formate.\n";
      }
    
      return 0;
    }
    Všetko o hrách a novinkách s herného sveta nájdete na http://the-guild.cz/.

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts