algorytm.org

Implementacja w C/C++

Praca
Interesuje Cię praca przy weryfikacji oprogramowania do samolotów?
Sprawdź to!
Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Zamiana z i na system dziesiętny - Implementacja w C/C++
Ocena użytkownikóww: *****  / 17
SłabyŚwietny
Nadesłany przez Marian, 24 lutego 2011 21:04
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

systemy_2_c.cpp:
//zamiana na system dziesiętny
//www.algorytm.org

#include<iostream>
#include<string>
using namespace std;

int main()
{
	char liczba[100]; // tablica na liczbe (może być np. system szesnastkowy gdzie wystepuja litery oprocz cyfr)
	int p = 1, wynik = 0, system, x; 
	cout << "Podaj system w jakim zapisana jest liczba <2,16>: ";
	cin >> system;
	cout << "Podaj liczbe: ";
	cin >> liczba;
	cout << "Liczba " << liczba << " w systemie dziesietnym wynosi ";
	for (int i = strlen(liczba)-1; i >= 0; i--) // zaczynamy od konca tablicy i poruszamy sie do przodu - do indeksu 0
	{
		if (liczba[i] >= '0' && liczba[i] <= '9') // jezeli cyfra
			x = liczba[i]-'0'; // to odejmujemy kod zera - zamieniamy kod cyfry na cyfre
		else // jezeli litera - musi byc duza
			x = liczba[i] - 55; // to odejmujemy 55 np. A(65) - 55 = 10
		wynik += x*p; // do wyniku dodajemy otrzymana wartosc pomnozana przez podstawe systemu do odpowiedniej potegi
		p *= system; // ustawiamy p na odpowiednia potege systemu
	}
	cout << wynik << endl;
	return 0;
}
Komentarze
photo
-4 # Ziomal Ziomalski 2012-11-15 11:29
Dzieki Marian, bardzo dobry program. Nalezy Ci sie piatka.
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
-5 # Feleur 2014-05-29 20:59
Tam, żeby to dokładnie działało to potrzeba #include bo program aktualnie nie rozumie komendy int i = strlen(liczba)-1.
Ale to zauważalne. ;)
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
-4 # XD 2015-12-21 09:56
Dzięki Marian
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
-2 # Maister 2016-02-09 17:37
Czy strlen istnieje dla wszystkich kompilatorów?
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz