• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dodanie do funkcji możliwości wpisania wielu wartości wejściowych

0 głosów
215 wizyt
pytanie zadane 17 stycznia 2020 w C i C++ przez BloodyBoy89 Początkujący (440 p.)

Mam program do zliczania ilości bitów liczby na wejściu

#include <iostream>


using namespace std;





int suma_bin_1(long long liczba1)
{
	int s=0;

	while(liczba1>0)
	{
		s+=liczba1&1;
		liczba1>>=1;
	}

return s;
}

int main()
{

	long long liczba1;
	char opcja;


		cin>>liczba1;

		cout<<suma_bin_1(liczba1)<<" ";

return 0;
}

Ale działa on tylko dla 1 wartości wejściowej po czym się zamyka. Potrzebowałbym w nim możliwości wpisania ciągu liczb i zdefiniowania ile tych liczb jest.

Coś w stylu 3 10 6 4

Gdzie pierwsza wartość "3" określa ile liczb ma program przeliczyć a "10 6 4" są wartościami do przelicznia

1 odpowiedź

+2 głosów
odpowiedź 17 stycznia 2020 przez adam_jankowski Mądrala (5,970 p.)
wybrane 18 stycznia 2020 przez BloodyBoy89
 
Najlepsza
Na początku cinem wczytujesz ilość liczb, a następnie w pętli for wykonującej się od 1 do ilości liczb, wpisujesz kolejne instrukcje
komentarz 17 stycznia 2020 przez BloodyBoy89 Początkujący (440 p.)
A jak ma ta pętla być zapisana i w którym miejscu, przepraszam za moją niewiedze ale dopiero zaczynam pracę z programowaniem :/
komentarz 17 stycznia 2020 przez adam_jankowski Mądrala (5,970 p.)
cin>>ilosc_liczb;
long long int ilczby[ilosc_liczb];

for (int i=0; i<ilosc_liczb; i++)
{
  cin>>liczby[i];
}

 

komentarz 17 stycznia 2020 przez BloodyBoy89 Początkujący (440 p.)

#include <iostream>


using namespace std;





int suma_bin_1(long long i)
{
    int s=0;

    while(i>0)
    {
        s+=i&1;
        i>>=1;
    }

return s;
}

int main()
{
int ilosc_liczb;
long long int liczby[100];

cin>>ilosc_liczb;
for (int i=0; i<ilosc_liczb; i++)
{
  cin>>liczby[i];
  cout<<suma_bin_1(i)<<" ";
}







return 0;
}

Zrobiłem coś takiego ale nadal nie chce działać ;/

komentarz 17 stycznia 2020 przez j23 Mędrzec (195,220 p.)
std::cin >> ilosc_liczb;

while (ilosc_liczb-- && std::cin >> liczba) {
    std::cout << suma_bin_1(liczba) << " ";
}

 

Podobne pytania

0 głosów
1 odpowiedź 294 wizyt
0 głosów
0 odpowiedzi 172 wizyt
0 głosów
1 odpowiedź 417 wizyt

93,605 zapytań

142,529 odpowiedzi

322,999 komentarzy

63,094 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...