zad maturalne z maja 2015

0

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
ifstream dane("liczby.txt");
string liczba;
int suma, ile=0, dlugosc;
for(int i=0;i<1000;i++)
{ suma=0;
dane>>liczba;
dlugosc=liczba.size();
for(int j=0;j<dlugosc;j++)
{
if(liczba[j]=='0')
suma++;
}
if(suma>(dlugosc-suma))
ile++;
}
cout <<ile<<endl;
return 0;
}

napisałem ten program z pomocą ale niestety nie rozumiem jak działa druga pętla :(
za wszelką pomoc będę wdzięczny :)

0

No super. Ale jak brzmi zadanie?

0

W pliku liczby.txt znajduje się 1000 liczb naturalnych zapisanych binarnie. Każda
liczba zapisana jest w osobnym wierszu.Każda liczba binarna zawiera co najwyżej 250 cyfr binarnych, co oznacza, że w wielu
językach programowania wartości niektórych z tych liczb nie da się zapamiętać
w pojedynczej zmiennej typu całkowitoliczbowego, np. w języku C++ w zmiennej typu
int.
Podaj, ile liczb z pliku liczby.txt ma w swoim zapisie binarnym więcej zer niż jedynek.

Jak by coś tutaj daje link do zadania. Jest to zadanie 4.1

0
#include <iostream>
#include <fstream>  
using namespace std;

int main()
  {
   ifstream fin("liczby.txt");
   unsigned count=0;
   int over=0;
   for(int ch;(ch=fin.get())!=EOF;)
     {
      if(ch=='0') ++over;
      else if(ch=='1') --over;
      else if(ch=='\n')
        {
         count+=(over>0);
         over=0;
        }
     }
   cout<<count<<endl;           
   return 0;
  }
0

chodzi mi o ten zapis:
if(liczba[j]=='0')
nie rozumiem go niestety :(

0

Rozdział tablice znaków i napisy możesz próbować najpierw zrozumieć string'a

1 użytkowników online, w tym zalogowanych: 0, gości: 1