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

PTWPZ083 - PTwPZ Kalkulator

Cloud VPS
0 głosów
433 wizyt
pytanie zadane 15 sierpnia 2018 w SPOJ przez Piotr Błaszczak Bywalec (2,890 p.)

Cześć, mam problem z rozwiązaniem zadania ze SPOJA (https://pl.spoj.com/problems/PTWPZ083/).Szukałem w internecie pytań co do tego zadania i natknąłem się na jedno rozwiązanie, przeanalizowałem je i doszedłem do wniosku, że nie wiem o co chodzi z -48 w niektórych miejscach po getchar(). Jest w stanie mi to ktoś wytłumaczyć? Przesyłam ten kod: 

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    int t; cin >> t;
int x=getchar();
    for (int i = 0; i < t; i++)
    {

        int wynik = getchar()-48;
        int a;

        while (a = getchar())
        {
            if (a == '+')
            {
                int liczba = getchar() -48;
                wynik += liczba;
            }
            else if (a == '-')
            {
                int liczba = getchar() -48;
                wynik -= liczba;
            }
            else if (a == '\n')
                break;
        }
        cout << wynik << endl;
    }

    return 0;
}

 

1 odpowiedź

+1 głos
odpowiedź 16 sierpnia 2018 przez niezalogowany
wybrane 16 sierpnia 2018 przez Piotr Błaszczak
 
Najlepsza

https://pl.wikipedia.org/wiki/ASCII

Znaki '0', '1', '2', '3', ... mają kody odpowiednio 48, 49, 50, 51, .... 

Podobne pytania

0 głosów
3 odpowiedzi 366 wizyt
0 głosów
1 odpowiedź 643 wizyt

93,488 zapytań

142,422 odpowiedzi

322,773 komentarzy

62,907 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

Kursy INF.02 i INF.03
...