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

Programowanie C++

+1 głos
119 wizyt
pytanie zadane 18 listopada 2021 w C i C++ przez Olafisz Nowicjusz (160 p.)

Napisz program w c++ który wylosuje 20 losowych liczb i wypisze wszystkie parzyste i wszystkie nieparzyste z przedziału wylosowanych liczb. Na chwilę obecną mam tyle i zastanawiam się jak wypisać te liczby.

#include <iostream>
#include <time.h>
#include <windows.h>
using namespace std;
int a,parzyste,nieparzyste,ilosc;

int main()
{
    for(ilosc==0;ilosc<=3 ;ilosc++)
    {
         srand(time(NULL));
         a=rand()%100;
         Sleep(1000);
         cout<<a<<endl;
         
         if(a%2==0)
         {
            a==parzyste;
         }
        else
        {
            a==nieparzyste;
        }

       
    }


    return 0;
}

 

komentarz 18 listopada 2021 przez TOM_CPP Pasjonat (20,700 p.)

Treść zadania jest trochę pokręcona.

  • brak informacji jakie liczby są losowane ( naturalne czy wymierne )
  • brak zakresu z którego liczby są losowane.
  • nie wiadomo w jaki sposób zdefiniowany jest przedział dla wylosowanych liczb.
komentarz 18 listopada 2021 przez Oscar Pasjonat (22,170 p.)
(Nie)Parzystość to cecha liczb naturalnych/całkowitych.

Do autora - skoro masz je wyświetlić oddzielnie jakoś musisz je wszystkie zapamiętać. Skoro masz podaną ilość liczb (liczba liczb brzmi głupio) to to najprościej użyć tabelki.

Możesz je podzielić na dwa zbiory od razu, możesz też trzymać razem wszystkie i raz wyświetlić jedne, raz drugie.

1 odpowiedź

0 głosów
odpowiedź 19 listopada 2021 przez VBService VIP (144,010 p.)
edycja 19 listopada 2021 przez VBService
  • Staraj się unikać używania zmiennych globalnych, jeśli to tylko możliwe
      
    ...
    #include <windows.h>
    using namespace std;
    int a,parzyste,nieparzyste,ilosc;
     
    int main() ...

    Zasięg zmiennych w języku C++. Zmienne globalne i zmienne lokalne.
      

  • funkcję srand(...); należy wywołać tylko raz na samym początku programu i od tego momentu możemy cieszyć się pseudolosowością liczb całkowitych w naszym programie, więc nie ma potrzeby umieszczania jej w pętli.
     

    Od powyższej reguły można stosować wyjątki, jednak wymagana jest świadomość co ta funkcja tak na prawdę robi.

     

    ...
    for(ilosc==0;ilosc<=3 ;ilosc++)
        {
             srand(time(NULL));
             a=rand()%100;
    ...

    Pseudolosowe liczby całkowite - Konfiguracja maszyny losującej
      

  • znak == służy do porównywania wartości, a nie do przypisywania wartości do zmiennej
      

    ...
    for(ilosc==0; ...
    
    a==parzyste;
    ...

    Operacje porównania

 

 

wypisze wszystkie parzyste i wszystkie nieparzyste

do tego możesz użyć np. zmienną typu string i łączenie tekstów.

 

propozycja  [ on-line ]

#include <iostream>
#include <time.h>

using namespace std;

int main()
{
    srand(time(NULL));
    
    string parzyste="", nieparzyste="";
    int losowa;
    
    for(int ilosc=0; ilosc<=20; ilosc++)
    {
        losowa = rand()%100;

        if(losowa%2 == 0)
            parzyste += to_string(losowa) + " ";
        else
            nieparzyste += to_string(losowa) + " ";
    }
 
 
    cout << "   Parzyste: " << parzyste << "\n"
         << "Nieparzyste: " << nieparzyste << endl;
 
    return 0;
}

 

Podobne pytania

–1 głos
4 odpowiedzi 153 wizyt
pytanie zadane 13 maja 2021 w C i C++ przez Eriss69 Gaduła (4,050 p.)
0 głosów
0 odpowiedzi 188 wizyt
pytanie zadane 2 grudnia 2020 w C i C++ przez Karina126 Początkujący (280 p.)
0 głosów
1 odpowiedź 79 wizyt
pytanie zadane 3 listopada 2020 w C i C++ przez milosz123 Użytkownik (720 p.)

86,448 zapytań

135,207 odpowiedzi

300,348 komentarzy

57,196 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...