Powinno działać

Powrót do listy wątków

Nie rozumiem co w moim kodzie nie działa. Chyba coś jest zbugowane. Chciałbym zobaczyć zestaw liczb, dla których mój kod nie zadziała

Kod źródłowy:
#include <iostream>
using namespace std;

int main()
{
   int ilu;
   cin>>ilu;
   int* wynik=new int[ilu];
   for(int a=0;a<ilu;a++)
    cin>>wynik[a];
    int podium[3]={0,0,0};
    podium[(wynik[1]>wynik[0])?0:1]=1;
   /* for(int q=0;q<3;q++)
        cout<<q<<" miejsce: "<<(char)(65+podium[q])<<"("<<wynik[podium[q]]<<")"<<endl;*/
    if(wynik[2]>wynik[0])
    {
        podium[2]=podium[1];
        podium[1]=podium[0];
        podium[0]=2;
    }
    else if(wynik[2]>wynik[1])
    {
        podium[2]=podium[1];
        podium[1]=2;
    }
    else
        podium[2]=2;
   /* for(int q=0;q<3;q++)
        cout<<q<<" miejsce: "<<(char)(65+podium[q])<<"("<<wynik[podium[q]]<<")"<<endl;*/
    for(short a=3;a<ilu;a++)
    {
        if(wynik[a]>wynik[podium[0]])
        {
            podium[2]=podium[1];
            podium[1]=podium[0];
            podium[0]=a;
        }
        else if(wynik[a]>wynik[podium[1]])
        {
            podium[2]=podium[1];
            podium[1]=a;
        }
        else if(wynik[a]>wynik[podium[2]])
        {
            podium[2]=a;
        }
      /*  for(int q=0;q<3;q++)
        cout<<q<<" miejsce: "<<(char)(65+podium[q])<<"("<<wynik[podium[q]]<<")"<<endl;*/
    }

   for(int a=0;a<3;a++)
   cout <<(char)(65+podium[a]);
   delete [] wynik;
    return 0;
}
Paweł Dymek, 2018-03-04 13:31:21