Hej, mam problem z zadaniem, które dostałem jako domowe na studiach. Opis problemu jest na zdjęciu. Udało mi się wyświetlić już prawidłowe wyniki w przedziałach, ale mam problem z wyświetlaniem wyników w kolumnach i kompletnie nie wiem już jak kombinować. Próbowałem wielu metod, rozbijałem na trzy przypadki dla różnych przedziałów, wyniki ciągle ukazywały się w błędnej formie. Czy możecie mi pomóc i wskazać co i gdzie mogę napisać aby działało?
Problem:
Kod: https://pastebin.com/bbviLct6
#include <iostream>
int n,k;
char a; //znaki ascii
int bin[8]; //tablica do liczb binarnych
int d_2_b(int n){ //dec 2 bin
for(int b=0;b<8;b++){
bin[b]=0; //zerowanie tablicy
}
for(int b=0;n>0;b++){
bin[b]=n%2; //wypelnianie tablicy
n=n/2;
}
for(int b=7;b>=0;b--){
std::cout << bin[b]; //wypisywanie tablicy od konca
}
}
int main(){
std::cout << "Podaj dolny zakres (32-127): ";
std::cin >> n;
std::cout << "Podaj gorny zakres (32-127): ";
std::cin >> k;
std::cout << std::endl;
while(n<32||n>127||n>k||k>127){ //wymaganie poprawnego przedzialu
std::cout << "Podaj dolny zakres (32-127): ";
std::cin >> n;
std::cout << "Podaj gorny zakres (32-127): ";
std::cin >> k;
std::cout << std::endl;
}
for(int i=n; i<=k; i++){ //wyswietlanie wartosci w 1 kolumnie
if(i<100){
a=i;
std::cout << " ";
d_2_b(i);
std::cout << " " << i << " " << a << "|";
std::cout << std::endl;
}
else{
a=i;
std::cout << " ";
d_2_b(i);
std::cout << " " << i << " " << a << "|";
std::cout << std::endl;
}
}
return 0;
}
Dziękuję i pozdrawiam!