Problem z napisanym program [Tablice, pętle, if else] Liczby parzyste i nieparzyste
Ostatnio zmodyfikowano 2017-05-12 18:56
JoyEn12 Temat założony przez niniejszego użytkownika |
Problem z napisanym program [Tablice, pętle, if else] Liczby parzyste i nieparzyste » 2017-05-12 18:08:39 Miałem zamiar stworzyć program któremu podam liczbę cyfr. Następnie program każe mi wpisać tyle cyfr ile kazałem mu na początku np. Podałem liczbe cyfre 10 i potem podaje 10 cyfr po kolei. Kiedy to zrobię program wyświetla te liczby i mówi która jest parzysta a która niepatrzysta. Problem w tym nie wszystko działa poprawnie do póki liczba cyfr nie jest większa niż 6. Nie ważne czy wpisze 60 czy 600 maksymalnie zawsze moge wpisać 6 cyfr czego to jest wina ? #include <iostream>
int main() { int a; int liczba[ a ]; int licznik = 0; std::cout << "Podaj liczbe cyfr" << std::endl; std::cin >> a; do { std::cin >> liczba[ licznik ]; licznik++; } while( licznik < a ); std::cout << "Podales nastepujace liczby: " << std::endl; licznik = 0; do { if( liczba[ licznik ] % 2 == 0 ) { std::cout << liczba[ licznik ] << "=parzysta" << std::endl; } else { std::cout << liczba[ licznik ] << "= nieparzysta" << std::endl; } licznik++; } while( licznik < a ); return 0; } |
|
karambaHZP |
» 2017-05-12 18:56:06 To jest niepoprawne w C++. Rozmiar musi być constexpr . Poza tym ponownie wprowadzasz wartość do zmiennej a i tutaj zaczynają sie schody. Jeśli chcesz mieć tablicę o rozmiarze ustalanym w czasie trwania programu użyj std::vector lub dynamicznie alokuj pamięć na tablicę new i delete. Edit: umknęło mi. Wartość a jest nieokreślona przed deklaracją tablicy co jest UB. |
|
« 1 » |