[C++] Łapanie much w danym czasie

agnieszka043
Użytkownik
Użytkownik
Posty: 15
Rejestracja: 15 gru 2019, o 20:24
Płeć: Kobieta
wiek: 19

[C++] Łapanie much w danym czasie

Post autor: agnieszka043 »

Mam zadanie do wykonania w code blocks w jezyku c++, moim problemem jest rozszyfrowanie zadania z punktu matematycznego, prosilabym o pomoc..
ZAD:(*) Wytresowana żaba jest w stanie po dokładnie 50 sekundach złapać pierwszą muchę, a
każdą następną po dokładnie 40 sekundach (tzn., że trzecia mucha zostanie złapana w
50+40+40=130 sekundzie). Napisać program, który od użytkownika pobierze ilość
wytresowanych żab i czas w minutach, w którym żaby łapią muchy. Należy wypisać na
ekranie informację ile łącznie much złapią wszystkie wytresowane żaby.
Ostatnio zmieniony 26 lut 2020, o 14:17 przez Afish, łącznie zmieniany 1 raz.
Powód: Nieregulaminowa nazwa tematu.
Dudenzz
Użytkownik
Użytkownik
Posty: 93
Rejestracja: 8 mar 2009, o 18:21
Płeć: Mężczyzna
Pomógł: 19 razy

Re: [C++] Łapanie much w danym czasie

Post autor: Dudenzz »

Jakiego rodzaju pomocy oczekujesz, czego nie umiesz?

Edit:
Niedokładnie przeczytałem.

Jedna żaba łapie jedną muchę przez 40 sekund, przy czym, za pierwszym razem potrzebuje 10 sekund na przygotowanie i wtedy łapie muchę 10 sekund dłużej. Co za tym idzie, czas łapania much \(\displaystyle{ t_z}\) jest przekształcany na liczbę złapanych \(\displaystyle{ n_z}\) much przez jedną żabę, zgodnie ze wzorem \(\displaystyle{ n_z = floor((t_z-10)/40)}\) (od całkowitego czasu odejmuję 10 sekund potrzebne na przygotowanie, po czym dzielę pozostały czas przez czas potrzebny na złapanie jednej muchy; otrzymuję ułamek - ze względu na to że "ostatniej muchy" jeszcze nie udało mi się złapać, biorę tylko część całkowitą tego ułamka), zatem całkowita liczba złapanych much \(\displaystyle{ n}\), przez \(\displaystyle{ z}\) żab może zostać obliczona jako \(\displaystyle{ n = z \cdot n_z = z \cdot floor((t_z-10)/40)}\) (liczbę żab mnożę przez liczbę much złapanych przez jedną żabę).
agnieszka043
Użytkownik
Użytkownik
Posty: 15
Rejestracja: 15 gru 2019, o 20:24
Płeć: Kobieta
wiek: 19

Re: [C++] Łapanie much w danym czasie

Post autor: agnieszka043 »

halo
a4karo
Użytkownik
Użytkownik
Posty: 22210
Rejestracja: 15 maja 2011, o 20:55
Płeć: Mężczyzna
Lokalizacja: Bydgoszcz
Podziękował: 38 razy
Pomógł: 3755 razy

Re: [C++] Łapanie much w danym czasie

Post autor: a4karo »

agnieszka043 pisze: 1 mar 2020, o 11:46halo
Piłka jest po Twojej stronie. Coś musisz napisać (nie licz na gotowca)
agnieszka043
Użytkownik
Użytkownik
Posty: 15
Rejestracja: 15 gru 2019, o 20:24
Płeć: Kobieta
wiek: 19

Re: [C++] Łapanie much w danym czasie

Post autor: agnieszka043 »

przeciez napisalam, że wiem jak zrobic tylko nie wiem jaki wzor wziac na tą ilośc much

Dodano po 21 minutach 44 sekundach:
gdzie jest blad?

Kod: Zaznacz cały

    int zaba,czas,muchy;
    printf("Jaka jest ilosc wytresowanych zab=");
    scanf ("%d", &zaba);
    printf("Podaj czas w minutach=");
    scanf ("%d", &czas);
    muchy=((czas-0.16666666666667)/(40*0.016666666666667))*zaba; //Minuty = Sekundy *0.016666666666667
    printf ("muchy=%d", &muchy);
Dodano po 15 minutach 43 sekundach:
a4karo pisze: 1 mar 2020, o 12:33
agnieszka043 pisze: 1 mar 2020, o 11:46halo
Piłka jest po Twojej stronie. Coś musisz napisać (nie licz na gotowca)
wyzej napisałam
Ostatnio zmieniony 1 mar 2020, o 13:11 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Ponury123
Użytkownik
Użytkownik
Posty: 128
Rejestracja: 5 lip 2015, o 14:48
Płeć: Mężczyzna
Lokalizacja: nie wiem
Podziękował: 11 razy
Pomógł: 24 razy

Re: [C++] Łapanie much w danym czasie

Post autor: Ponury123 »

na pewno tutaj

Kod: Zaznacz cały

czas-0.16666666666667
poza tym darowałbym sobie to 0.16666666666667, po to masz język i odpowiednie typy zmiennych żeby arytmetykę liczb zmiennoprzecinkowych zostawić jemu. Zamieniłbym minuty na sekundy i operował na nich.

Wzór, który zaimplementowałaś ni jak ma się do wzoru przestawionego powyżej, od podanego czasu miałaś odjąć 10 sekund, a nie \(\displaystyle{ \frac{1}{60}}\) i to podzielić przez 40(sekund). Zamiast tego dzielisz przez \(\displaystyle{ 40 \cdot \frac{1}{60} }\).
ODPOWIEDZ