Chciałem sobie napisać program w C++ wyznaczający jakąś ilość czterocyfrowych kodów PIN, w ramach ćwiczeń na studia. Program się kompiluje ale wypisuje error jak na screenie. Ktoś mógłby podpowiedzieć co jest źle bo szukałem w necie ale nie rozumiem chyba i tak.
@423frewq4f23: Oto lista poprawek, które wprowadziłem:
Dodałem nagłówek <string>, ponieważ używasz typu std::string. Zmieniłem zmienną komb na stałą (const int komb), ponieważ rozmiar tablicy PINY powinien być ustalony na etapie kompilacji. W pętli for zamieniłem warunek k <= komb na k < komb, ponieważ indeksy tablicy zaczynają się od 0, a nie
@423frewq4f23: Bo odwolujesz się do elementu tablicy poza zakresem. Jak tablica ma 100 elementów( int i[100] ) to ostatni element ma index 99 a nie 100 a używając <= probujesz dostać się do tego 100 nieistniejącego elementu a nie do 99
https://pastebin.com/81AXy0Um
#pytanie #programowanie #cpp #kiciochpyta #informatyka
źródło: cpp
PobierzW tym pierwszym for'ze nie widzę zamykającego }, ale to moze mi się tak zle na telefonie wyświetla po prostu
#include <cstdlib>
#include <ctime>
std::string PIN;
std::string
Oto lista poprawek, które wprowadziłem:
Dodałem nagłówek <string>, ponieważ używasz typu std::string.
Zmieniłem zmienną komb na stałą (const int komb), ponieważ rozmiar tablicy PINY powinien być ustalony na etapie kompilacji.
W pętli for zamieniłem warunek k <= komb na k < komb, ponieważ indeksy tablicy zaczynają się od 0, a nie
{yesornot = 1;
break;}else {yesornot = 0; k=k-1;}
Na:
if(PINY[i]==PIN)
{yesornot
Bo odwolujesz się do elementu tablicy poza zakresem.
Jak tablica ma 100 elementów( int i[100] ) to ostatni element ma index 99 a nie 100 a używając <= probujesz dostać się do tego 100 nieistniejącego elementu a nie do 99
Komentarz usunięty przez autora