andixad Opublikowano 30 Listopada 2006 Zgłoś Opublikowano 30 Listopada 2006 Witam :) Mam pewien problem. :? Otóż zbliża mi się koniec półrocza w szkole, i muszę zaliczyć C++'sa. Sęk w tym że że ja to miałem 2 lata temu, a teraz większości rzeczy nie pamiętam. Sprawdzian mam za parę dni.. Mam trochę zadań, zadań które pomogą mi w przygotować się do zaliczania tego materiału jednak sam nie jestem wstanie w tak szybkim tempie tego opanować. Więc pytanie mam do was czy poświęcilibyście mi trochę czasu na pomoc w rozwiązywaniu zadań. Bardzo byłbym wdzięczny :wink: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dobo90 Opublikowano 30 Listopada 2006 Zgłoś Opublikowano 30 Listopada 2006 Hmmmm ;> W sumie to ostatnio kodze tylko w C :). Ale C++ tez troche pamietam. Mam chec do rozwiazywania zadan, wiec jak chcesz to sie zglos na GG/jabberka (656415, d0b0c0p@chrome.pl). Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 30 Listopada 2006 Zgłoś Opublikowano 30 Listopada 2006 (edytowane) Np taki nie wiem czemu nie działa... Napisz program, który pobierze liczbę i wypisze jej podwojoną wartość. #include <iostream.h>#include <as.h>using namespace std;int main(){ int m=2,k,l; cout<<("Podaj k:"); cin>>k; l=k*m}system("pause");return 0; jedno już mi się udało zrobić ( z pomocą :P ) Podać dwie liczby i zsumować.. #include <iostream>using namespace std;int main(){ int k,n,l; cout<<"Podaj liczbe:"; cin>>n; cout<<"Podaj liczbe:"; cin>>k; cout<<"suma liczb wynosi:"; cout<<k + n<<"\n"; system("pause"); return 0;} Edytowane 4 Grudnia 2006 przez andixad Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
tukamon Opublikowano 30 Listopada 2006 Zgłoś Opublikowano 30 Listopada 2006 int m=2,k,l; ?? sprobuj: int m,k,l; m=2; moze pomoze ;) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 30 Listopada 2006 Zgłoś Opublikowano 30 Listopada 2006 (edytowane) Może tak: to zadanie już kapuję: #include <iostream>using namespace std;int main(){ int m=2,k,l; cout<<("Podaj k:"); cin>>k; cout<<"Podwojona wartość tej liczby to:"; cout<<k * m<<"\n"; system("pause"); return 0;} Jest OK. Najlepiej podam za dania (można rozwiązywać od 4 dalej bo wcześniejsze już mi się udało wykonać): 1. Napisz program, który pobierze liczbę i wypisze jej podwojoną wartość. 2. Napisz program, który pobierze od użytkownika liczbę i wypisze jej kwadrat. 3. Napisz program, który pobierze 2 liczby i wypisze ich sumę. 4. Napisz program, który pobierze długość podstawy i wyskość trójkąta i wypisze jego pole. 5. Napisz program, który pobierze liczbę i wypisze jej odwrotność i liczbę do niej przeciwną. 6. Napisz program, który pobierze dwie liczby, i wypisze iloraz pierwszej przez drugą (program zabezpiecz przed dzieleniem przez zero. 7. Napisz program, który pobierze długości boku kwadratu i wypisze jego obwód i pole. 8. Napisz program, który pobierze dwie liczby i wypisze większą z nich (rozważ również sytuację, gdy liczby są sobie równe. 9. Napisz program, który pobierze liczbę i wypisze jej wartość bezwzględną. 10. Napisz program, który pobierze liczbę i wypisze komunikat informujący, o tym czy liczba jest parzysta czy też nieparzysta. 11. Napisz program, który pobierze dwie liczby i wypisze komunikat informujący, czy pierwsza z nich jest podzielna przez drugą. 12. Napisz program, który pobierze liczbę i wypisze jej cyfrę jedności. 13. Napisz program, który pobierze dwie liczby i wypisze iloraz większej z nich, przez mniejszą. Wynik wypisz z dokładnością do trzech miejsc po przecinku. 14. Napisz program, który pobierze płeć od użytkownik. Płeć powinna być zmienną typu char i pobierać jeden ze znaków "K" lub "M". Po podaniu znaku powinna zostać wypisana pełna informacja "Kobieta" lub "Mężczyzna". 15. Napisz program, który pobierze numer dnia, tygodnia i wypisze nazwę rego dnia np. po podaniu liczby 1 powinien zostać wypisany "Poniedziałek", po podaniu 2 - "Wtorek" itd. 16. Napisz program, który pobierze wiek użytkownika, a następnie wypisze jeden z konunikatów : przedszkolak, szkoła podstawowa, gimnazjum itd. 17. Napisz program, który pobierze trzy liczby i sprawdzi, czy mogą być długościami boków trójkąta. 18. Napisz program, który pobierze trzy liczby i sprawdzi, czy mogą być długościami boków trójkąta prostokątnego. 19. Napisz program, który pobierze liczbę i wypisze pierwiastek z tej liczby. 20. Napisz program, który pobierze trzy liczby i wypisze największą z nich. Edytowane 4 Grudnia 2006 przez andixad Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Prog Opublikowano 30 Listopada 2006 Zgłoś Opublikowano 30 Listopada 2006 Ja bym Ci radził jednak podawać tu na bieżąco rozwiązania swoje i ew. problemy, bo rozwiązań to od nas nie oczekuj. Chyba, że zwrócisz się do d0b0c0p, który się niejako zaoferował. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 1 Grudnia 2006 Zgłoś Opublikowano 1 Grudnia 2006 (edytowane) OK Prog. 4. Napisz program, który pobierze długość podstawy i wysokość trójkąta i wypisze jego pole. W tym zad. niby kompilacja przechodzi pomyślnie, ale po podaniu wartości a i h, niestety wynik jest cały czas taki sam: 0. #include <iostream>using namespace std;int main(){ int a,h,p; cout<<"Podaj długość podstawy trójkąta (a):"; cin>>a; cout<<"Podaj wysokość trójkąta (h):"; cin>>h; cout<<"Pole trókąta wynosi:"; cout<<1/2*a*h<<"\n"; system("pause"); return 0;} Edytowane 4 Grudnia 2006 przez andixad Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
tukamon Opublikowano 1 Grudnia 2006 Zgłoś Opublikowano 1 Grudnia 2006 cout<<1/2*a*h<<"\n";p=0.5*a*h; cout<<p<<"\n"; Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 1 Grudnia 2006 Zgłoś Opublikowano 1 Grudnia 2006 (edytowane) p=0.5*a*h; cout<<p<<"\n"; no rzeczywiście :wink: 6. Napisz program, który pobierze dwie liczby, i wypisze iloraz pierwszej przez drugą (program zabezpiecz przed dzieleniem przez zero. nie wiem dokładnie jak tu warunek utworzyć: ...int main(){ int a,p; if (a=0){ cout<<"Wartość a nie może być równa 0, podaj inną liczbę(a):"; cin>>a;} cout<<"Podaj pierwszą liczbę(a):"; cin>>a; cout<<"Podaj drugą liczbę(b):"; cin>>b; cout<<"Iloraz wynosi:"; cout<<b/a<<"\n"; ... Edytowane 4 Grudnia 2006 przez andixad Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
tukamon Opublikowano 1 Grudnia 2006 Zgłoś Opublikowano 1 Grudnia 2006 (edytowane) int a,p; if (a=0){ cout<<"Wartość a nie może być równa 0, podaj inną liczbę(a):"; cin>>a;} cout<<"Podaj pierwszą liczbę(a):"; cin>>a; cout<<"Podaj drugą liczbę(b):"; cin>>b; cout<<"Iloraz wynosi:"; cout<<b/a<<"\n"; ... int main(){ int a,p; float iloraz; cout<<"Podaj pierwszą liczbę(a):"; cin>>a; cout<<"Podaj drugą liczbę(b):"; cin>>p; while(p==0){ cout<<"Wartość a nie może być równa 0, podaj inną liczbę(a):"; cin>>p; } cout<<"Iloraz wynosi:"; iloraz=a/p; cout<<iloraz<<"\n"; system("pause"); return 0; } Korzystajac z while, uzyszkodnik moze wbijac zero az do jutra i sie progz nie wylaczy. Edytowane 1 Grudnia 2006 przez tukamon Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 1 Grudnia 2006 Zgłoś Opublikowano 1 Grudnia 2006 (edytowane) zauwżyłem zę jeżeli liczba 'b' będzie mniejsza od 'a' to wartość ilorazu będzie 0 (pomijam wartość 0 dla 'a' i 'b') Np: a=8, b=5 ; b/a=5/8=0,625 Wartość po przecinku jest automatycznie wycinana więc wyświetli nam 0. Zatem co napisać żeby wynik był podawany z 2 cyframi po przecinku? Edytowane 1 Grudnia 2006 przez andixad Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Prog Opublikowano 1 Grudnia 2006 Zgłoś Opublikowano 1 Grudnia 2006 Możesz skorzystać z biblioteki stdio.h tam masz proste obcinanie [zaokrąglanie liczb]. Piszesz np. printf("%.3f", a). Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 1 Grudnia 2006 Zgłoś Opublikowano 1 Grudnia 2006 Jak napisać pierwiastek z wyrażenia w C++ [w pascalu jest to sqrt a tu nie wiem] Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
tukamon Opublikowano 1 Grudnia 2006 Zgłoś Opublikowano 1 Grudnia 2006 tez sqrt() Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 1 Grudnia 2006 Zgłoś Opublikowano 1 Grudnia 2006 (edytowane) tez sqrt()hmm, to co tu jest nie tak? 9. Napisz program, który pobierze liczbę i wypisze jej wartość bezwzględną. #include <iostream>using namespace std;int main(){ int a,p; cout<<"Podaj dowolną liczbę(a):"; cin>>a; cout<<"Odwrotność tej liczby to:"; cout<<sqrt(a*a)<<"\n"; system("pause"); return 0;} no niby są te 3 liczby po przecinku, ale nie wiedzieć czemu np 8/9 to 0,000 #include <iostream>#include <stdio.h>using namespace std;int main(){int a,b;float iloraz;cout<<"Podaj pierwszą liczbę(a):";cin>>a;cout<<"Podaj drugą liczbę(b):";cin>>b;while(a==0){cout<<"Wartość a nie może być równa 0, podaj inną liczbę(a):";cin>>a;}cout<<"Iloraz wynosi:";iloraz=b/a;printf("%.3f", iloraz);cout<<iloraz<<"\n";system("pause");return 0;} a jeżeli b >= a, to wynik 1,001 zawsze .... :? Edytowane 4 Grudnia 2006 przez andixad Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
tukamon Opublikowano 1 Grudnia 2006 Zgłoś Opublikowano 1 Grudnia 2006 nie ma kurde pojecia czemu nie chce ulamkow pokazywac :/ a co do pierwiastkow: double pierwiastek;pierwiastek=sqrt(a*a);cout<<pierwiastek<<"\n"; Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 1 Grudnia 2006 Zgłoś Opublikowano 1 Grudnia 2006 (edytowane) OK. zupełnie nie wiem co z tym zrobić :mur: : 10. Napisz program, który pobierze liczbę i wypisze komunikat informujący, o tym czy liczba jest parzysta czy też nieparzysta. Edytowane 1 Grudnia 2006 przez andixad Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Prog Opublikowano 1 Grudnia 2006 Zgłoś Opublikowano 1 Grudnia 2006 (edytowane) Jak masz dwa typy int mnożone czy dzielone przez siebie to kompilator może uznać, że wynik też ma być typu int. Zatem to rozwiąże problem: iloraz=(float)b/(float)a; Czyli operator rzutowania. EDIT: Co do twojego problemu... Wiesz co to reszta z dzielenia ? ? ? [x mod y] Edytowane 1 Grudnia 2006 przez Prog Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
tukamon Opublikowano 1 Grudnia 2006 Zgłoś Opublikowano 1 Grudnia 2006 if ((a%2)!=0) cout << "liczba jest nieparzysta.\n";else .... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Bartoleon Opublikowano 1 Grudnia 2006 Zgłoś Opublikowano 1 Grudnia 2006 OK. zupełnie nie wiem co z tym zrobić :mur: : 10. Napisz program, który pobierze liczbę i wypisze komunikat informujący, o tym czy liczba jest parzysta czy też nieparzysta. np tak możę wyglądać taki program : #include <iostream> using namespace std; int main () { int liczba; cout<<"podaj liczbe "; cin>>liczba; cin.ignore(); if (liczba%2==0) cout<<"podana liczba jest parzysta"<<'\n'; else cout<<"podana liczba jest nieparzysta"<<'\n'; cout<<"nacisnij enter aby zakonczyc"; getchar(); return 0; } Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 1 Grudnia 2006 Zgłoś Opublikowano 1 Grudnia 2006 ja myślałem że zobaczę tu problemy w stylu, klasy, dziedziczenie, metody virtualne, templejty a Ty masz tu banalne wręcz zadania, które berdziej niż C++ tyczą się programowania jako takiego - na poziomie 2 pierwszych tygodni nauki... jeśli już c++ to może wystarczy skrótowy zapis ifelsa.. po co sztucznie powiększać programy, które można napisać w 3 linijkach :) cout<< (k%2 ? "nieparzysta" : "parzysta"); Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 2 Grudnia 2006 Zgłoś Opublikowano 2 Grudnia 2006 (edytowane) ja myślałem że zobaczę tu problemy w stylu, klasy, dziedziczenie, metody virtualne, templejty a Ty masz tu banalne wręcz zadania, które berdziej niż C++ tyczą się programowania jako takiego - na poziomie 2 pierwszych tygodni nauki... jeśli już c++ to może wystarczy skrótowy zapis ifelsa.. po co sztucznie powiększać programy, które można napisać w 3 linijkach :) cout<< (k%2 ? "nieparzysta" : "parzysta"); No fakt, że są to proste zadania zadania. Ale w końcu od czegoś trzeba zacząć. Spodobała mi się twoja wersja (program jest bardziej przejrzysty, od razu połowa linijek znikła). _________________ a jak w zad 12 napisać program który wyświetli cyfrę jedności podaną przez użytkownika liczbę? _________________ #include <iostream>using namespace std;int main(){int a,b;cout<<"Podaj pierwszą liczbę(a):";cin>>a;cout<<"Podaj drugą liczbę(b):";cin>>b;cin.ignore();if (a=b==0)cout<<"Wartości a i b są takie same"<<"\n";elseif (a<b==0)cout<<"Wartość a jest większa od b"<<"\n";elsecout<<"Wartość b jest większa od a"<<"\n";cout<<"nacisnij enter aby zakonczyc";getchar();system("pause");return 0;} Program działa poprawnie bez: if (a=b==0) cout<<"Wartości a i b są takie same"<<"\n"; Co tu trzeba poprawić? Czy nie aby coś takiego.. :? cout<< (a>b ? "a wieksza" : a=b ? "tak" : "b większa")<<"\n"; Edytowane 4 Grudnia 2006 przez andixad Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Prog Opublikowano 2 Grudnia 2006 Zgłoś Opublikowano 2 Grudnia 2006 a jak w zad 12 napisać program który wyświetli cyfrę jedności podaną przez użytkownika liczbę? Nadal widzę nie rozumiesz reszty z dzielenia. Przecież dajesz mod danej liczby przez 10 i gotowe... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 2 Grudnia 2006 Zgłoś Opublikowano 2 Grudnia 2006 (edytowane) skrót jest dobry czasami.. ale nie powinno sie go nadużywać :) Cyfrę jedności można na kilka sposobów... matematycznie.... cout<<"liczba jedności we wpisanym ciągu to "<< liczba%10; Inne podejście jest : stringowe... wczytaną liczbę traktujesz jako stringa i wypisujesz ostatni znak... CString strLiczba = liczba_wczytana; // tu masz konwersję inta do CStringacout<< "liczba jedności we wpisanym ciągu to "<< strLiczba[strLiczba.Lenght()-1];oczywićei kod wyssany z palca i nie gwarantuję że będzie działał bo kompiloara w głowie nie mamjako takiego :), Oczywiscie jesli podasz mu napis to zwróci ostatnią literę, ale założenie jest takie że masz liczbę w postaci inta... Edytowane 2 Grudnia 2006 przez PelzaK Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 2 Grudnia 2006 Zgłoś Opublikowano 2 Grudnia 2006 (edytowane) ok, juz rozumiem jak wypisać cyfre jedności Napisz program, który pobierze liczbę i wypisze jej odwrotność i liczbę do niej przeciwną. #include <iostream>using namespace std;int main(){ int a,p; cout<<"Podaj liczbę:"; cin>>a; cout<<"Dodwrotność tej liczby to:"; cin<<(-1)*a<<"\n"; system("pause"); return 0;} Nie rozumiem w tym zadaniu różnicy pomiędzy odwrotnością a przeciwnością. _______________ Jak sprawdzić która z podanych liczb jest większa? Edytowane 4 Grudnia 2006 przez andixad Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Prog Opublikowano 2 Grudnia 2006 Zgłoś Opublikowano 2 Grudnia 2006 (edytowane) To mogłeś się sam dowiedzieć... Odwrotność liczby x to 1/x, a liczba do niej przeciwna to -x... Edytowane 2 Grudnia 2006 przez Prog Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 2 Grudnia 2006 Zgłoś Opublikowano 2 Grudnia 2006 (edytowane) Odwrotność liczby x to 1/xA wiesz że na to nie wpadłem... :mur:, matmy nigdy nie lubłem. ____________ cin<<1/a<<"\n"; tutaj wyskakuje błąd: no match for 'operator<<' in 'std::cin << (1 / a)' no match for 'operator<<' in 'std::cin << (a * -0x000000001)' Edytowane 4 Grudnia 2006 przez andixad Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
MeHow Opublikowano 2 Grudnia 2006 Zgłoś Opublikowano 2 Grudnia 2006 (edytowane) chcialbym tylko dodac, bo zadania sa banalne jak sikanie... otoz wydajniej jest sprawdzac parzystosc przez liczbz&1, a nie liczba%2 :) . Ot taki maly sekrecik :]. #include<iostream>int main(void){ double b; std::cout << "wbijasz liczbe" << std::endl; std::cin >> b; std::cout << "odwr: " << 1/b << " przec: " << (-1*b) << std::endl;} Edytowane 2 Grudnia 2006 przez MeHow Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Errorx Opublikowano 2 Grudnia 2006 Zgłoś Opublikowano 2 Grudnia 2006 (edytowane) cin<<1/a<<"\n"; tutaj wyskakuje błąd: no match for 'operator<<' in 'std::cin << (1 / a)' no match for 'operator<<' in 'std::cin << (a * -0x000000001)' Zmien "cin" na "cout" ;) Edytowane 2 Grudnia 2006 przez Errorx Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 2 Grudnia 2006 Zgłoś Opublikowano 2 Grudnia 2006 zamiast 50 programików 3 linijkowych mógł wam zlecić napisanie jednego wszystkomającego :) otoz wydajniej jest sprawdzac parzystosc przez liczbz&1, a nie liczba%2 icon_smile3.gif .przesada... Obecne programy są milion razy bardziej złożone i czasochłonne a tu o taki szczegół się czepiać... Do tego nie jestem pewien, ale kompilator zapewne zoptymalizuje sobie ten kod do tego samego kodu wynikowego.. więc wsio ryba jak napiszesz :) CIN - wejscie, tędy wchodzą dane COUT - wyjscie.. tędy dany wyprowadzasz na zewnątrz Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...