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

Wyświetlenie liczby z największą ilością jedynek w formie binarnej

Object Storage Arubacloud
0 głosów
492 wizyt
pytanie zadane 17 kwietnia 2019 w C i C++ przez Janczalk Nowicjusz (220 p.)

Witam!

Otóż mam takie zadanie, że mam napisać program, który wyświetli liczbę, która ma najwięcej jedynek w postaci binarnej. Póki co napisałem taki kod ale totalnie utknąłem i nie mam pomysłu co mogę zrobić i jak żeby się ruszyć z miejsca. Z góry dziękuję za pomoc :)

Mam jeszcze wpisane inne biblioteki ale to do innego zadania w case 1.

 

#include <pch.h>
#include <iostream>
#include <algorithm>
#include <string>
#include <stdlib.h>

using namespace std;

string binarka(int n)
{
	string a;
	while (n != 0) { a = (n % 2 == 0 ? "0" : "1") + a; n /= 2; }
	return a;
}
int liczenie(unsigned x)
{
	int a = 0;
	for (; x != 0; x >>= 1) a += x & 1;

	return a;
}

int main()
{
	int wybor;
	cin >> wybor;
	switch (wybor)
	{
	case 1:
	{

	}break;

	case 2:
	{
		const int a = 10; // stala zmienna a
		int *tab = new int[a];
		int max;
		for (int i = 0; i < a; i++) // wprowadzanie dodatnich liczb do tablicy
		{
			do
			{
				cin >> tab[i];
			} while (tab[i] <= 0);
		}
		cout << endl;
		for (int i = 0; i < a; i++) // zamiana liczb w tablicy na liczby binarne oraz zliczanie jedynek
		{
			cout << binarka(tab[i]);
			cout << endl;
			cout << liczenie(tab[i]);
			cout << endl;
		}
		
		max = liczenie(tab[0]); // przypisane wartosci maksymalnej do pierwszego elementu tablicy
		for (int i = 0; i < a; i++) // wyznaczanie elementu w tablicy z najwieksza iloscia jedynek
			if (max < liczenie(tab[i]))
				max = liczenie(tab[i]);

		cout << max << endl; // wyswietlenie liczby z tablicy z najwieksza iloscia jedynek


	}break;

	case 3:
	{

	}break;

		default:
		break;
	}

	return 0;
}

 

komentarz 17 kwietnia 2019 przez DragonCoder Nałogowiec (36,500 p.)
A z czym utknales?
komentarz 17 kwietnia 2019 przez Janczalk Nowicjusz (220 p.)
muszę wyświetlić tą liczbę która ma najwięcej jedynek w postaci binarnej a nie ilość jedynek tak jak to zrobiłem. Nie wiem jak to teraz mogę przerobić żeby z liczb wprowadzonych np. 1 2 3 4 5 6 7 8 9 10 wyświetliło mi 7 a nie 3

1 odpowiedź

0 głosów
odpowiedź 17 kwietnia 2019 przez criss Mędrzec (172,590 p.)
wybrane 17 kwietnia 2019 przez Janczalk
 
Najlepsza
Przecież mas zrobione wzystko praktycznie. Tylko zamiast liczby z największą ilością jedynek wyświetlasz tą ilość jedynek. Po prostu zrób sobie jeszcze jedną zmienną do której będziesz sobie przypisywał liczbę z aktualnie największą ilością jedynek w ifie w 57 lini analogicznie jak to teraz robisz tylko dla ilości jedynek.
komentarz 17 kwietnia 2019 przez Janczalk Nowicjusz (220 p.)
Dzięki wielkie za popchnięcie mnie do przodu. Udało mi się :)

Podobne pytania

+1 głos
3 odpowiedzi 2,338 wizyt
pytanie zadane 8 września 2019 w C i C++ przez mm Użytkownik (890 p.)
0 głosów
1 odpowiedź 393 wizyt
pytanie zadane 9 stycznia 2016 w SQL, bazy danych przez runway Użytkownik (640 p.)
0 głosów
1 odpowiedź 519 wizyt
pytanie zadane 18 marca 2023 w PHP przez kelorth Początkujący (260 p.)

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...