ďťż
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
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • therasmus.pev.pl

  • chomiki

    Oto 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");
    }
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • mandragora32.opx.pl
  • ďťż
    Wszelkie Prawa ZastrzeĹźone! chomiki Design by SZABLONY.maniak.pl.