logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak napisać program w C++ zamieniający liczby arabskie na rzymskie?

scalaktrafo 01 Maj 2009 14:24 8075 11
REKLAMA
  • #1 6478144
    scalaktrafo
    Poziom 15  
    Posty: 183
    Pomógł: 7
    Ocena: 5
    Witam, mam napisać program w c++ zamieniający liczby arabskie na liczby rzymskie, kompletnie nie mam pojęcia jak się za to zabrać, z programowaniem nie miałem wcześniej żadnej styczności, dlatego bardzo proszę o pomoc w napisaniu programu i wyjaśnieniu co i jak.
    Z góry dzięki za pomoc
  • REKLAMA
  • #2 6478445
    redie
    Poziom 16  
    Posty: 169
    Pomógł: 25
    Ocena: 1
    Napisałem na szybkości coś takiego,
    może kod trochę taki brzydki ale program działa :D

    Napisane w Dev C++ 4.9.92
    
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    int liczba;
    
    int main(int argc, char *argv[])
    {
        cout << "Podaj liczb: ";
        cin >> liczba;
        while(liczba/1000){    //ten warunek sprawdza czy liczba (którą się wprowadzi)
               cout << "M";    //daje po podzieleniu wartość większą/równą 1
               liczba-=1000;   //jeśli tak to napisz M, odejmij 1000 i znów sprawdź
        }                      //gdyby np zostało podane 800 to: 800/1000=0
                               //bo jest to typ int, czyli bez ułamków
        if (liczba/900){       //a ten warunek robi to co ten wyżej ale 
               cout << "CM";   //pętla była niepotrzebna bo takie sytuacje mogą
               liczba-=900;    //wystąpić tylko raz
        }
        while(liczba/500){     //i tak dalej...
               cout << "D";
               liczba-=500;                  
        }
        if (liczba/400){
               cout << "CD";
               liczba-=400;
        }
        while(liczba/100){
               cout << "C";
               liczba-=100;                  
        }
        if (liczba/90){
               cout << "XC";
               liczba-=90;
        }
        while(liczba/50){
               cout << "L";
               liczba-=50;                  
        }
        if (liczba/40){
               cout << "XL";
               liczba-=40;
        }
        while(liczba/10){
               cout << "X";
               liczba-=10;                  
        }
        if (liczba/9){
               cout << "IX";
               liczba-=9;
        }
        while(liczba/5){
               cout << "V";
               liczba-=5;                  
        }
        if (liczba/4){
               cout << "IV";
               liczba-=4;
        }
        for (int i=0; i<liczba; i++) cout << "I";
        cout << "\n";
        system("PAUSE");
    }
    


    Dodano po 44 [minuty]:

    Troszkę skrócone wersja:

    
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    int liczba;
    
    void Napisz(int *liczba, int zakres,int m, char a, char b){
        while((*liczba)/zakres){
               cout << b;
               (*liczba)-=zakres; 
        }
        if ((*liczba)/(zakres-m)){
               cout << a << b;
               (*liczba)-=(zakres-m);
        } 
    }
    
    int main(int argc, char *argv[])
    {
        cout << "Podaj liczb: ";
        cin >> liczba;
        Napisz(&liczba,1000,100,'C','M');
        Napisz(&liczba,500,100,'C','D');
        Napisz(&liczba,100,10,'X','C');
        Napisz(&liczba,50,10,'X','L');
        Napisz(&liczba,10,1,'I','X');
        Napisz(&liczba,5,1,'I','V');
        for (int i=0; i<liczba; i++) cout << "I";
        cout << "\n";
        system("PAUSE");
    }
    
    
  • #3 6479342
    scalaktrafo
    Poziom 15  
    Posty: 183
    Pomógł: 7
    Ocena: 5
    Dzięki wielkie, a mógłbyś troche wyjaśnić co i jak, które do czego komendy służą?
    Kurcze próbowałem odpalić ten kod w visual studio 6.0 i strasznie dużo błędów wyskakuje, nie wiesz może jka przerobić ten program żeby szedł na visual studio?
  • REKLAMA
  • #4 6479470
    lord_dagoth
    Poziom 25  
    Posty: 860
    Pomógł: 68
    Ocena: 6
    Wklej błędy (wystarczy kilka pierwszych).
  • REKLAMA
  • #5 6479603
    scalaktrafo
    Poziom 15  
    Posty: 183
    Pomógł: 7
    Ocena: 5
    Takie coś wyskakuje:
    d:\moje programy\vc98\include\eh.h(5) : error C2061: syntax error : identifier 'namespace'
    d:\moje programy\vc98\include\eh.h(5) : error C2059: syntax error : ';'
    d:\moje programy\vc98\include\eh.h(10) : error C2065: 'cout' : undeclared identifier
    d:\moje programy\vc98\include\eh.h(10) : error C2297: '<<' : illegal, right operand has type 'char [14]'
    d:\moje programy\vc98\include\eh.h(11) : error C2065: 'cin' : undeclared identifier
    d:\moje programy\vc98\include\eh.h(11) : warning C4552: '>>' : operator has no effect; expected operator with side-effect
    d:\moje programy\vc98\include\eh.h(13) : error C2297: '<<' : illegal, right operand has type 'char [2]'
    d:\moje programy\vc98\include\eh.h(18) : error C2297: '<<' : illegal, right operand has type 'char [3]'
    d:\moje programy\vc98\include\eh.h(22) : error C2297: '<<' : illegal, right operand has type 'char [2]'
    d:\moje programy\vc98\include\eh.h(26) : error C2297: '<<' : illegal, right operand has type 'char [3]'
    d:\moje programy\vc98\include\eh.h(30) : error C2297: '<<' : illegal, right operand has type 'char [2]'
    d:\moje programy\vc98\include\eh.h(34) : error C2297: '<<' : illegal, right operand has type 'char [3]'
    d:\moje programy\vc98\include\eh.h(38) : error C2297: '<<' : illegal, right operand has type 'char [2]'
    d:\moje programy\vc98\include\eh.h(42) : error C2297: '<<' : illegal, right operand has type 'char [3]'
    d:\moje programy\vc98\include\eh.h(46) : error C2297: '<<' : illegal, right operand has type 'char [2]'
    d:\moje programy\vc98\include\eh.h(50) : error C2297: '<<' : illegal, right operand has type 'char [3]'
    d:\moje programy\vc98\include\eh.h(54) : error C2297: '<<' : illegal, right operand has type 'char [2]'
    d:\moje programy\vc98\include\eh.h(58) : error C2297: '<<' : illegal, right operand has type 'char [3]'
    d:\moje programy\vc98\include\eh.h(61) : error C2143: syntax error : missing ';' before 'type'
    d:\moje programy\vc98\include\eh.h(61) : error C2143: syntax error : missing ';' before 'type'
    d:\moje programy\vc98\include\eh.h(61) : error C2143: syntax error : missing ')' before 'type'
    d:\moje programy\vc98\include\eh.h(61) : error C2143: syntax error : missing ';' before 'type'
    d:\moje programy\vc98\include\eh.h(61) : error C2065: 'i' : undeclared identifier
    d:\moje programy\vc98\include\eh.h(61) : warning C4552: '<' : operator has no effect; expected operator with side-effect
    d:\moje programy\vc98\include\eh.h(61) : error C2059: syntax error : ')'
    d:\moje programy\vc98\include\eh.h(61) : error C2146: syntax error : missing ';' before identifier 'cout'
    d:\moje programy\vc98\include\eh.h(61) : error C2297: '<<' : illegal, right operand has type 'char [2]'
    d:\moje programy\vc98\include\eh.h(62) : error C2297: '<<' : illegal, right operand has type 'char [2]'
    d:\moje programy\vc98\include\exception(49) : error C2061: syntax error : identifier 'exception'
    d:\moje programy\vc98\include\exception(49) : error C2059: syntax error : ';'
    d:\moje programy\vc98\include\exception(50) : error C2449: found '{' at file scope (missing function header?)
    d:\moje programy\vc98\include\exception(61) : error C2059: syntax error : '}'
    d:\moje programy\vc98\include\exception(66) : error C2061: syntax error : identifier 'bad_exception'
    d:\moje programy\vc98\include\exception(66) : error C2059: syntax error : ';'
    d:\moje programy\vc98\include\exception(66) : error C2059: syntax error : ':'
    d:\moje programy\vc98\include\exception(77) : error C2143: syntax error : missing '{' before '__cdecl'
    d:\moje programy\vc98\include\new(16) : error C2061: syntax error : identifier 'bad_alloc'
    d:\moje programy\vc98\include\new(16) : error C2059: syntax error : ';'
    d:\moje programy\vc98\include\new(16) : error C2059: syntax error : ':'
    d:\moje programy\vc98\include\new(27) : error C2059: syntax error : '}'
    d:\moje programy\vc98\include\new(28) : error C2061: syntax error : identifier 'nothrow'
    d:\moje programy\vc98\include\new(28) : error C2059: syntax error : ';'
    d:\moje programy\vc98\include\new(34) : warning C4229: anachronism used : modifiers on data are ignored
    d:\moje programy\vc98\include\new(34) : error C2061: syntax error : identifier 'delete'
    d:\moje programy\vc98\include\new(34) : error C2059: syntax error : ';'
    d:\moje programy\vc98\include\new(34) : error C2059: syntax error : 'type'
    d:\moje programy\vc98\include\new(35) : warning C4229: anachronism used : modifiers on data are ignored
    d:\moje programy\vc98\include\new(35) : error C2061: syntax error : identifier 'new'
    d:\moje programy\vc98\include\new(35) : error C2059: syntax error : ';'
    d:\moje programy\vc98\include\new(35) : error C2059: syntax error : 'type'
    d:\moje programy\vc98\include\new(36) : warning C4229: anachronism used : modifiers on data are ignored
    d:\moje programy\vc98\include\new(36) : error C2061: syntax error : identifier 'new'
    d:\moje programy\vc98\include\new(36) : error C2059: syntax error : ';'
    d:\moje programy\vc98\include\new(36) : error C2059: syntax error : 'type'
    d:\moje programy\vc98\include\new(41) : error C2054: expected '(' to follow 'inline'
    d:\moje programy\vc98\include\new(41) : warning C4229: anachronism used : modifiers on data are ignored
    d:\moje programy\vc98\include\new(41) : error C2085: 'operator' : not in formal parameter list
    d:\moje programy\vc98\include\new(41) : error C2146: syntax error : missing ',' before identifier 'new'
    d:\moje programy\vc98\include\new(41) : error C2143: syntax error : missing ';' before '('
    d:\moje programy\vc98\include\new(41) : error C2059: syntax error : ')'
    d:\moje programy\vc98\include\new(44) : error C2054: expected '(' to follow 'inline'
    d:\moje programy\vc98\include\new(44) : warning C4229: anachronism used : modifiers on data are ignored
    d:\moje programy\vc98\include\new(44) : error C2085: 'operator' : not in formal parameter list
    d:\moje programy\vc98\include\new(44) : error C2146: syntax error : missing ',' before identifier 'delete'
    d:\moje programy\vc98\include\new(44) : error C2143: syntax error : missing ';' before '('
    d:\moje programy\vc98\include\new(44) : error C2059: syntax error : ')'
    d:\moje programy\vc98\include\new(52) : error C2061: syntax error : identifier 'throw'
    d:\moje programy\vc98\include\new(52) : error C2059: syntax error : ';'
    d:\moje programy\vc98\include\new(52) : error C2059: syntax error : ')'
    d:\moje programy\vc98\include\iosfwd(24) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(24) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(71) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(71) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(73) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(73) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(74) : error C2061: syntax error : identifier 'wstreampos'
    d:\moje programy\vc98\include\iosfwd(74) : error C2059: syntax error : ';'
    d:\moje programy\vc98\include\iosfwd(76) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(76) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(137) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(137) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(176) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(176) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(215) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(215) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(217) : error C2061: syntax error : identifier 'ios_base'
    d:\moje programy\vc98\include\iosfwd(217) : error C2059: syntax error : ';'
    d:\moje programy\vc98\include\iosfwd(218) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(218) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(220) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(220) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(222) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(222) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(224) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(224) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(226) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(226) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(228) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(228) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(230) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(230) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(232) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(232) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(235) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(235) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(238) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(238) : error C2059: syntax error : '<'
    d:\moje programy\vc98\include\iosfwd(241) : error C2143: syntax error : missing '{' before '<'
    d:\moje programy\vc98\include\iosfwd(241) : fatal error C1003: error count exceeds 100; stopping compilation
    Error executing cl.exe.

    mm.obj - 102 error(s), 7 warning(s)
  • #6 6480363
    lord_dagoth
    Poziom 25  
    Posty: 860
    Pomógł: 68
    Ocena: 6
    Wkleiłeś dokładnie ten sam kod co powyżej? Jaki projekt stworzyłeś? I czemu dodałeś kod do pliku nagłówkowego?

    Stwórz nowy projekt, Console Application, wybierz żeby był pusty. Nastpnie do Source files dodaj nowy pusty plik, np. main.cpp i wklej do niego powyższy kod. Powinno śmigać.
  • REKLAMA
  • #7 6480603
    scalaktrafo
    Poziom 15  
    Posty: 183
    Pomógł: 7
    Ocena: 5
    Projekt stworzyłem z rozszerzeniem .c tak jak kolega napisał wyżej i wkleiłem drugą wersje kodu(krótszą) i wyskoczyło te 102 błędy.
    Teraz utworzyłem projekt z rozszerzeniem .cpp, wklejałem obydwa kody i wyskakuje 28 błędów.
  • #8 6480649
    redie
    Poziom 16  
    Posty: 169
    Pomógł: 25
    Ocena: 1
    Ja zrobiłem tak:
    - otworzyłem Visual C++ 2008 Express Edition
    - wybrałem File->New->Project...
    - na liście po lewej wybrałem WIN32, a po prawej "Win32 Console Application" oraz nadałem jakąś nazwę, np. NaRzymskie i wcisnąłem OK
    - pojawiło się drzewo plików po lewej - wybrałem NaRzymskie.cpp i zamieniłem to co tam było na poniższy kod...

    
    // NaRzymskie.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    
    
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    int liczba;
    
    void Napisz(int *liczba, int zakres,int m, char a, char b){
        while((*liczba)/zakres){
               cout << b;
               (*liczba)-=zakres; 
        }
        if ((*liczba)/(zakres-m)){
               cout << a << b;
               (*liczba)-=(zakres-m);
        } 
    }
    
    int main(int argc, char *argv[])
    {
        cout << "Podaj liczb: ";
        cin >> liczba;
        Napisz(&liczba,1000,100,'C','M');
        Napisz(&liczba,500,100,'C','D');
        Napisz(&liczba,100,10,'X','C');
        Napisz(&liczba,50,10,'X','L');
        Napisz(&liczba,10,1,'I','X');
        Napisz(&liczba,5,1,'I','V');
        for (int i=0; i<liczba; i++) cout << "I";
        cout << "\n";
        system("PAUSE");
    }
    


    i działa. Skompilowałem Ctrl+F9 i nie wiedziałem jak uruchomić (bo pierwszy raz tego używam) to zdebugowałem klawiszem F5 i się uruchomiło.
  • #9 6480680
    scalaktrafo
    Poziom 15  
    Posty: 183
    Pomógł: 7
    Ocena: 5
    Już prawie dobrze tylko teraz jeszcze jeden błąd został, jest jakiś kłopot z biblioteką "stdafx.h", wyświetla żę nie może otworzyć tego pliku

    Dodano po 9 [minuty]:

    #include <stdio.h>
    #include <string.h>
    
    struct Rzym_t
    {
      char *s;
      int w;
    };
    
    static const Rzym_t Rzym[]=
    {
      {"M",  1000},
      {"CM",  900},
      {"D",   500},
      {"CD",  400},
      {"C",   100},
      {"XC",   90},
      {"L",    50},
      {"XL",   40},
      {"X",    10},
      {"IX",    9},
      {"V",     5},
      {"IV",    4},
      {"I",     1},
    };
    
    const char *dectorom( int liczba )
    {
      int i;
      static char Rliczba[20];
      
      Rliczba[0] = '\0';
      
      for (i=0; liczba && i<sizeof(Rzym)/sizeof(Rzym[0]); i++)
      {
        while ( Rzym[i].w <= liczba )
        {
          strcat( Rliczba, Rzym[i].s );
          liczba -= Rzym[i].w;
        }
      }
      return Rliczba;
    }
    
    int main()
    {
      int liczba;
      
      printf("\n");
      printf("P7\n");
      printf("grupa C4\n\n");
      printf("\t\tProgram przeksztalca liczby arabskie na rzymskie.\n\n\n");
      
      
      for(;;) 
      {
        printf("Podaj liczbe arabska: ");
        
            scanf("%d", &liczba);
        
            if(liczba<1 || liczba>1159999) 
                    return 0;
        
            printf("\nLiczba Rzymska: %s\n\n", dectorom(liczba));
      }
      scanf("%d", &liczba);
    }



    Znalazłem coś takiego u mnie działa, byłbym bardzo wdzięczny kolegom za wytłumaczenie komend występujących w tym programie, bo do programu mam jeszcze zrobić sprawozdanie.
  • #10 6480750
    lord_dagoth
    Poziom 25  
    Posty: 860
    Pomógł: 68
    Ocena: 6
    Ehhh... mówiłem, najlepiej utwórz nowy pusty projekt, i dopiero do niego dodaj nowy plik z rozszerzeniem .cpp. W trakcie tworzenia, jeżeli jest zaznaczona (a nie powinna być w trakcie tworzenia Empty) opcja Pre-compiled headers to też ją odznacz.
    http://en.wikipedia.org/wiki/Precompiled_header
  • #11 6480831
    redie
    Poziom 16  
    Posty: 169
    Pomógł: 25
    Ocena: 1
    
    #include <stdio.h>		//zaimportowanie standoardowej biblioteki wejść i wyjść
    #include <string.h>     //zaimportowanie biblioteki obsługującej typ string
    
    struct Rzym_t			  //deklaracja własnej struktury o nazwie Rzym_t
    {				           //w tej strukturze znajdują się pola o nazwie
      char *s;			     //'s' i 'w' o typach odpowiednio char *, int 
      int w;
    };
    
    static const Rzym_t Rzym[]=	//deklaracja statycznej stałej tablicy o nazwie Rzym
    {				                 //której elementami są struktury Rzym_t
      {"M",  1000},			      //Powyższa struktura i ta tablica służą do
      {"CM",  900},			//tego by później w programie móc dostać
      {"D",   500},			//wartość "Rzymską" podając którąś z
      {"CD",  400},			//wartości arabskich (tak w skrócie).
      {"C",   100},
      {"XC",   90},
      {"L",    50},
      {"XL",   40},
      {"X",    10},
      {"IX",    9},
      {"V",     5},
      {"IV",    4},
      {"I",     1},
    };
    
    const char *dectorom( int liczba )	//definicja funkcji, która przekształca arabskie na rzymskie
    {
      int i;
      static char Rliczba[20];		//deklaracja tablicy znaków, tu będzie umieszczona liczba w 
     					                //postaci rzymskiej
      Rliczba[0] = '\0';			   //wpisanie wartości 0 oznacza koniec ciągu znaków, czyli tak jakby pusty ciąg znaków
     
      for (i=0; liczba && i<sizeof(Rzym)/sizeof(Rzym[0]); i++)	//pętla przechodząca po wszystkich elementach tablicy Rzym
      {
        while ( Rzym[i].w <= liczba )	//pętla while, która jest wykonywana gdy wartość pola 'w' (struktury Rzym_t) w elemencie
        {					                //nr 'i' w tabeli Rzym nie jest większa od liczby arabskiej.
          strcat( Rliczba, Rzym[i].s );	//ta funkcja (chyba) dopisuje liczbę rzymską, która jest odpowiednikiem liczby arabskiej z tabeli Rzym
          liczba -= Rzym[i].w;		//odejmowanie od liczby wertości która właśnie została przerobiona na rzymską.
        }					
      }
      return Rliczba;			//zwrócenie liczby w postaci rzymskiej
    }
    
    int main()			//tu się zaczyna główna funkcja
    {
      int liczba;
     
      printf("\n");			//wyświetlanie pierdułków :-)
      printf("P7\n");		
      printf("grupa C4\n\n");	
      printf("\t\tProgram przeksztalca liczby arabskie na rzymskie.\n\n\n");
     
     
      for(;;)			//wejście w nieskończoną pętlę
      {
        printf("Podaj liczbe arabska: ");	//wyświetlenie takstu
       
            scanf("%d", &liczba);		//wczytanie liczby z klawiatury
       
            if(liczba<1 || liczba>1159999)	//jeżeli wczytana liczba jest mniejsza od 1 lub większa od 1159999
                    return 0;		//to wyjdź z programu
       
            printf("\nLiczba Rzymska: %s\n\n", dectorom(liczba));	//wywołanie funkcji printf(), czyli
      }								//wyświetleni tekstu oraz wyniku który zwróci funkcja dectorom()
      scanf("%d", &liczba);			//wczytanie liczby? Chyba po to by program się nie zamknął sam
    }
    
  • #12 6480978
    scalaktrafo
    Poziom 15  
    Posty: 183
    Pomógł: 7
    Ocena: 5
    No to mam już program z objaśnieniem, wielkie dzięki chłopaki, pozdrawiam.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy tworzenia programu w języku C++ do konwersji liczb arabskich na rzymskie. Początkujący użytkownik potrzebował gotowego kodu i pomocy w zrozumieniu zasad programowania. Przedstawiono dwie propozycje kodu. Pierwszy kod oparty na pętlach i odejmowaniu wartości napotykał problemy z kompilacją w starszej wersji Visual Studio 6.0, związane z użyciem przestrzeni nazw (namespace) oraz strumieni wejścia/wyjścia (cout, cin). Sugerowano problemy z konfiguracją projektu (np. prekompilowane nagłówki stdafx.h) lub zapisaniem kodu w niewłaściwym pliku (.h zamiast .cpp). Drugi, bardziej zaawansowany kod wykorzystujący tablicę struktur z parami wartości arabskich i rzymskich oraz pętlę do iteracji, okazał się poprawny i rozwiązał problem kompilacji oraz funkcjonalności dla użytkownika.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA