ďťż
chomiki wtryski?? Wentylator do zasilacza XPOWER 350W Nie moge siÄ zalogowaÄ. Trzeba uratowaÄ ten Kraj Dysk do wymiany? problem z cookies Problem z klaksonem - zwarcie [Program]VDM Pakiet serwerĂłw czy rÄczna instalacja? Wentylacja zatkana!!Hellp |
chomikiOto kod:#include <iostream.h> using namespace std; int fib(int n) { switch (n) { case 1: return 1; break; case 2: return 1; break; default: return fib(n-2) + fib(n-1); } } int main() { int wej; cout << "Ktory wyraz ciagu Fibonacciego podac?\n"; cin >> wej; cout << fib(wej) << "\n"; } do wyznaczania n-tego wyrazu ciągu Fibonacciego. Niestety jak chcę go skopilować to mi wyskakuje błąd w DevC++ : C:\Documents and Settings\nebeu\Pulpit\Makefile.win ....[Build Error] .... [Ciąg.o] Error 1 Kropki oznaczają oddzielenie pomiędzy kratkami. Inne projekty kompilowały się bez problemu Z tej samej lokalizacji Log kompilatora co Ci zwraca Tak chodziło o lokalizację. Jednak coś ten kod nie działa 1 1 F:\Dev-Cpp\include\c++\3.3.1\backward\iostream.h:31, .... from C++\Nauka\Projekt1.cpp In file included from F:/Dev-Cpp/include/c++/3.3.1/backward/iostream.h:31, ..... from C++/Nauka/Projekt1.cpp 2 1 C:\Documents and Settings\nebeu\Pulpit\Projekty\C++\Nauka\Projekt1.cpp .....from C++/Nauka/Projekt1.cpp 3 2 F:\Dev-Cpp\include\c++\3.3.1\backward\backward_warning.h:32 ...... #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated. 4 2 C:\Documents and Settings\nebeu\Pulpit\Projekty\C++\Nauka\Projekt1.cpp:26 ...........[Warning] no newline at end of file Tylko to wyrzuca. Znaczy się z innej lokalizacji skompilowało się bez problemu A kompilator wyrzuca tylko ostrzeżenia - błędów nie widzę. Ostatnie ostrzeżenie wyeliminujesz dodając nową pustą linię na końcu kodu (entera klepnij) Tak cały projekt przeniosłem do swojego katalogu gdzie mam projekty i kompilator skopilował. Pokazuje się ekran i wyświetla napis poczym wpisuję jakąś liczbę np. 1, 4, 2 okno programu odrazu znika. Co do ostrzeżeń to kompilator wyrzuca tylko to co napisałem . Bo IMO kod chyba jest wporządku? Kod jest pewnie prawie w porządku. Jakby był całkiem w porządku to nie wyświetlałby warningów. Pewnie związane jest to jakoś ze standardami języka c++ - a to na razie za wysokie progi na moje biedne nogi A okienko Ci znika dlatego, że nie dałeś jakiejś funkcji czekającej na wciśnięcie klawisza. Po ostatnim cout spróbuj dać getch() czy też System("pause") Update: Znalazłem takie coś - http://www.devport.info/forum_post,1875.php#1875 z związku z warningiem jednym Udało się Thor . Własnie tak się zastanawiałem czy właśnie nie przez to ".h", bo kiedyś też coś pisałem i też z tym miałem problem. Jednak nadal wyskakuje ten warn odnośnie nowej lini ale kompilatorowi chodzi o 2 wiersz (nie wiem czemu). Tak poza tym program już działa bez zarzytów. Tylko, że on podaje Ci który chcesz wyraz ciągu nie wyrzuca ich wszystkich po kolei. Jednak można jakos przerobić ten kod . Warningi przez .h były Dokształciłem się. Teraz nie wstawia się tego .h A to nową linię na końcu pliku dodałeś No to teraz jak działa to dodaj liczenie czasu w jakim dokonały się obliczenia. I wyrzuć ten czas na ekran. Co do tej lini to dodałem ale nadal wyskakuje to. Jemu chodzi o 2 wiersz. A co do tego czasu to jak to się wywołuje bo jeszcze nie wiem? Ja uzywałem do tego fukcji GetTickCount - w dev c++ też pewnie jest. Na poczatku pobierasz czas do jakiejś zmiennej za pomocą tej funkcji a na końcu odejmujesz od aktualnego czasu (znowu GetTickCount) ten pobrany początkowy. I wynik dostajesz w milisekundach. Nie jest to funkcja bardzo dokładna ale przy dłuższych obliczeniach błąd czasu wynikający z uzycia tej funkcji jest pomijalny. Poszukam tej funkcji bo jeszcze tego nie kapuję . mam do ciebie prośbę - zapodaj mi twoją wersję cpp... może bycz a maila Asdef@o2.pl dawno nie bryndźiłem w c++ - może cos ciekawego sobie przypomnę #include <iostream> #include<conio.h> using namespace std; int fib(int n) { switch (n) { case 1: return 1; break; case 2: return 1; break; default: return fib(n-1) + fib(n-2); } } int main() { int wej; cout << "Ktory wyraz ciagu Fibonacciego podac?\n"; cin >> wej; cout << fib(wej) << "\n"; getch(); } Regards @1!3n Edit//ExeQtoR// Zmieniłem znacznik code na quote tak jak z pewnością chciał autor Juz sie zalogowalem. Nie wiem czy to dobre miejsce zeby sie przywitac. Znalazlem to forum wlasnie przy okazji szukania programu na ciag fibonacciego, wiec to chyba dobre miejsce. Odnosnie programowania to dopiero zaczynam. Mam nadzieje ze znajde tu pomoc i odpowiedzi na pytania odnosnie programowania. Pozdro, Alien Btw. Chcialem uzych BB-code zeby uzyc code. Na innym forum wygladalo to tak: [CODE=Tutaj nazwa programu] Tutaj program [/CODE] Najwidoczniej na tym forum to nie dziala, a raczej dziala ale ma inna postac: Tutaj program Alien: ten algorytm na liczenie elementów ciagu fibbonaciego jest chyba najgorszy z możliwych, dlatego radze Ci jeszcze poszukac Alien: ten algorytm na liczenie elementów ciagu fibbonaciego jest chyba najgorszy z możliwych, dlatego radze Ci jeszcze poszukac Jest wiele sposobów na napisanie jakiejś rzeczy. Jedne pomysły są lepsze inne gorsze, ale za to efekt ten sam. Nie każdy od razu programuje super. Trzeba się uczyć na błędach. Jeżeli tak uważasz to napisz tutaj swoją wersję. sorry ze dopiero teraz ale zapomniałem o Tym poście i teraz dopiero przypadkiem trafiłem tu i coś mi sie ten temat skojrzył Oczywiście nie miałem zamiaru nikogo tamtą wypowiedzia urazić(jeżeli to zrobiłem) ten kodzik pisałem dość dawno jako rozwiązanie jakiegoś zadania: #include <cstdio> struct matrix{ long long M [2][2]; }; void mno( matrix& A, matrix& B) { matrix temp; for(int i = 0 ; i < 2 ; ++i ){ for(int j = 0 ; j < 2 ; ++j ){ temp.M[i][j] = ( A.M[i][0] * B.M[0][j] + A.M[i][1] * B.M[1][j] ) ; } } A = temp; } int pot( int n ) { matrix d,A; A.M[0][0] = A.M[0][1] = A.M[1][0] = 1; A.M[1][1] = 0; d.M[0][0] = d.M[0][1] = d.M[1][0] = 1; d.M[1][1] = 0; int q; while(true){ if( n == 0 ) break; q = n&1; n>>=1; if( q != 1){ mno(A,A); continue; } mno(d,A); mno(A,A); } return d.M[0][1]; } int main() { int n; scanf("%u",&n); printf("%d",pot(n-1)); return 0; } mała zmiana zeby było "lepiej" #include <cstdio> struct matrix{ long long M [2][2]; }; void mno( matrix& A, matrix& B) { matrix temp; for(int i = 0 ; i < 2 ; ++i ){ for(int j = 0 ; j < 2 ; ++j ){ temp.M[i][j] = ( A.M[i][0] * B.M[0][j] + A.M[i][1] * B.M[1][j] ) ; } } A = temp; } int pot( int n ) { matrix d,A; A.M[0][0] = A.M[0][1] = A.M[1][0] = 1; A.M[1][1] = 0; d.M[0][0] = d.M[0][1] = d.M[1][0] = 1; d.M[1][1] = 0; int q; while(n){ q = n&1; n>>=1; if( q != 1){ mno(A,A); continue; } mno(d,A); mno(A,A); } return d.M[0][1]; } int main() { int n; scanf("%u",&n); printf("%d",pot(n-1)); return 0; } //juz zarejestrowany, witam wszystkich Obliczanie n-tego wyrazu ciągu Fibonacciego - użytkownik podaje n-ty wyraz ciągu z klawiatury - program dokonuje obliczeń i wyświetla wartość dla wskazanego wyrazu ciągu przez użytkownika oraz umożliwienie wykonania powtórnie całej operacji jak to zrobic?? w c++ mozesz skorzystac z implementacji algorytmu obliczającej n-ty wyraz ciagu w moim poprzednim poście ... musisz jeszcze tylko w funkcji main dodac jeszcze jedną pętle umozliwiającą userowi wpisanie większej liczby szukanych wyrazów a czy mogl bym dostac przepis jak cos z gory jestem wdzieczny ......... #include <stdio.h> #include <stdlib.h> int fibonaci(int fib); int main(int argc, char *argv[]) { int ktora; long wynik; puts("Podaj ktora liczbe fibonacciego chcesz otrzymac"); scanf("%d",&ktora); wynik=fibonaci(ktora); printf("Licba %d z ciagu to %d",ktora,wynik); system("PAUSE"); return 0; } int fibonaci(int fib){ long wynik; long fiba=1; long fibb=1; int i=2; if(fib==1 || fib==0) return 1; else { while(i<fib){ wynik=fiba+fibb; fiba=fibb; fibb=wynik; i++; } } return wynik; } to bardzo okrutne i niedobre rozwiazanie pod wzgledem optymalizacji:) ale rekurencja ta pokazuje jak wlasnie moze pozerac czas i wszystko lepszy jest iteracyjny algorytm xyz wielkie dzieki jestes wporzadku Mam napisać program do obliczania n-tego wyrazu ciągu Fibonacciego. Napisałem taki: #include <iostream> using namespace std; int main() { int n, s1=1, s2=1,; cout <<"Ktory wyraz ciagu Fibonacciego podac: "; cin >> n; cin.ignore(); n=n/2; while (n>0) { s2=s2+s1; s1=s1+s2; n--; if(n==1) cout <<"\nTen wyraz to "<< s1; } getchar(); return 0; } Co o nim sądzicie? #include <iostream> using namespace std; long long F[50]; int main() { F[0]=0; F[1]=1; int n; for(n=2;n<50;n++) {F[n]=F[n-1]+F[n-2];} for(n=0;n<50;n++) {cout <<"Pozycja numer: "<<n<<" - "<<F[n]<<endl;} system("pause"); } |
||||
Wszelkie Prawa ZastrzeĹźone! chomiki Design by SZABLONY.maniak.pl. | |||||