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

jednorazowe wyświetlanie się wyniku

Object Storage Arubacloud
+1 głos
302 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,550 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 (253,420 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 1,869 wizyt
pytanie zadane 25 października 2019 w C i C++ przez j4nsk Nowicjusz (160 p.)
0 głosów
1 odpowiedź 7,281 wizyt
pytanie zadane 24 stycznia 2017 w JavaScript przez Michał_Warmuz Mądrala (5,830 p.)
0 głosów
2 odpowiedzi 1,073 wizyt
pytanie zadane 24 września 2016 w JavaScript przez Bartosz Umiński Początkujący (270 p.)

92,583 zapytań

141,434 odpowiedzi

319,669 komentarzy

61,966 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...