Ogłoszenie

Collapse
No announcement yet.

C++ Z podanych przez użytkownika liczb wyświetla te,

Collapse
X
 
  • Filtr
  • Czas
  • Pokaż
Clear All
new posts

    C++ Z podanych przez użytkownika liczb wyświetla te,

    Witam, muszę na jutro po południu napisać program w C++ który po podaniu przez użytkownika określonej przez użytkownika ilości liczb wyświetla te, które należą np do przedziału (2,5)

    Umiem odczytać liczby i zapisać je do tablicy, bo tak to ma być. Teraz muszę zrobić, aby z liczb, które są w tablicy wyświetlił większe od 2 i mniejsze od 5 ... Niestety męczę się z tym i mi nie wychodzi :P

    (Google też nie umie pomóc )

    Mam coś takiego:

    [code]#include <iostream>
    using namespace std;
    int main ()
    {
    int n;
    int i;
    float t[1000];

    cout << "podaj liczbe elementów" << endl;
    cin >> n;

    for(i=0;i<=n-1;i++)
    {
    cout << "Podaj liczbe " << i << endl;
    cin >> t[i];
    }

    for(i=0;i<n;i++)
    {
    cout << t[i] << endl;
    }



    system("PAUSE");
    return 0;
    }
    [/code]

    Co dalej mam dopisać? Próbowałem to robić if'em, ale lipa :/

    Proszę o pomoc i pozdrawiam, Adam.

    #2
    fragment
    [code]for(i=0;i<n;i++)
    {
    cout << t[i] << endl;
    }[/code]
    zamieniłbym na
    [code]
    for(i=0;i<n;i++)
    {
    if ((t[i]<5)&&(t[i]>2))
    {
    cout << t[i] << endl;
    }
    }

    [/code]

    Skomentuj


      #3
      Jeżeli 2 i 5 zawieraja sie również w przedziale do wyświetlenia to kod Janusza trzebaby porpawić w
      [code]
      if ((t[i]<=5)&&(t[i]>=2))
      [/code]

      Skomentuj


        #4
        Miodzio :) O to chodziło :) wielkie dzięki

        W sumie bardzo proste to jest, a nie załapałem, żeby tak to zrobić

        Skomentuj


          #5
          Prawda Yoshi, nie pomyślałem nawet o tym, choć w sumie w szkole uczyli, że
          Zamieszczone przez cudny90
          (2,5)
          (cytat z pierwszego postu autora) jest przedziałem obustronnie otwartym

          Skomentuj


            #6
            Fakt liczy się rodzaj nawiasu, kurcze kto by to pamiętał :mrgreen:

            Skomentuj


              #7
              Tak, przedział otwarty, chociaż jaki tak naprawdę będzie, to się dzisiaj na kolosie dowiem Dostałem cynk po prostu, że taki program na kolosie będę musiał napisać :P Wiecie jak to jest

              Skomentuj


                #8
                Kto by to pamiętał, dawno temu było...
                Jak koło, Cudny?
                ps.
                Przedział domknięty - kod Yoshiego.
                Przedział otwarty - mój kod.

                Skomentuj


                  #9
                  Janusz_S, zaliczony na 4.0 3 programy były do napisania, dwa napisałem w 15 minut, a z trzecim meczylem sie ponad godzine i nic nie wyczarowałem

                  Był ciąg rekurencyjny i program miał wyznaczac N pierwszych wyrazów ciągu ( N określone przez usera )

                  Wzór:

                  0, n=0
                  1, n=1
                  F(n-1)+F(n-2), n>1

                  Jak Wam się chce to możecie dla sportu sobie poćwiczyć C++

                  Skomentuj


                    #10
                    [code]#include <iostrean.h>
                    using namespace std;
                    int main(){
                    int N;
                    cout<<"Podaj ilość elementów ciągu";
                    cin>>N;
                    float F[N];
                    F[0]=0;
                    F[1]=1;
                    for(int i=2; i<=N){
                    F[i]=F[i-1]+F[i-2]
                    }
                    return 0;
                    }
                    [/code]
                    Też chce takie zadania na zaliczenie
                    Ten kod może nie działać na każdym kompilatorze na devc++ działa bez problemu

                    Skomentuj


                      #11
                      float t[1000];

                      cout << "podaj liczbe elementów" << endl;
                      cin >> n;
                      A co jeżeli tablica będzie miała więcej niż 1000 elementów? Powinieneś ją stworzyć dopiero po tym jak użytkownik zadeklaruje liczbę elementów:
                      int n;
                      cin>>n;
                      float wektor[n];

                      Skomentuj


                        #12
                        gilbert, robiliśmy przykładowe programy i gość akceptował t[1000] - sam nas tego nauczył :P :P


                        skowron, a Twój program mi nie działa :P iostreaM ma być ale dalej nie działa

                        Skomentuj


                          #13
                          Jak to nie działa? Działa, ale nic nie wyświetla
                          trzeba by dodać
                          [code]cout << F[i] << endl; [/code] zaraz po [code]F[i]=F[i-1]+F[i-2] ; [/code] w programie skowron'a.

                          BTW, to byłby ciąg Fibonacci'ego

                          Skomentuj


                            #14
                            Dokładnie nic nie wyświetla trzeba dodać tak jak kolega wyżej napisał
                            Co do tego deklarowania tablicy to tak jak napisałem nie zawsze zadziała dlatego na sztywno się deklaruje jakąś dużą tablice np 1000 elementów i dodatkowo dodaje się warunek że N <=1000;

                            Skomentuj


                              #15
                              Zamieszczone przez skowron
                              Ten kod może nie działać na każdym kompilatorze na devc++ działa bez problemu
                              Ten kod raczej nie będzie działać na żadnym. N to musi być stała żeby w ten sposób zadeklarować tablice (N musi być znane w chwili kompilacji). Tą tablice trzeba utworzyć dynamicznie operatorem [code]new[/code] i [code]delete[/code].
                              [code]
                              float *F = new float[N];
                              ...
                              delete F;
                              [/code]

                              Skomentuj


                                #16
                                Jeśli to było zadanie na rekurencje to według mnie powinno wyglądać np tak:

                                [code]#include <iostream.h>
                                #include <conio.h>

                                int fib1(int n)
                                {
                                if (n==0) return 0;
                                else
                                if (n==1) return 1;
                                else return fib1(n-1)+fib1(n-2);

                                }

                                int main(void)
                                {
                                int a=0;
                                cout << "Podaj n=";
                                cin >> a;
                                cout << "Wynik fib.v1=" << fib1(a) << endl;

                                cout << "Koniec programu" << endl;
                                getch();
                                return 0;
                                }[/code]

                                Tak jak wyżej, tablica w C++ musi mieć zadeklarowany bezpośrednio rozmiar w innym wypadku musimy to rozwiązać przez użycie wskaźników.

                                Skomentuj

                                Czaruję...
                                X