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

C++ System rzymski

Object Storage Arubacloud
0 głosów
828 wizyt
pytanie zadane 13 października 2016 w C i C++ przez Gracjan Pasik Obywatel (1,810 p.)
http://pastebin.com/jzhPevpc

Czy mógłby ktoś znaleźć tutaj błąd? [C++]
Program ma za zadanie dodać do siebie dwie liczby zapisane w systemie rzymskim, a następnie wypisać wynik w systemie rzymskim.
Kiedy wpisuje CD lub CM i cokolwiek innego kompiluje się, ale po wypisaniu wyniku w systemie arabskim, a przed wypisaniem w wyniku rzymskim wywala taki błąd:
terminate called after throwing an instance of 'std::bad_alloc'
komentarz 13 października 2016 przez DragonCoder Nałogowiec (36,500 p.)
suma = M*1000 + D*500 + C*100 + L*50 + X*10 + V*5 + I*1;

 

int I = 0, V = 0, X = 0, L = 0, C = 0, D = 0, M = 0, I1 = 0, V1 = 0, X1 = 0, L1 = 0, C1 = 0, D1 = 0, M1 = 0, Is = 0, Vs = 0, Xs = 0, Ls =0, Cs = 0, Ds = 0, Ms = 0, suma;
komentarz 13 października 2016 przez Gracjan Pasik Obywatel (1,810 p.)
Co w tym jest źle?
komentarz 13 października 2016 przez DragonCoder Nałogowiec (36,500 p.)
Wiesz nie wiem, jaks ie nie myle to 0*100000 bedzie 0, 0*1 bedze zero 0* cokolwiek bedzie 0
komentarz 13 października 2016 przez Gracjan Pasik Obywatel (1,810 p.)
No tak, ale tam jest dodawanie, 0+5 = 5 czyli tyle ile ma być
komentarz 13 października 2016 przez DragonCoder Nałogowiec (36,500 p.)
ify sa zle zbduwane
komentarz 13 października 2016 przez Gracjan Pasik Obywatel (1,810 p.)
które?
komentarz 13 października 2016 przez DragonCoder Nałogowiec (36,500 p.)
if ((wejscie.at(i) == 'I') && (wejscie.at(i+1) != 'V') && (wejscie.at(i+1) != 'X') && (wejscie.at(i+1) != 'L') && (wejscie.at(i+1) != 'C') && (wejscie.at(i+1) != 'D') && (wejscie.at(i+1) != 'M'))

Jak masz || co znacza albo lub to wtedy nie potrzebujesz nawiasu ale gdy dajesz && musisz dac nawias np.

if((kot=="k")&&(ala=="a"))
komentarz 13 października 2016 przez DragonCoder Nałogowiec (36,500 p.)
A mi powiesz co z nim nie tak, oprocz tego ze nie rozpoznaje kolejnosci?

Wpisuje:

L

M

wynik: 1050ML

wpisuje:

M

L

wynik 1050ML
komentarz 13 października 2016 przez Gracjan Pasik Obywatel (1,810 p.)
LM jest niepoprawne matematycznie, więc program tego nie uwzględnia. Można pisać przed tylko I X oraz C.
komentarz 13 października 2016 przez DragonCoder Nałogowiec (36,500 p.)
No tak, wiec jakis komuniakt mogles dac

1 odpowiedź

0 głosów
odpowiedź 13 października 2016 przez jeremus Maniak (59,720 p.)

wygląda  na to że masz niedopracowany algorytm

np przy dodawaniu IX + IX wywala się  tutaj :

    while (Is>0,Is--)
    {
        wyjscie.push_back('I');
    }

// po zmianie na :

    while (Is>0)
    {
       Is--;
        wyjscie.push_back('I');
    }

// juz się nie wywala ale masz wynik XX
// podobnie dla pozostałych pętli , wywala się na wartościach ujemnych

 

Podobne pytania

0 głosów
1 odpowiedź 656 wizyt
pytanie zadane 27 grudnia 2016 w C i C++ przez konrad00 Nowicjusz (190 p.)
0 głosów
3 odpowiedzi 447 wizyt
pytanie zadane 5 kwietnia 2017 w C i C++ przez ChiriChiri Obywatel (1,260 p.)
0 głosów
1 odpowiedź 1,429 wizyt

92,579 zapytań

141,432 odpowiedzi

319,657 komentarzy

61,963 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...