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

question-closed konwersja wektora z int na string

0 głosów
881 wizyt
pytanie zadane 1 listopada 2015 w C i C++ przez niezalogowany
zamknięte 1 listopada 2015
Witam, muszę znaleźć sposób na sprawdzenie długości inta i na myśl mi przychodzi jedynie string. I tu właśnie zaczynają się problemy. Bo jak mam to zrobić. Szukałem u wujka i nic mi nie powiedział. Nie wiem z czego tak naprawdę mogę sporzystać bo tak naprawdę chcę z wektora przenieść albo do innego wektora albo do czegoś co będzie miało rozmiar wektora. Bardzo proszę o pomoc, mogę pokazać kod gdyby to było konieczne.
komentarz zamknięcia: Porcupine rozwiązał problem. Dziękuję

2 odpowiedzi

0 głosów
odpowiedź 1 listopada 2015 przez Porcupine Nałogowiec (31,560 p.)
wybrane 1 listopada 2015
 
Najlepsza
Długości inta? W sensie, że po prostu ilość cyfr? To jest:  log10(twój_int) + 1;
komentarz 1 listopada 2015 przez niezalogowany
logarytmicznie to się liczy??? No ok nie wiedziałem a teraz można to wykoszystać tak żeby móc wypisać te liczby od tyłu??
komentarz 1 listopada 2015 przez Porcupine Nałogowiec (31,560 p.)

Znaczy z definicji logarytmu dziesiesiętnego, log10 to znaczy mniej więcej: le razy można podzielić liczbę przez 10, dopóki cześć całkowita dzielenia nie spadnie poniżej zera. Dlatego tak możesz określić ilość cyf liczby w systemie dziesiętnym.

Najprostsze wypisywanie od tył: 
 


int n;

while (n > 0){
      cout << n%10;
      n /= 10;
}

 

komentarz 1 listopada 2015 przez niezalogowany
No ok, może źle się wyraziłem. Chodzi mi o to że muszę daną liczbę wyciągnąć, przekonwetować ją tymczasowo do inta, pomnożyć ją i gdzieś zapisać, potem kolejną wartość znowu kolejną itd.
komentarz 1 listopada 2015 przez Porcupine Nałogowiec (31,560 p.)
Masz liczbę w stringu i chcesz ją przekonwertować na int'a, dobrze rozumiem?
komentarz 1 listopada 2015 przez niezalogowany

mam ją w incie i muszę przelecieć ją od tyłu (tak wiem jak to brzmi) do samego początku, muszę konkretną wartość przenieść załużmy do... int a_taka_tymczasowa_bezuzyteczna_prawie_nic_nie_robiaca_zmienna_typu_int i muszę ją wymnożyć. I nic innego mi nie przychodzi do głowy tak tylko przekonwertować ją na strong a potem przelecieć ją od tyłu (tak wiem jak to brzmi) w pętli i tę wartość którą mi wskazuje np i w pętli for przekonwerować na inta i wymnożyć ją po czym wczytać poprzednią wartość z tego napisu czyli przedostatni znak (pomijamy tutaj znak NULL) po czym powtórzyć operację. Mam nadzieję że zrozumiale napisałem, minimalnie można się pogubić zmienne pogrubiłem.

komentarz 1 listopada 2015 przez Porcupine Nałogowiec (31,560 p.)
Że tak: 


int zmienna_poczatkowa;
int zmienna_odwrocona;

while (zmienna_poczatkowa > 0){
	
	zmienna_odwrocona = 10 * zmienna_odwrocona + (zmienna_poczatkowa % 10);
	zmienna_poczatkowa /= 10;
}


// np. dla zmienna_poczatkowa = 1453 -> zmienna_odwrocona = 3541
// teraz mozesz ja jakos mnozyc czy cos

 

komentarz 1 listopada 2015 przez niezalogowany
a jak mam to w vectorze to mam to zrobić w pętli??
komentarz 1 listopada 2015 przez Porcupine Nałogowiec (31,560 p.)

Jak masz vector intów i chcesz dla każdego int'a pokolei: 



int twoj_reverse(int zmienna_poczatkowa){

	int zmienna_odwrocona;
	 
	while (zmienna_poczatkowa > 0){
	     
	    zmienna_odwrocona = 10 * zmienna_odwrocona + (zmienna_poczatkowa % 10);
	    zmienna_poczatkowa /= 10;
	}

	return zmienna_odwrocona;
}

main(){
	
	vector <int> V;

	int element_odwrocony;
	for (int i = 0; i < V.size(); i++){
		
		element_odwrocony = twoj_reverse(V[i]);

		// Tutaj mozesz cos z tym elementem robic, przypisac go
		// do tablicy, mnozyc czy co tam chcesz
	}
}


 

komentarz 1 listopada 2015 przez niezalogowany
Dzięki wielkie, za pomoc. Teraz będę analizować ten fragment kodu który mi podesłałeś. Naprawdę mi pomogłeś. Dziękuję jeszcze raz. Milego wieczoru.
0 głosów
odpowiedź 1 listopada 2015 przez adrian17 Mentor (355,180 p.)

mogę pokazać kod gdyby to było konieczne.

To pokaż, bo nie mam pojęcia o co Ci koniec końców chodzi, o jaką "długość inta"  jakie przenoszenie z wectora do wectora.

Podobne pytania

0 głosów
6 odpowiedzi 7,662 wizyt
pytanie zadane 12 sierpnia 2015 w C i C++ przez gagyn Stary wyjadacz (11,050 p.)
0 głosów
1 odpowiedź 492 wizyt
0 głosów
1 odpowiedź 987 wizyt
pytanie zadane 1 listopada 2016 w C i C++ przez Kasztan Dyskutant (8,080 p.)

93,741 zapytań

142,676 odpowiedzi

323,294 komentarzy

63,323 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.

...