Siema. Pisze pewien programik i mam problem. Mianowicie muszę mieć tablicę zmiennych float i muszę to co wprowadzę sobie do tej tablicy później wyświetlić w systemie ósemkowym(oct) i szesnastkowym(hex). I nie wiem jak to zrobić bo normalnie zrobiłbym tak gdyby tablica była int cout<< hex <<tab i by działało ale z racji ze moja tablica jest i musi być w float to to nie działa i nie wiem jak wymusić żeby to działało.Poniżej zamieszam cały kod. Pozdrawiam i z góry dzięki za pomoc
#include <iostream>
#include <iomanip>
#include <stdlib.h>
using namespace std;
void main()
{
int max,precyzja,i,j,b;
int rozmiar;
int nr;
max=1000;
pocz:
cout<< "\nPodaj rozmiar tabicy: ";
cin>>rozmiar;
float *tab=new float[rozmiar];
if(rozmiar>max)
{
cout<<"Podany rozmiar tablicy jest wiekszy od maksymalnego.";
goto pocz;
}
for(i=0;i<=rozmiar-1;i++)
{
cout<<"Wprowadz "<< i+1 << " element tablicy: ";
cin>>tab[i];
}
do
{
cout<<"\n|====================================MENU=====================================|";
cout<<"\n| Co chcesz zrobic? |";
cout<<"\n|1.Wcisnij 1 aby wyswietlic liczby w wyrownanej kolumnie. |";
cout<<"\n|2.Wcisnij 2 aby wprowadzic precyzje liczb i je wyswietlic. |";
cout<<"\n|3.Wcisnij 3 aby wyprowdzic liczby w postaci osemkowej. |";
cout<<"\n|4.Wcisnij 4 aby wyprowdzic liczby w postaci szesnastkowej. |";
cout<<"\n|5.Wcisnij 5 aby wyprowadzic liczby w notacji zwyklej i naukowej. |";
cout<<"\n|====================WCISNIJ 6 BY ZAKONCZYC PRACE PROGRAMU====================|";
cout<<"\nWybor: ";
cin>>nr;
switch(nr)
{
case 1:
for(int k=0;k<=rozmiar-1;k++)
{
cout<<setw(30)<<"tab["<<k<<"]="<<tab[k]<<endl;
}
break;
case 2:
cout<<"Podaj precyzje wyswietlanych liczb: ";
cin>>precyzja;
cout<<"Liczby w twojej tablicy wygladaja teraz nastepujaco:"<<setprecision(precyzja)<<endl;
for(int k=0;k<=rozmiar-1;k++)
{
cout.width(20);
cout.setf(ios::fixed, ios::floatfield);
cout<<right<<oct<<tab[k]<<endl;
}
break;
case 3:
for(int h=0;h<rozmiar;h++)
{
cout<<oct<<tab[h]<<endl;
}
break;
case 4:
for(int v=0;v<=rozmiar-1;v++)
{
cout<<hex<<tab[v]<<endl;
}
break;
case 5:
cout<<" [notacja zwykla]: [notacja naukowa]: "<<setprecision(precyzja)<<endl;
for(j=0,b=0;j,b<=rozmiar-1;j++,b++)
{
cout.width(15);
cout.setf(ios::fixed, ios::floatfield);
cout<<"tab["<<j<<"]="<<right<<tab[j];
cout.setf(ios::scientific, ios::floatfield);
cout.setf(ios::uppercase);
cout.width(15);
cout<<"\ttab["<<b<<"]="<<right<<tab[b]<<endl;
}
break;
}
}while(nr!=6);
cout.setf(0, ios::basefield);
}