matematykaszkolna.pl
program program: Jak zrobic, zeby c, czyli ta wyliczona wartosc pojawiala sie w tekscie wyswietlanym na ekranie. Napisalem tak, ale nie dzieje sie to co chce. #include <iostream> using namespace std; int main() { int c,d; cout<<" Podaj wartosc d: "; cin>>d; c=(int)(d/100); (// wartosc calkowita z d/100) cout<<TEKST<<c<<endl; return 0; }
26 gru 21:40
Jack: skoro zarówno c jak i d sa typu int to nie musisz rzutowac (int) d/100 bo to i tak jest intem. Skoro masz int c,d; to d jest intem czyli d/100 od razu zwraca inta, wobec tego rzutowanie na inta nic nie zmienia A teraz odpowiadajac na twoje pytanie jesli chcesz wyswietlic c to piszesz cout<<c; jesli ma byc ze znakiem nowej linii no to cout<<c<<endl; a jesli chcesz dac gdzies jakis tekst to cout<<"jakis tam tekst, a tu zmienna c bedzie: "<<c<<endl; twoj zapis TEKST jest bledny bo odwoluje sie do zmiennej takiej, a jej nie masz jednakze jesli chcesz tekst wyswietlic to dajesz po prostu w cudzyslowie czyli poprawnie by bylo: cout<<"TEKST"<<c<<endl; jednak polecam spacje zrobic za TEKST ale w cudzyslowie zeby bylo czytelniej ,czyli cout<<"TEKST "<<c<<endl;
26 gru 22:22
program: Dziekuje. Teraz mam inny problem. Wartosc K dla G=1992 powinna wyjsc 7, natomiast pokazuje sie 10. Co jest nie tak? #include <iostream> using namespace std; int main() { int G,a,b,K; a=G+(G/4)−(G/100)+(G/400)−1; b=7−a%7; K=(b)+3; cout<<"Podaj G: "; cin>>G; cout<<K<<endl; return 0; }
26 gru 23:37
Jack: Robisz a = cos tam Zanim jeszcze G dostanie jakas wartosc... W momencie tworzenia zmiennej, jedyne co w niej jest to jakies śmieci Dlatego najpierw wczytasz a potem robisz operacje. Zatem najpierw int G,a,b,K; cout<<"podaj G: "; cin>>G; No i teraz robisz operacje czyli a=G+(G/4)−(G/100)+(G/400)−1; b=7−a%7; K=(b)+3; // o co chodzi z tym nawiasem przy b? cout<<K<<endl;
27 gru 00:25
program: Dziekuje. Teraz dziala.
27 gru 00:36
program: #include <iostream> using namespace std; int main() { int G,a,b,K; cout<<"podaj G: "; cin>>G; a=G+(G/4)−(G/100)+(G/400)−1; b=7−a%7; K=b+3; −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− for (K=3; K<=10; K++) //tutaj zapisuje te napisy dla konkretnej wartosci K, ktora wyjdzie z algorytmu (przyjmijmy−dla przykladu, ze wartosci K sa w przedziale od 3 do 10) if (K==3) {cout<<"P"<<endl;} else if(K==4) {cout<<"R"<<endl;} else if(K==5) {cout<<"S"<<endl;} else if(K==6) {cout<<"T"<<endl;} else if(K==7) {cout<<"W"<<endl;} else if(K==8) {cout<<"X"<<endl;} else if(K==9) {cout<<"Y"<<endl;} else if(K==10) {cout<<"Z"<<endl;} Napis koncowy: cout<<"TEKST "<<tutaj chce, zeby wyswietlil mi sie napis przypisany dla konkretnej wartosci K, ktora wyjdzie z tego algorytmu<<endl; return 0; } Ponadto nie chce, zeby pojawialy sie na ekranie te napisy dla pozostalych wartosci K. Ale one musza byc jakos wprowadzone, zeby ten program wiedzial, ze jak wyjdzie konkretna wartosc to ma sie pojawic napis do niej przypisany. Tylko jak to zapisac w kodzie?
27 gru 11:23
Jack: petla for przechodzi po wszystkich K od (tutaj K=3) do (tutaj K=10) ale jedyne co robisz w tej petli to wypisywanie konkretnych liter dla danego K... na koncu chcesz wypisac jakis "TEKST" ktory nie wiadomo czym jest... Nie czuje tego. Poki co ten program Ci wyswietli P R S T W X Y Z a potem TEKST Skad ma wychodzic ta konkretna wartosc K ? ...hmm,...dobra, mamy te G ktore wczytujesz, potem a = cos tam, b=cos tam i na koniec jest K = cos tam no to mamy jakas wartosc tego K potem w petli lecisz od K = 3 do K = 10 czyli inaczej mowiac, zaczynajac petle od K=3 usuwasz te poprzednio wyliczona wartosc dla K i zastepujesz ja liczba "3". po prostu wyrzuc tego fora, jesli chcesz ze dla konkretnego K Ci cos wypisalo. Chyba, ze chcesz wypisac wszystkie teksty, az do wartosci K. wtedy petla for(int i=jakasdolnagranica, i < K; i++) ... Co chcesz uzyskac? 1) Powiedzmy ze K = 4 if(K==3) cout<<"cokolwiek"<<endl; else if(K==4) cout<<"inne cokolwiek"<<endl; else if(K==5) cout<<"raz dwa trzy"<<endl; ... else if(K==10) cout<<"haha"<<endl; no i teraz, jako ze K ma wartosc 4, to sie wykona jedynie if dla K==4, zatem zostanie wyswietlony tekst: inne cokolwiek no i nic wiecej
27 gru 11:46
program: Wyswietla sie, ale nie tam gdzie chce. Podaj G: inne cokolwiek inne cokolwiek inne cokolwiek inne cokolwiek cout<<"TEKST "<<tutaj sie nie wyswietla ten tekst inne cokolwiek, a chce, zeby tu wlasnie sie wyswietlalo<<endl;
27 gru 13:22
Jack: #include <iostream> using namespace std; int main() { int G,a,b,K; cout<<"podaj G: "; cin>>G; a=G+(G/4)−(G/100)+(G/400)−1; b=7−a%7; K=b+3; −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− string tekst //zmienna tekst typu string (moze przechowywac lancuchy znakow czyli tekst) algorytmu (przyjmijmy−dla przykladu, ze wartosci K sa w przedziale od 3 do 10) if (K==3) {tekst = "P";} else if(K==4) {tekst ="R";} else if(K==5) {tekst ="S";} else if(K==6) {tekst ="T";} else if(K==7) {tekst ="W";} else if(K==8) {tekst="X";} else if(K==9) {tekst="Y";} else if(K==10) {tekst="Z";} cout<<tekst<<endl; //wypisujemy zmienna tekst ktory trzyma w sobie dany tekst (w tym przypadku litere)
27 gru 13:32
program: Teraz jest dobrze. Dziekuje bardzo.
27 gru 14:05