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

Wypisanie liczb parzystych z przedziału podanego przez użytkownika

0 głosów
10,619 wizyt
pytanie zadane 23 lutego 2020 w C i C++ przez mareczek Nowicjusz (170 p.)
Napisz program, który wypisze wszystkie liczby parzyste z przedziału podanego przez
użytkownika.
Specyfikacja:
Dane:
M, N: liczby całkowite oznaczające odpowiednio początek i koniec przedziału, M<=N
Wynik:
Ciąg liczb parzystych zawartych w przedziale <M,N>

Mógłby ktoś mi to wytłumaczyć? Jak to napisać?
komentarz 23 lutego 2020 przez DragonCoder Nałogowiec (36,500 p.)
1. Petla for zaczynajac sie od poczatku przedzialu do jego konca i sprawdzajac kazda liczbe pokolei, czy jest podzielna przez 2 bez reszty (modulo) i zapisywac do vectora

2. Zobaczyc, czy podana liczba jest parzysta, jesli nie to dodac 1, zeby byla parzysta i od tego moementu dodawac 2 az do konca przedzialu. Czyli przedzial to 9 do 50, wiec dodajesz 1 bo nie jest to liczba parzysta, wychodzi parzysta czyli 10 i od tego moementu dodajesz + 2 az do 50

 

Pierwszy sposob jest chyba lepszy niz 2 i mniej skomplikowany
komentarz 24 lutego 2020 przez manjaro Nałogowiec (37,420 p.)
No ja bym poiwiedział że pierwszy sposób jest fatalny ;)

2 odpowiedzi

0 głosów
odpowiedź 23 lutego 2020 przez W0L1N Nowicjusz (240 p.)
edycja 23 lutego 2020 przez W0L1N
No to tak:

1. Przypisz wartości do M,N

2. Sprawdzaj po kolei każdą liczbę czy jest parzysta ,jeśli tak , wypisz.

Prosty algorytm. Ja bym utworzył pętlę for w której i=M a w warunku byłoby i<=N (w ten sposób sprawdzasz każdy element od M do N włącznie z nimi). W pętli napisałbym warunek ,który sprawdza czy dana liczba (i) jest parzysta(i%2==0).Jeśli tak, to trzeba ją wypisać.

Nie podaję kodu bo od gotowych odpowiedzi człowiek niczego się nie nauczy

Mam nadzieję ,że pomogłem :)
0 głosów
odpowiedź 24 lutego 2020 przez JakubSz Nowicjusz (200 p.)
#include <iostream>

using namespace std;

int main()
{
int n;
int m;

  cout<<"Wprowadz m: ";
  cin>>m;
  cout<<"Wprowadz n: ";
  cin>>n;

if(m<=n){
  for(int i=m; i<=n; i++)
      if(i%2==0)
        cout<<i<<" ";
}
else
    cout<<"Podany przedzial jest nieprawdlowy";

  return 0;
}

Podobne pytania

0 głosów
1 odpowiedź 1,306 wizyt
+1 głos
1 odpowiedź 1,172 wizyt
pytanie zadane 4 listopada 2020 w C i C++ przez Wolv63 Użytkownik (630 p.)
+1 głos
1 odpowiedź 1,849 wizyt

93,772 zapytań

142,730 odpowiedzi

323,382 komentarzy

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

...