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

Znajdowanie x-cyfrowych liczb w tablicy liczb całkowitych? Pomoc

0 głosów
666 wizyt
pytanie zadane 16 stycznia 2018 w C i C++ przez Bartłomiej Bar Nowicjusz (150 p.)

 

Wygenerowałem tablicę liczb całkowitych i muszę w niej wyodrębnić liczby x-cyfrowe, aby wykonać dalszą część zadania, na liczbach x-cyfrowych.  ( x to wartość zadana przez użytkownika)

Proszę o pomoc lub jakieś wskazówki

1 odpowiedź

–1 głos
odpowiedź 16 stycznia 2018 przez k222 Nałogowiec (30,150 p.)
wybrane 18 stycznia 2018 przez Bartłomiej Bar
 
Najlepsza
Wskazówka: gdy dzielisz liczbę int przez 10 ostatnia liczba znika, a reszta jest tracona więc np.

1234 / 10 = 123

123 / 10 = 12
komentarz 16 stycznia 2018 przez Bartłomiej Bar Nowicjusz (150 p.)
Czyli zrobić pętle z modulo 10 na tych wygenerowanych liczbach ?
komentarz 16 stycznia 2018 przez k222 Nałogowiec (30,150 p.)
A po co ci modulo?

Generalnie jak masz liczbą 1234 to dzieląc ją cały czas przez 10 otrzymasz kolejno wyniki 123 12 1 0 0 0 0 0 0 0 0 0 ... - pomyśl, jak z takiego dzielenia możesz wyciągnąć informacje o liczbie cyfr w danej liczbie
komentarz 18 stycznia 2018 przez Bartłomiej Bar Nowicjusz (150 p.)

Udało się :D
Pytanie jak wyodrębnić z tego liczby x-cyfrowe? Dziękuje za pomoc

    

	for (int i = 0; i < n; i++) {
		int lb_cyfr = 0;
		int x = a[i];
		if (x < 0) x = -x;
		else if (x == 0) lb_cyfr = 1;
		while (x > 0) {
			lb_cyfr++;
			x /= 10;
		}
		if (lb_cyfr == o);
		cout << a[i] << " ";
		//cout << "\n" << i << "  .element o wartosci " << a[i] << " ma " << lb_cyfr << "cyfr \n";
	}

 

komentarz 18 stycznia 2018 przez k222 Nałogowiec (30,150 p.)
Najłatwiej po prostu przepisać je do innej tablicy i działać na nowej tablicy
komentarz 18 stycznia 2018 przez mokrowski Mędrzec (159,000 p.)
Logarytmów nie było w szkole?! http://en.cppreference.com/w/cpp/numeric/math/log10
komentarz 19 stycznia 2018 przez k222 Nałogowiec (30,150 p.)
Jak się dzieci uczą matmy w szkole to zaczynają od dodawania i odejmowania potem mnożenie,  dzielenie, potęgowanie, ... - z jakiegoś dziwnego powodu nie zaczynają od np. modulo, tak i tu myślę, że jak ktoś się uczy programować powinien zacząć od zrozumienia jak działają poszczególne części języki i co program robi z liczbami a dopiero potem jak to zrobić efektywniej lub krócej.
komentarz 19 stycznia 2018 przez mokrowski Mędrzec (159,000 p.)
No to Ty tak myślisz. Badania pokazują że większość ludzi uczy się metodą top-down a nie bottom-up (~85%). Dodatkowo logarytm jest jak najbardziej elementem biblioteki standardowej.To nie C w którym zrobienie noża trzeba zacząć od wytopu stali.

Podobne pytania

0 głosów
2 odpowiedzi 7,004 wizyt
pytanie zadane 27 października 2017 w C i C++ przez mn130496 Gaduła (3,640 p.)
–2 głosów
0 odpowiedzi 794 wizyt
0 głosów
1 odpowiedź 745 wizyt
pytanie zadane 11 września 2017 w C i C++ przez Józef Niecierski Początkujący (440 p.)

93,762 zapytań

142,717 odpowiedzi

323,368 komentarzy

63,359 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...