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

Pętla while i ify C++

Aruba Cloud - Virtual Private Server VPS
0 głosów
203 wizyt
pytanie zadane 17 października 2024 w C i C++ przez deszcz_b123 Nowicjusz (140 p.)

Hejka, potrzebuję pomocy przy zadaniu. Treść:

Napisać program, który wczytuje liczby całkowite aż do wczytania liczby podzielnej
przez M (M- stała) i zarazem większej od obu poprzedników. Wydrukować średnią
wszystkich wczytanych liczb dwucyfrowych.

 

Zobaczcie co napisałem, ale jakoś tym liczbom dwucyfrowym źle średnią liczy. I nie wiem jak zaznaczyć, żeby liczba była większa od dwóch poprzedników. Pomóżcie pls.

 

#include <iostream>
#include <cmath>

using namespace std;

int main()
{

    int k;
    int suma=0;
    int ilosc=0;

    while(true){

    cout << "Podaj swoje liczby: " << endl;
    cin >> k;

    if(k%3==0)
        {
        break;
    }

  }


  if(k>=10){

        suma = suma + k ;
        ilosc ++;

        cout << "Srednia liczb dwucyfrowych: "<< double(suma)/ilosc <<endl;

    }

return 0;
}

 

komentarz 17 października 2024 przez VBService Ekspert (256,600 p.)

... liczbom dwucyfrowym źle średnią liczy

"wrzuć" tego if-a

        if (k >= 10) 
        {
            suma += k;
            ilosc++;
        }

do pętli while

#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
    int k=0, suma=0, ilosc=0;
 
    while (true)
    {
        cout << "Podaj swoje liczby: " << endl;
        cin >> k;
 
        if (k >= 10) 
        {
            suma += k;
            ilosc++;
        }
        
        if (k%3 == 0)
        {
            break;
        }
     }
 
    if (suma > 0)
    {
        cout << "Srednia liczb dwucyfrowych: " << double(suma) / ilosc << endl;
    }
    
    return 0;
}

 

komentarz 18 października 2024 przez Oscar Nałogowiec (29,340 p.)
Liczba dwucyfrowa ma też ograniczenie od góry, bo inaczej będzie trzy- lub więcej cyfrowa.

Jeszcze jest jedno niezrealizowane założenie - liczba kończąca ma być większa od dwóch poprzednich (trzeba pamiętać te dwie poprzednie). Z tego wniosek, że 2 pierwsze liczby są traktowane inaczej. I tutaj niesprecyzowane jest jak - czy np. trzeba koniecznie wczytać te 2 liczby, czy wystarczy że jedna jest podzielna i można wyjść.

Liczenie średniej wymaga sprawdzenia, czy była przynajmniej jedna liczba dwucyfrowa.

No i to M ma być stałą (w domyśle zadeklarowaną #definem lub const gdzieś na początku), a nie literałem w środku kodu.
komentarz 19 października 2024 przez deszcz_b123 Nowicjusz (140 p.)
Okej, to z tym ograniczeniem od góry to rozumiem. Tylko z tymi dwoma poprzednimi liczbami nie wiem co zrobić. Po prostu robię to od miesiąca , walczę z tym zadaniem  i wiele nie rozumiem.
komentarz 19 października 2024 przez deszcz_b123 Nowicjusz (140 p.)

@VBService, O teraz fanie tą średnią liczy , tylko wyskakuje po każdym wpisaniu liczby, da się to zrobić tak żeby średnią wyliczyło i pokazało dopiero na koniec? 

 

komentarz 21 października 2024 przez Oscar Nałogowiec (29,340 p.)
Tak działa ten cały program wrzucony przez @VBService pod koniec komentarza.
komentarz 21 października 2024 przez deszcz_b123 Nowicjusz (140 p.)
A oki, ja nie ogranąłem sorry

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 186 wizyt
pytanie zadane 25 października 2024 w C i C++ przez deszcz_b123 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 1,068 wizyt
pytanie zadane 27 maja 2018 w Python przez El Lirón Obywatel (1,350 p.)
+1 głos
0 odpowiedzi 278 wizyt

93,327 zapytań

142,323 odpowiedzi

322,397 komentarzy

62,658 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...