1 / 2
Sep 2017

Cześć, czemu kod działa tylko gdy wyrzucę ostatniego case’a?

#include <iostream>

using namespace std;
int a,b;
char dzialanie;
int main()
{
     //dynamiczna alokacja tablicy
    int *tab;
    tab=new int [10];
    int *wskaznik=tab;

    for(int i=0;i<10;i++){
        *wskaznik=0;
        wskaznik++;
    }

   while (cin>> dzialanie >> a >> b) {
        switch(dzialanie)
        {
        case '+' :
            cout<<tab[a]+tab[b]<<endl;
            break;
        case '-' :
            cout<<tab[a]-tab[b]<<endl;
            break;
        case '*' :
            cout<<tab[a]*tab[b]<<endl;
            break;
        case '/' :
            cout<<tab[a]/tab[b]<<endl;
            break;
        case '%' :
            cout<<tab[a]%tab[b]<<endl;
            break;
        case 'z' : tab[a]=b;break;
        }
    }
    delete [] tab;
    return 0;
}

Ok, sędzia zaakceptował kod, ale czemu mi się nie kompiluje? Gdy zamieniłem ‘z’ na coś innego, działało poprawnie.

  • created

    Sep '17
  • last reply

    Sep '17
  • 1

    reply

  • 534

    views

  • 2

    users

a ten znak znaku masz ’ ’ czy ‘ ’
bo to nie to samo.