• 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
466 wizyt
pytanie zadane 2 listopada 2021 w C i C++ przez anteq69 Początkujący (260 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 Mentor (355,160 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 Mentor (355,160 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 Początkujący (260 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
1 odpowiedź 356 wizyt
pytanie zadane 13 sierpnia 2024 w C i C++ przez Hesoyam Obywatel (1,100 p.)
0 głosów
0 odpowiedzi 536 wizyt
pytanie zadane 4 stycznia 2022 w C i C++ przez Arkadiusz Grządziel Nowicjusz (120 p.)

93,754 zapytań

142,715 odpowiedzi

323,363 komentarzy

63,349 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...