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

jednorazowe wyświetlanie się wyniku

+1 głos
522 wizyt
pytanie zadane 12 lutego 2022 w C i C++ przez XDBX Użytkownik (640 p.)

Problem jest w tym ,że wynik pokazuje się do każdej liczby która jest wypisana

chce dojść do tego ,że gdy w tabeli pokażę się liczba nieparzysta to na końcu pokarze się wynik false 

a gdy w tabeli będą same liczby parzyste pokarze się wynik true

#include <iostream>

using namespace std;

int main()
{
 int calkowita[6];
int wynik;

for (int i=0; i<6; i++)
{
    cout << "Podaj liczbe [" << i+1<<"]:";
    cin >> calkowita[i];
}
for (int i=0; i<6; i++)
{

if(calkowita[i]%2!=0){

        cout<<"false"<<endl;
    }
    else if(calkowita[i]%2==0){
        cout<<"true"<<endl;
    }

}

 return 0;
}

na razie taki jest wynik mojego kodu

1 odpowiedź

+2 głosów
odpowiedź 12 lutego 2022 przez Mezeon Obywatel (1,670 p.)
wybrane 12 lutego 2022 przez XDBX
 
Najlepsza

Dzieje się tak, ponieważ iterując po tablicy calkowita wypisujesz wynik za każdym razem. W dodatku nie musisz przechodzić zawsze przez całą pętlę, ale do czasu napotkania liczby nieparzystej:

for (int i=0; i<6; i++)
{
 
if(calkowita[i]%2!=0){
 
        cout<<"false"<<endl;
        return 0;
    }
}

cout << "true" << endl;

Gdy program nie napotka liczby nieparzystej, to warunek z instrukcji warunkowej w pętli nigdy nie będzie prawdziwy i zostanie wypisane true.

2
komentarz 12 lutego 2022 przez XDBX Użytkownik (640 p.)
dziękuje za odpowiedź i wytłumaczenie
1
komentarz 13 lutego 2022 przez VBService Ekspert (256,580 p.)

@Mezeon; @XDBX; jeśli byśmy chcieli dalej gdzieś w kodzie użyć "to sprawdzenie" proponuję tak np.

 

propozycja  [ on-line ]

#include <iostream>
 
using namespace std;
 
int main()
{
    int calkowita[6];

    for (int i=0; i<6; i++)
    {
        cout << "Podaj liczbe [" << i+1 << "]:";
         cin >> calkowita[i];
    }   

    bool is_calkowita = true;
    for (int i=0; i<6; i++)
    {
        if(calkowita[i]%2 !=0) {
            is_calkowita = false;
            break; // wyjście tylko z pętli for
        }
    }
 
   // dalsza część kodu
    cout << ((is_calkowita) ? "true" : "false") << endl;
 
    return 0;
}

 

Podobne pytania

0 głosów
2 odpowiedzi 2,847 wizyt
pytanie zadane 25 października 2019 w C i C++ przez j4nsk Nowicjusz (160 p.)
0 głosów
1 odpowiedź 8,337 wizyt
pytanie zadane 24 stycznia 2017 w JavaScript przez Michał_Warmuz Mądrala (5,830 p.)
0 głosów
2 odpowiedzi 1,473 wizyt
pytanie zadane 24 września 2016 w JavaScript przez Bartosz Umiński Początkujący (270 p.)

93,742 zapytań

142,678 odpowiedzi

323,297 komentarzy

63,327 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.

...