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

kod w c++, błąd kompilacji i niedziałająca instrukcja for

0 głosów
141 wizyt
pytanie zadane 2 listopada 2021 w C i C++ przez anteq69 Nowicjusz (240 p.)

Mam problem z kodem, aczkolwiek podczas próby przesłania zadania na oij wyświetlił mi się "błąd". Nie wiem na czym polega problem z moim kodem i dlaczego ostatni for się nie wykonuje. Prosiłbym, by mi ktoś przeanalizował ten kod i powiedział co jest z nim nie tak.

#include <iostream>
using namespace std;
int nr[21];

int main()
{

   // ios_base::sync_with_stdio;
   // cin.tie(0);
   // cout.tie(0);

    int n,maxx = 0,licznik=0,A=0,wyg = 0;
    string karty;
    cin >> n;
    for (int i = 0;i<=21;i++)
    {
        nr[i]=0;
    }


    for (int i = 0; i < n;i++)
    {

        cin >> karty;

        //ciag kart
        for (int j = 0;j < karty.size();j++)
        {
                if(karty[j] == '2')
                {
                    licznik += 2;
                }
                if(karty[j] == '3')
                {
                    licznik += 3;
                }
                if(karty[j] == '4')
                {
                    licznik += 4;
                }
                if(karty[j] == '5')
                {
                    licznik += 5;
                }
                if(karty[j] == '6')
                {
                   licznik += 6;

                }
                if(karty[j] == '7')
                {
                    licznik += 7;
                }
                if(karty[j] == '8')
                {
                    licznik += 8;
                }
                if(karty[j] == '9')
                {
                    licznik += 9;
                }

                if(karty[j] == 'T')
                {
                    licznik += 10;
                }
                if(karty[j] == 'J')
                {
                    licznik += 10;
                }
                if(karty[j] == 'Q')
                {
                    licznik += 10;
                }
                if(karty[j] == 'K')
                {
                    licznik += 10;
                }
                 if(karty[j] == 'A')
                {
                    A += 1;
                    licznik += 1;
                }


        }


        //dobieranie asow korzytsnie dla gracza
        if (licznik + 10 <= 21 && A>0)
        {
            licznik = licznik + 10;
        }

       //sprawdzanie czy wygrany
        if (licznik == maxx)
        {
            wyg += 1;
        }
        if (licznik > maxx && licznik <= 21)
        {
            maxx = licznik;
            wyg = 1;
            for (int g = 0;g <=21;g++)
            {
                nr[g] = 0;
            }
            nr[i] == 1;
        }
        A = 0;
        licznik = 0;
    }
    cout << wyg << "\n";
    for (int k = 0;k <= 20;k++)
    {
        if (nr[k]==1)
        {
            cout << k << " ";
        }
    }
}

 

komentarz 2 listopada 2021 przez adrian17 Ekspert (319,440 p.)

Pomijając inne możliwe błędy...

nr[i] == 1;

To nic nie robi :)

1 odpowiedź

+1 głos
odpowiedź 2 listopada 2021 przez adrian17 Ekspert (319,440 p.)
int nr[21];
// ...
    for (int i = 0;i<=21;i++)
    {
        nr[i]=0;
    }

Tak się nie indeksuje; wychodzisz poza tablicę.

(to błąd działania programu a nie kompilacji; jesteś pewien że to problem z kompilacją?)

komentarz 2 listopada 2021 przez anteq69 Nowicjusz (240 p.)
dzięki! Właśnie nie byłem pewien, czy to błąd kompilacji czy po prostu programu

Podobne pytania

0 głosów
0 odpowiedzi 49 wizyt
–1 głos
3 odpowiedzi 88 wizyt
pytanie zadane 8 listopada 2021 w Offtop przez defałlt juzer Początkujący (460 p.)

87,916 zapytań

136,502 odpowiedzi

304,328 komentarzy

58,291 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...