matematykaszkolna.pl
programowanie [C] Tesla: Język C. Napisz program który będzie wymagał od użytkownika wprowadzenia kwoty pieniężnej ,a następnie pokazywał jak można taka kwotę złożyć z możliwie malej liczby banknotów o nominale 1,2,5,10,20 #include <stdio.h> float main(void) { float kwota, inne zmienne...; printf("podaj kwote: "); scanf("%d", &kwota) ..... jak to wykombinować dalej..program musialby kwote dzielic odpowiednio przez nominaly najwieksze czyli zaczynac od 20, ale nie wiem jak to zrobić żeby później reszte z dzielenia dzielil i sprawdzal dla banknotów o nizszym nominale.
11 lut 00:28
Tesla: int main(void)*
11 lut 00:29
Trivial: Używaj intów. Arytmetyka liczb całkowitych załatwia sprawę. Mamy zależność: r = k/n ← dzielenie całkowitoliczbowe. gdzie n − bieżący nominał k − bieżąca kwota r − potrzebna ilość nominału n Aby wyznaczyć następną kwotę możemy napisać: k' = k − r*n. I to w zasadzie wszystko czego Ci potrzeba. Próbuj.
11 lut 01:15
Tesla: okej dzięki wielkie ! emotka
11 lut 12:26
Tesla: omg podałeś mi jak na tacy a dalej nie umiem tego zrobić..myśle że programowanie ma to do siebie że urzeczywistnienie nawet najbardziej oczywistego pomysłu jest znakomita definicja słowa frustracja. Jak to powinno wyglądać w czerwonym polu? Ogólna struktura mojego programu wygląda tak: #include <stdio.h> int main(void) { int podanasuma, dwadziescia, dziesiec, piec, jeden ; printf("podaj sume pieniedzy:"); scanf("%d", &podanasuma); dwadziescia = (podanasuma / 20); printf("banknoty 20: %d\n", dwadziescia); dziesiec = ( wzór na kolejne kwoty ); printf("banknoty 10: %d\n", dziesiec); piec = ( ); printf("banknoty 5: %d\n", piec); jeden =( ); printf("banknoty 1: %d\n", jeden); return 0; }
14 lut 18:00
Trivial: Hm... Tu aż prosi się o pętlę. Napisałem ten programik. emotka Zerknij: http://ideone.com/x1L7vY
14 lut 23:44
Tesla: ok spoko,dziękuje Ci, do pętli jeszcze nie dotarłem, ale jest blisko, naucze się i przeanalizuję emotka To dopiero 3 program więc kaleczę niemiłosiernie język C Od czegoś trzeba zacząć.
15 lut 01:00
Trivial: W takim razie wyciąłem wszystko co mogło sprawić problem: http://ideone.com/A6OJEJ bloki { } oznaczają zasięg zmiennych (n z pierwszego bloku to zupełnie inna zmienna niż n z drugiego bloku, itd − one się nie widzą emotka)
15 lut 01:11
tn: pachnie tutaj problemem wydawania reszty! Programowanie dynamiczne! Potrafisz wydać 0 zł..... Jeśli będzie potrzeba spróbuję jutro pomóc. Pozdrawiam.
15 lut 01:15
Trivial: tn, algorytm zachłanny jest jeszcze lepszy niż programowanie dynamiczne. emotka
15 lut 01:17
tn: ale czy zawsze ta dobry wynik ?
15 lut 01:20
Trivial: W tym wypadku tak. Algorytm zachłanny przy wydawaniu reszty nie działa tylko dla "dziwnych" nominałów. Z tego co pamiętam, normalne nominały: (1,2,5,10,20,50,100,200) są ok.
15 lut 01:26
tn: W takim razie moje niedopatrzenie. Masz oczywiscie rację, że zachłann będzie tutaj lepszy emotka pozdro. @Trivial, jakie są prog na infe na AGH? Pisałe maturę z inf?
15 lut 01:28
Trivial: Matury z inf nie pisałem. Na AGH chyba każdy wydział ma kierunek z informatyką w nazwie, więc musisz najpierw zastanowić się gdzie pójść (albo zobaczyć progi dla wszystkich kierunków). emotka
15 lut 01:30
Tesla: z pętlami to lepiej wygląda, tylko to ćwiczenie zostało trochę przed pętlami podane Ale dziękuje strasznieemotka W książce troche późno wprowadzają pętle a dają zadania w których pętle uprościłby życie
15 lut 01:33
tn: wydział matematyki i informatyki, albo coś takiego?
15 lut 01:34
tn: Tutaj rzeczywiście zachlanny zdaje egzamin.
15 lut 01:38
tn: Gdybyśmy dysponowali jeszcze nominałem 4 byśmy już mieli kłopot!
15 lut 01:39
Trivial: tn, poszukaj sobie w necie informacji o wydziałach i kierunkach. Naprawdę jest tego mnóstwo. emotka Progi też można gdzieś tam pewnie znaleźć.
15 lut 01:43
Tesla: na AGHu masz chyba 1000 pkt max, kumpel jak składał to musiał mieć ponad 900 żeby się dostać na infe.
15 lut 01:45