Witam !
Pisząc ten program chciałem, aby zamieniał on liczby dziesiętne na szesnastkowe (tak, wiem, że jest prostszy sposób). Niestety nie mogę zlokalizować co jest z nim nie tak :( Program normalnie się kompiluje, ale konsola zwraca błąd.
/* ------------------------------------------------------------------------------------------------ */
#include <cstdlib>
#include <iostream>
using namespace std;
void dec_to_hex(int liczba)
{
int i=0,tab[31];
char *tab1;
while(liczba) //dopóki liczba bêdzie ró¿na od zera
{
if(liczba%16<10) tab1[i++]=48+(liczba%16);
else if(liczba%16==10) tab1[i++]='A';
else if(liczba%16==11) tab1[i++]='B';
else if(liczba%16==12) tab1[i++]='C';
else if(liczba%16==13) tab1[i++]='D';
else if(liczba%16==14) tab1[i++]='E';
else if(liczba%16==15) tab1[i++]='F';
liczba/=16;
}
for(int j=i-1;j>=0;j--)
cout<<tab[j];
}
int main()
{
int liczba;
cout<<"Podaj liczbe: ";
cin>>liczba;
cout<<liczba<<" po zamianie na postac szesnastkowe: ";
dec_to_hex(liczba);
cout<<endl;
return 0;
}