x-kom hosting

[C++]Manipulatory cout

heniczyna
utworzono
utworzono

Siemanko,

taki kawałek kodu:

for(i){	for(j)	{			printf("%x ",tablica[i][j]);	}  printf("\n");}

wyświetla szesnastkowo elementy tablicy poprawnie, zaś gdy chcę użyć do tego celu takiego kawałka kodu:

for(i){	for(j)	{			cout<<hex<<tablica[i][j];	}  cout << "\n";}

wyskakuje coś, jakieś krzaki.

Jeżeli manipulatory cout<<hex są odpowiednikiem printf("%x ",zmienna); to czemu nie chce to działać ?

luq
komentarz
komentarz
for(i)

? To Ci działa?

Dawno w cpp nie pisałem ale ja spotkałem się z zapisem.

std::cout.setf(std::ios::hex);std::cout << 123 << std::endl;

Wydaje mi się, że chodzi o nie korzystanie przestrzeni nazw ios w Twoim kodzie. Spróbuj tak:

std::cout << std::ios::hex << 123 << std::endl;
heniczyna
komentarz
komentarz (edytowane)

to co napisałeś działa, ale dla pojedynczych stałych, jednak chodzi mi o wyświetlanie elementów tablicy dwuwymiarowej,

	for(i=0;i<4;i++)	{		for(j=0;j<4;j++)		{			tablica[j][i] = in[i*2 + j];						cout << hex << tablica[j][i] << "\t";		}		cout << "\n";		}

wydaję mi się, że powinno działać jednak tak nie jest. Każdy element tablicy 4x4 ma być przedstawiony heksadecymalnie. Dane w tablicy są wprowadzane szesnastkowo, więc tym bardziej powinno wszystko działać jednak nie działa. Z Twoimi propozycjami próbowałem na wiele sposób, jednak nie działało.

Potrzebne są jakieś dodatkowe deklaracje? biblioteki?

  • 3 miesiące później...
wojtek4p4
komentarz
komentarz

Dawno w cpp nie pisałem ale ja spotkałem się z zapisem.

std::cout.setf(std::ios::hex);std::cout << 123 << std::endl;

Można też dać po

#include <...>
using namespace std;

I sprawdź czy dałeś to:

#include <iostream>

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.