• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

System szesnastkowy

Mały hosting, OGROMNE możliwości
0 głosów
1,729 wizyt
pytanie zadane 22 stycznia 2017 w C i C++ przez kmarcin Użytkownik (590 p.)

Kody ASCII znaków reprezentuje się czasami w postaci szesnastkowej. Taka reprezentacja jest dwucyfrową liczbą zapisaną w układzie szesnastkowym. . Twoim zadaniem jest napisanie programu, który pozwoli na automatyczne przeliczanie kodów szesnastkowych na kody ASCII.

Wejście

Na wejściu znajdują się dwa znaki określające poprawny kod szesnastkowy znaku z kodu ASCII. Pierwszy znak

jest cyfrą między 2 a 7, a drugi – cyfrą lub wielką literą między A a F.

Wyjście

W pierwszym wierszu Twój program powinien wypisać kod ASCII znaku, a w drugim – sam znak. Możesz założyć, że kod szesnastkowy na wejściu nie będzie odpowiadał żadnemu znakowi specjalnemu, czyli takiemu, którego nie da się ładnie wypisać.

Niestety coś jest nie tak w moim kodzie, ponieważ przy weryfikacji zadania na stronie main, dostaje info o błędzie, co muszę poprawić?

Mój kod:

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

int main()
{
	int suma;
	string liczba;
	cin >> liczba;
	
	suma=(liczba[0]-48)*16;

	if (liczba[1] >= '0' && liczba[1] <= '9')
		suma += (int)(liczba[1]-48);
	else 
		suma += (liczba[1]- 55);
	
	cout << endl << suma << endl << (char)suma << endl;
	
	system("pause");
}

 

komentarz 22 stycznia 2017 przez niezalogowany

dostaje info o błędzie

Dostarcz nam komunikat błędu

komentarz 22 stycznia 2017 przez kmarcin Użytkownik (590 p.)
1 wiersz 1: wczytano EOLN, a oczekiwano '39'

2 wiersz 1: wczytano EOLN, a oczekiwano '56'

3 wiersz 1: wczytano EOLN, a oczekiwano '73'

4 wiersz 1: wczytano EOLN, a oczekiwano '90'

5 wiersz 1: wczytano EOLN, a oczekiwano '107'

6 wiersz 1: wczytano EOLN, a oczekiwano '124'

7 wiersz 1: wczytano EOLN, a oczekiwano '45'

8 wiersz 1: wczytano EOLN, a oczekiwano '62'

9 wiersz 1: wczytano EOLN, a oczekiwano '79'

10 wiersz 1: wczytano EOLN, a oczekiwano '80'

11 wiersz 1: wczytano EOLN, a oczekiwano '97'

12 wiersz 1: wczytano EOLN, a oczekiwano '114'

13 wiersz 1: wczytano EOLN, a oczekiwano '35'

14 wiersz 1: wczytano EOLN, a oczekiwano '52'

15 wiersz 1: wczytano EOLN, a oczekiwano '69'

16 wiersz 1: wczytano EOLN, a oczekiwano '86'

17 wiersz 1: wczytano EOLN, a oczekiwano '32'

18 wiersz 1: wczytano EOLN, a oczekiwano '126'

1 odpowiedź

0 głosów
odpowiedź 22 stycznia 2017 przez CzikaCarry Szeryf (75,340 p.)
edycja 22 stycznia 2017 przez CzikaCarry
Zamień '0' na 0, i '9' na 9
komentarz 22 stycznia 2017 przez kmarcin Użytkownik (590 p.)
Wtedy złe wartości się wyświetlają. Generalnie dostaje dobre liczby, dobrze mi to konwertuje, ale serwis main nie przyjmuje mojego rozwiązania.
komentarz 22 stycznia 2017 przez kmarcin Użytkownik (590 p.)

Dokładna treść zadania dostępna tutaj:

 

https://main2.edu.pl/c/konkurs-wstepu-do-programowania/p/kod/

komentarz 22 stycznia 2017 przez CzikaCarry Szeryf (75,340 p.)
Usuń endline'y przy cout'ach

Podobne pytania

0 głosów
1 odpowiedź 1,186 wizyt
pytanie zadane 15 października 2017 w C i C++ przez multispy Początkujący (300 p.)
0 głosów
3 odpowiedzi 3,509 wizyt
0 głosów
0 odpowiedzi 782 wizyt
pytanie zadane 23 listopada 2019 w C i C++ przez Ola Piątek Nowicjusz (240 p.)

93,715 zapytań

142,629 odpowiedzi

323,261 komentarzy

63,258 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...