5 / 5
May 2017

Witam. Mam standardowy problem. Mianowicie wg mnie program działa jak należy a sędzia i tak wyrzuca błędną odpowiedź.
Proszę rzućcie okiem na mój kod i nakierujcie co jest nie tak :slight_smile:
` #include

using namespace std;

int rejestr[10];
char dzialanie;
int nr_rejestru;
int liczba;
int wynik;

int main()
{

for(int i=0; i<10; i++)
{
    rejestr[i]=0;
}

for(int j=0; j<10; j++)

 while(cin>>dzialanie>>nr_rejestru>>liczba)
{
    switch (dzialanie)
    {
        case 'z':
            rejestr[nr_rejestru] = liczba;
            break;
            
        case '+':
            wynik=rejestr[nr_rejestru]+rejestr[liczba];
            cout<<wynik<<endl;
            break;
            
        case '-':
            wynik=rejestr[nr_rejestru]-rejestr[liczba];
            cout<<wynik<<endl;
            break;
            
        case '*':
            wynik=rejestr[nr_rejestru]*=rejestr[liczba];
            cout<<wynik<<endl;
            break;
            
        case '/':
            wynik=rejestr[nr_rejestru]/rejestr[liczba];
            cout<<wynik<<endl;
            break;
            
        case '%':
            wynik=rejestr[nr_rejestru]%rejestr[liczba];
            cout<<wynik<<endl;
            break;
            
        default:
            break;
    }
}

return 0;

}
`

  • created

    Oct '16
  • last reply

    May '17
  • 4

    replies

  • 1.4k

    views

  • 4

    users

Błędną linijkami są:
wynik=rejestr[nr_rejestru]*=rejestr[liczba];
oraz druga, druga linijka:
for(int j=0; j<10; j++)

PS

NIe powoduje to błędu, ale
Nawiasem mówiąc, zerowanie zmiennych [tablic też] globalnych jest zbędne.

Oraz
instrukcje cout<<wynik<<endl;mógłbyś przenieć poza swicha lub zrezygnować ze zmiennej wynik i od razu wypisywać np:
cout << rejestr[nr_rejestru]-rejestr[liczba] << endl

6 months later

Cześć, podpowie mi ktoś dlaczego sędzia nie chce mi tego przepuścić? wyciete

Proponuję sztuczkę programistyczną w miejsce analizy informatycznej czy o zgrozo matematycznej (ale chyba tu nie ma problemu bo Twój algorytm wydaje się być ok). Samą analizę, której mi nie chce się przeprowadzać, pozostawiam Tobie :wink:

Skompiluj program używając gcc 6.3 a nie 4.3.2. Będzie AC :slight_smile: