andixad Opublikowano 6 Grudnia 2006 Zgłoś Opublikowano 6 Grudnia 2006 24. Napisz program, który po podaniu argumentu, wypisze wartość funkcji określonej wzorem. f(x)={ 3(x*x)-1 dla x < -5 ; 2x+1 dla xE < -5;2 ; -x dla x >= 2 . #include <iostream>using namespace std;double f(double x) { if (x<-5) return (3*(x*x)-1 ); if (x <2) return 2*x+1; return -x; }int main (){ int x; cout<<"Podaj x: "; cin >> x; cout<<"Wartość f(x) to "<<"\n"; f(x); system("pause"); return 0; }Błędów nie ma, ale po uruchomieniu program nie wypisuje mi określonych (podanych) funkcji. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dobo90 Opublikowano 6 Grudnia 2006 Zgłoś Opublikowano 6 Grudnia 2006 Ma byc: #include <iostream>using namespace std;double f(double x) { if (x<-5) return (3*(x*x)-1 ); if (x <2) return 2*x+1; return -x; }int main (){ int x; cout<<"Podaj x: "; cin >> x; cout<<"Wartość f(x) to " << f(x) << "\n"; system("pause"); return 0; } Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 6 Grudnia 2006 Zgłoś Opublikowano 6 Grudnia 2006 (edytowane) 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". #include <iostream>#include <ctype>#include <math.h>using namespace std;void wybierz(int K, int M); K = Kobieta M = Mężczyzna pint main(){ int p; cout<<"Podaj twoją płeć (znak k lub m): "; cin>>p; p= cout<<"Twoja płeć to "<<p<<"\n"; system("pause"); return 0;}Tworze coś, tylko nie wiem co z tego wyjdzie, proszę o pomoc. Edytowane 6 Grudnia 2006 przez andixad Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dobo90 Opublikowano 6 Grudnia 2006 Zgłoś Opublikowano 6 Grudnia 2006 #include <iostream>using namespace std;int main() { char c; cin >> c; if(c == 'K') cout << "Kobieta"; else if(c == 'M') cout << "Mezczyzna"; else cout << "Blad!"; return 0;} Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 6 Grudnia 2006 Zgłoś Opublikowano 6 Grudnia 2006 #include <iostream>using namespace std;int main() { char c; cout << "Podaj pierwszą litere twojej plci "; cin >> c; if(c == 'K') cout << "Kobieta"<<"\n"; else if(c == 'k') cout << "Kobieta"<<"\n"; else if(c == 'M') cout << "Mezczyzna"<<"\n"; else if(c == 'm') cout << "Mezczyzna"<<"\n"; else cout << "Blad!"; system("pause"); return 0;}Czy tak moze być? Bo jezeli uzytkownik wpisze np: 'k' zamiast 'K' to wtedy nie wyskoczy komunikat 'blad' tylko 'Kobieta'. A tak by mogło być? (c == 'm' == 'M') Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 6 Grudnia 2006 Zgłoś Opublikowano 6 Grudnia 2006 (edytowane) po co... if( c=='k' || c='K') cout<<"kobieta";else if( c=='m' || c='M') cout<<"mezczyzna"; Na przyszłość, warunki można łączyć za pomocą || - lub, && - i, ! - negacja np czy liczba jest z przedziału otwartego 25..35, czyli jesli x>25 i x<35 if( x>25 && x<35 ) lub, jeśli x jest równe 5 lub y różne od 3 if( 5==x && y!=3 ) pamiętać należy o podwójnym == bo ten operator zwraca typ bool (prawda lub fałsz), Tutaj uzyłem porównania 5==x zamiast x==5, choc oba są poprawne, to w przypadku błędu np if( x=5 ) zwróci zawsze prawdę, bo wykona się operator przypisania = a nie porównania ==. Zatem kompilator pozwoli na przypisanie x=5 ale nie pozwoli na 5=x. Kompilatory zazwyczaj ostrzegają warningiem jeśli w konstrukcji if() znajduje sie przypisanie, ale nieraz można je przeoczyć... więc jeśli ktoś jest roztragniony to lepiej niech porównuje 5==x niż x==5 ;) Jesli powyższe warunki nie działają, być może chodzi o priorytety operacji, może sie zdarzyć że kompilator w wyrażeniu if( x>25 && x<35 ) najpierw sprawdzi 25 && x, a nastepnie będzie kombinował z x> i <35, aby mieć pewność że kompilator dobrze porówna x>25 a potem x<35 a następnie sprawdzi czy zaszedł iloczyn logiczny to najlepiej brać pojedyncze warunki w nawias, czyli if( (x>25) && (x<35) ) Oczywiscie operatorów logicznych i warunków można dawać ile dusza zapragnie z racjonalnym umiarem :) if( (((godzina==22) && (minuta==22)) || ((godzina==11) && (minuta==11))) && (dzien!=poniedzialek') ) cout<< "ale mamy fajną godzinę :]\n";tutaj sprawdzam warunek następujący, jeśli godzina jest 22 i (&&) minuta 22 lub (||) godzina jest 11 i (&&) minuta jedenasta i dzien jest inny (!=) niż poniedziałek to mamy fajną godzinę.. Można się pogubić trochę w nawiasach więc skomplikowane wyrażenia warto pisać kilkulinijkowo if( ( ( (godzina==22) && (minuta==22) ) || ( (godzina==11) && (minuta==11) ) ) && (dzien!=poniedzialek') ) cout<< "ale mamy fajną godzinę :]\n"; Edytowane 6 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 7 Grudnia 2006 Zgłoś Opublikowano 7 Grudnia 2006 (edytowane) 16. Napisz program, który pobierze wiek użytkownika, a następnie wypisze jeden z konunikatów : przedszkolak, szkoła podstawowa, gimnazjum itd. Jak się podaje przedział liczbowy? (potrzebuje do zad 16) --------------------------- 31. Napisz program, który pobierze liczbę sekund i wypisze ile to jest godzin ile minut i ile sekund. #include <iostream>using namespace std;int main (){ void ileGodzinIleSekund(int pom){ if (pom>3600) cout<<"godzin"<<pom/3600<<endln; pom %=3600; if (pom>60) cout<<"minut"<<pom/60<<endln; pom%=60; cout<<"sekund"<<pom<<endln; }system("pause");return 0;} Napotkane błędy: 4 -- a function-definition is not allowed here before '{' token 4 -- expected `,' or `;' before '{' token Ja nie wiedzieć co tu poprawić :? . ------------------------ (37. Oblicz sumę wszystkich liczb całkowitych od 1 do 10. 38. Do powyższego zadania dodaj jeszcze średnią tych liczb.) 39. Dwa powyższe zadania należy udoskonalić tak, by działały nie na konkretnych liczbach od 1 do 10, ale na liczbach z podanego zakresu. #include <iostream>using namespace std;void wypisz(int a,int b){ int sum, i;sum=0;for(i=a;i<=b;i++) sum+=i;cout<<sum;cout<<((double)sum)/((double)a-b); system("pause"); return 0;}Na 'return 0' sie zatrzymuje i działać nie chce... --------------------- 35. Wypisz liczby od 5 do 15 w porządku rosnącym. #include <iostream>using namespace std;void wypisz(int a,int b){ int i; if (b<a){ i =a; a =b; b=i; }for(int i=5;i<=15;i++) cout<<i<<"\n";}int main(){cout<<wypisz<<"\n";system("pause");return 0;}Tu jak sie uruchomi to tylko '1' pokazuje i koniec. :angry: Edytowane 7 Grudnia 2006 przez andixad Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Haquim Opublikowano 7 Grudnia 2006 Zgłoś Opublikowano 7 Grudnia 2006 (edytowane) 16. Napisz program, który pobierze wiek użytkownika, a następnie wypisze jeden z konunikatów : przedszkolak, szkoła podstawowa, gimnazjum itd. Jak się podaje przedział liczbowy? (potrzebuje do zad 16) void wypisz (int wiek) { *char g= "gimnazjum"; *char sp ="szkoła podstawowa" *char p="przedszkolak"; *char ptr=sp;; if ( wiek<7) ptr = p; else if (p>13) ptr =g; cout<<ptr; } --------------------------- 31. Napisz program, który pobierze liczbę sekund i wypisze ile to jest godzin ile minut i ile sekund. #include <iostream>using namespace std;int main (){ void ileGodzinIleSekund(int pom){ if (pom>3600) cout<<"godzin"<<pom/3600<<endln; pom %=3600; if (pom>60) cout<<"minut"<<pom/60<<endln; pom%=60; cout<<"sekund"<<pom<<endln; }system("pause");return 0;}Napotkane błędy: 4 -- a function-definition is not allowed here before '{' token 4 -- expected `,' or `;' before '{' token Ja nie wiedzieć co tu poprawić :? . Rzuć te studia . :twisted2: ------------------------ Edytowane 7 Grudnia 2006 przez Haquim Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 7 Grudnia 2006 Zgłoś Opublikowano 7 Grudnia 2006 (edytowane) Rzuć te studia.Tak najłatwiej :-| Edytowane 7 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 7 Grudnia 2006 Zgłoś Opublikowano 7 Grudnia 2006 Haquim po co tworzysz wskaźnik na tablicę znaków? Przecież nie ma takiej potrzeby. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 8 Grudnia 2006 Zgłoś Opublikowano 8 Grudnia 2006 (edytowane) Nie działa, czy dodatkowa biblioteka jeszcze jest potrzebna, czy co? #include <iostream>using namespace std;void wypisz(int wiek){ int main(){ int ptr;*char p="przedszkole";*char sp="szkoła podstawowa"*char g="gimnazjum";*char ptr=sp;if ( wiek<7)ptr = p;else if (p>13)ptr=g;cout<<wypisz;} system("pause"); return 0;} Edytowane 9 Grudnia 2006 przez andixad Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Haquim Opublikowano 8 Grudnia 2006 Zgłoś Opublikowano 8 Grudnia 2006 Haquim po co tworzysz wskaźnik na tablicę znaków? Przecież nie ma takiej potrzeby.bo lubię :banana: Nie działa, czy dodatkowa biblioteka jeszcze jest potrzebna, czy co?Nie nie jest potrzebna. Wystarczy nie zagnieżdżać ciałek funkcji w innych funkcjach . void a(){ cout<<"dsdwe";}int main(){ a();return 0;} DOBRZE int main(){ void a() { cout<<"dsdwe"; }return 0;} ŹLE Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 8 Grudnia 2006 Zgłoś Opublikowano 8 Grudnia 2006 (edytowane) No rzeczywiście :wink: , niby nic, ale jednak kolejność jest ważna. Też tak próbowałem ,ale mi nie wychodziło bo pewnie gdzieś indziej był błąd i ja tego nie zauważyłem. Edytowane 9 Grudnia 2006 przez andixad Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Haquim Opublikowano 8 Grudnia 2006 Zgłoś Opublikowano 8 Grudnia 2006 No rzeczywiście :wink: , niby nic, ale jednak kolejność jest ważna. Też tak próbowałem ,ale mi nie wychodziło bo pewnie gdzieś indziej był błąd i ja tego nie zauważyłem. Powoli zaczyna mnie wkurzać to zadanie: #include <iostream>using namespace stdint main(){ *char p = "przedszkolak"; *char sp = "szkoła podstawowa"; *char g = "gimnazjum"; *char ptr = sp; int p, sp, g, ptr; if ( wiek<7) ptr = p; else if (p>13) ptr = g; cin>>wiek; cout<<wypisz; system("pause"); return 0;} Nie rozumiem czego nie rozumiesz PS: Nie będę kontynuował konwersacji tym wątku , wracam pisać kompilator pa :dontfeedtrolls: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 8 Grudnia 2006 Zgłoś Opublikowano 8 Grudnia 2006 przy okazji, nie stosuj bardzo głupiego rodem z JAVY sposobu blockowania kodu, bo to utrudnia wyszukiwanie błędów... czyli zamiast void main { int i=3; for(int i=0; i<20; i++){ //kod... }}Lepiej pisać... void main { int i=3; for(int i=0; i<20; i++) { //kod... }} tracisz jedną linijkę kodu - zyskujesz przejrzystość... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Prog Opublikowano 8 Grudnia 2006 Zgłoś Opublikowano 8 Grudnia 2006 przy okazji, nie stosuj bardzo głupiego rodem z JAVY sposobu blockowania kodu, bo to utrudnia wyszukiwanie błędów... czyli zamiast void main { int i=3; for(int i=0; i<20; i++){ //kod... }}Lepiej pisać... void main { int i=3; for(int i=0; i<20; i++) { //kod... }} tracisz jedną linijkę kodu - zyskujesz przejrzystość... Trzeba się cieszyć, że używa w ogóle {} niektórzy stają się mistrzami w unikaniu klamer. Potem jak się patrzy na taki kod to konia z rzędem temu, kto rozpozna co jest od czego. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Prog Opublikowano 9 Grudnia 2006 Zgłoś Opublikowano 9 Grudnia 2006 Dlaczego mi nie chodzi ten program? Program sam z siebie jest źle zakodowany. Podaj jeszcze raz zadanie i ten program, który napisałeś. Tak, żeby było razem wszystko. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Prog Opublikowano 9 Grudnia 2006 Zgłoś Opublikowano 9 Grudnia 2006 "Podaj pierwszą literę twojej płci" ? ? ? Co to ma być. Program jest zły. Daj zmienną np. unsigned short zamiast char. Char pobiera Ci znak. I gdy porównujesz zmienną w standardowy sposób to nie otrzymasz poprawnego wyniku. Pomyśl trochę, przynajmniej się czegoś nauczysz. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 9 Grudnia 2006 Zgłoś Opublikowano 9 Grudnia 2006 "Podaj pierwszą literę twojej płci" :-P nie zauważyłem :-P Czy tak jest teraz ok?? #include <iostream>using namespace std;unsigned short wiek;int main(){int wiek; cout << "Podaj wiek "; cin >> wiek; if(wiek<=4) cout << "przedszkolak"<<"\n"; else if(wiek<=13) cout << "Szkoła podstawowa"<<"\n"; else if(wiek<=16) cout << "gimnazjum"<<"\n"; else cout << "Blad!"; system("pause"); return 0;} Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Prog Opublikowano 9 Grudnia 2006 Zgłoś Opublikowano 9 Grudnia 2006 Może być. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 10 Grudnia 2006 Zgłoś Opublikowano 10 Grudnia 2006 33. Napisz program, który wypisuje 10 razy Twoje imię. #include <iostream>using namespace std;int main(){int i; cout<< "Podaj imie: "; cin>>i; for(int i=0;i<10;i++) cout<<i<<endl;system("pause");return 0; }Po podaniu imienia, zamiast imienia wypisuje w kolumnie liczby 0-9. :? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dobo90 Opublikowano 10 Grudnia 2006 Zgłoś Opublikowano 10 Grudnia 2006 Eee, a od kiedy to sie stringa wczytuje do inta? :mur: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Prog Opublikowano 10 Grudnia 2006 Zgłoś Opublikowano 10 Grudnia 2006 Eee, a od kiedy to sie stringa wczytuje do inta? :mur: W tym temacie nie takie rzeczy się działy... Musisz utworzyć tablicę znaków, albo stringa, bo inaczej tego nie zrobisz. Szczególnie próbując wczytaj zmienną znakową do zmiennej całkowitej. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 10 Grudnia 2006 Zgłoś Opublikowano 10 Grudnia 2006 Tak? #include <iostream>using namespace std;int main(){int x,y;cin>>y;for (x = 10; x > 0; x--){ printf y;}system("pause");return 0;} Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 10 Grudnia 2006 Zgłoś Opublikowano 10 Grudnia 2006 cout << "przedszkolak"<<"\n";miej litość nad sobą... skoro już używasz \n to może lepiej i szybciej jednak tak: cout << "przedszkolak\n"; lub cout << "przedszkolak"<<endl; Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 11 Grudnia 2006 Zgłoś Opublikowano 11 Grudnia 2006 :D Dzięki wam na razie za pomoc, porady, uwagi... Aha, a słyszałem, że Java jest trudniejsza niż C++. Czy tak? (też ją muszę niebawem zaliczyć <_< ) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
tukamon Opublikowano 11 Grudnia 2006 Zgłoś Opublikowano 11 Grudnia 2006 Tak? #include <iostream>using namespace std;int main(){stringcin>>y;for (x = 10; x > 0; x--){ printf y;}system("pause");return 0;} nie #include <iostream>using namespace std;int main(){char imie[15];cin>>imie;for (int i = 10; i > 0; i--){ printf("\n %s",imie);}system("pause");return 0;} Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Polar Opublikowano 11 Grudnia 2006 Zgłoś Opublikowano 11 Grudnia 2006 Aha, a słyszałem, że Java jest trudniejsza niż C++. Podobna na 1 rzut oka ale im dalej sie w nią wgłębia tym coraz wiecej różnic wychodzi. Teoretycznie jej celem było być uproszczoną wersją c++ i tak defacto było przez jakiś czas ale teraz to już jest wg. mnie troche chory język. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 11 Grudnia 2006 Zgłoś Opublikowano 11 Grudnia 2006 (edytowane) #include <iostream>using namespace std;int main(){char imie[15];cin>>imie;for (int i = 10; i > 0; i--){ printf("\n %s",imie);}system("pause");return 0;} thx :wink: Edytowane 11 Grudnia 2006 przez andixad Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
andixad Opublikowano 11 Grudnia 2006 Zgłoś Opublikowano 11 Grudnia 2006 Nie chcąc niepotrzebnie zakładać nowego tematu chciałem sie zapytać jak utworzyć plik *.exe za pomocą C++ lub *.ini który by sie ładował za pomocą autostaru wykonując zadanie: uruchom 'wskazany plik' w dodzinach 12.00-15.00. I żeby było też tak ze on na bieżąco sprawdza godzinę. Bo jeżeli komputer uruchomię np o 10.00 to żeby też zadziałał o 12.00. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...