Matys1988 Opublikowano 26 Października 2009 Zgłoś Opublikowano 26 Października 2009 Witam :) Mam do zrobienia 2 zadania jako praca domowa. Problem w tym że schody zaczynają sie praktycznie na początku. Ledwo co zaczelismy prace w C, a zadania niestety zbyt cięzkie. Oto tresci: 1. Napisz program wyznaczający pierwiastki równania kwadratowego ax2+bx+c=0: a) A,B,C wczytywane są z klawiatury b) gdy a=0 i b=0 2. Napisz program, który wczyta dwie liczby i wyświetli na ekranie ilość liczb parzystych z zakresu pomiędzy wczytanymi liczbami. To jest własnie moj problem. Co najwyzej moge wykorzystac IF i Switch, for czy while nie mielismy jeszcze na zajęciach wiec nie moge tego wykorzystac. Jesli chodzi o podanie liczb i wyswietlenie ich na ekranie to potrafie zrobic, tylko jak rozpisac reszte . Byłbym wdzięczny jakby ktos potrafił mi jakos to wytłumaczyc i rozpisac chociaz troche. Zanim zakoncze mam jeszcze jedną prosbę. Jak sprawdzić czy 1 liczba jest wielokrotnoscią 2 liczby ?? To by było na tyle, z góry dziekuje za pomoc. Pozdrawiam :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Milkman Opublikowano 27 Października 2009 Zgłoś Opublikowano 27 Października 2009 (edytowane) w c++ moge Ci napisać program1 i ew. 2gi tez mam chyba pomysł. <- jeżeli ofc to coś Ci pomoże (niewiem czym się różnią c ,a c++). W skrócie to 1szy program by polegał na: 1.wczytanie zmiennych A,B,C,DELTA,x0(jezeli rownanie bedzie mialo 1rozwiazanie ),x1,x2(2pierwiastki jezeli bedzie mialo 2 rozwiazania) deklarujemy je we Float. 2. zadajemy sobie pytanie czy a=0 - IF(a==0) jezeli TAK (tzn a=0)to dajemy kolejnego IF'a czy b jest RÓŻNE od 0? - if(b!=0) --jezeli TAK (tzn B!=0) to równanie jest liniowe, a jego rozwiązanie wynosi -C/B - nie muszę chyba tłumaczyć dlaczego (?)/ bx+c=0 => x=-c/b --jeżeli NIE (else)(tzn B=0) to dajemy kolejnego IF'a czy c jest RÓŻNE od 0? - if(c!=0) ----jeżeli TAK (tzn C!=0) to równanie jest sprzeczne /w tej sytuacji mamy juz a=0 i b=0,zostało nam c rózne od 0 np liczba 3, czyli 0x^2+0x+3=0 -> 0+0+3=3 -> 3=0 sprzeczne! :D ----jeżeli NIE (else)(tzn C=0) to a=0 b=0 c=0 -> 0-0 o_O - jak to leciało? nie skonczenie wiele rozwiazan (?) Teraz już odnosimy się do 1szego if'a z zapytaniem , czyli: jeżeli NIE (else)(a!=0) to przechodzimy do naszej kochanej DELTY ! ;) pierw program liczy delte czyli - delta=b*b-(4ac) a nastepnie zastanawia sie czy jest mniejsza od 0 ?(jezeli tak to nie ma rozwiazania), jezeli rowna to ma 1 rozwiazanie x0 = -c/(2*a) jezeli wieksza to liczy x1 i x2 : x1 = (-B-sqrt(delta))/(2*A); x2 = (-B+sqrt(delta))/(2*A); do tych obliczen bedzie ci potrzebna wczytana na poczatku programu biblioteka matematyczna (przynajmniej w c++) (w tym momencie mozemy uzyc if'ow w ten sposob : if(delta<0) blabla else if(delta==0) blablabla else blablabla) w 2gim programie uzyj pętli for a dla liczb parzystych zastanow sie czy liczby ktora petla for ci wypisze czy ich reszta z dzielenia przez 2 wynosi 0? jezeli tak to jest parzysta 3cie pytanie: jezeli mamy liczbe A(np 90) i pytanie jest jak sprawdzic czy jest wielokrotnością liczby B(np 3)? to musimy sprawdzic czy : Reszta z dzielenia liczby A(np 90) przez B(np 3)wynosi 0? jezeli tak to jest wielokrotnoscią , w c++ do tego służy znaczek % , a rownanie wygladalo by tak: wynik=A%B i jezeli wynik=0 to jest wielokrotnością. 90/3= 30,0 <- reszta 0(po ułamku) , zastosowanie - % , własnie wyswietla nam resztę z dzielenia. mam nadzieje że ci to pomoże i że masz jakieś podstawy :-D a nie tak jak u mnie na zajęciach, przepisują ode mnie z zeszytu/kompa z takimi bykami że to masakra (totalna czarna magia), jeżeli c a c++ bardzo się różnią i ci zabardzo namieszałem to sry. Edytowane 27 Października 2009 przez Milkman Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Matys1988 Opublikowano 27 Października 2009 Zgłoś Opublikowano 27 Października 2009 Wielkie dzieki kolego :) Zaraz zabieram sie do roboty i do testowania :) Mysle że jakies podstawy umiem :) 2lata temu mialem krotki okres c++ wiec musze odswiezyc pamiec hehe :) a roznica miedzy C a C++ az taka duza nie jest, ale same wczytania i wyswietlania sa inne, w C++ lecisz na cutach i cinach a w C na printf i scanf , chodzi o to że C ma starsze biblioteki czy jakos tak ;p;p bynajmniej to nie to samo, trzeba troche przerabiac, ale jak mam juz początek to mysle że cos dam rade zrobic :) Pozdrawiam :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...