• 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

Object Storage Arubacloud
0 głosów
468 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 Ekspert (344,860 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 4,488 wizyt
pytanie zadane 12 sierpnia 2015 w C i C++ przez gagyn Stary wyjadacz (11,050 p.)
0 głosów
1 odpowiedź 195 wizyt
0 głosów
1 odpowiedź 696 wizyt
pytanie zadane 1 listopada 2016 w C i C++ przez Kasztan Dyskutant (8,080 p.)

92,539 zapytań

141,382 odpowiedzi

319,476 komentarzy

61,928 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!

...