• Witamy w największym polskim serwisie internetowym poświęconym w całości zagadnieniom samodzielnej budowy nagłośnienia.
    Dzięki DIYaudio.pl poznasz zagadnienia samodzielnej budowy nagłośnienia od podszewki oraz będziesz mógł dyskutować o DIY audio do woli.

    Artykuły z dawnego portalu zostały przeniesione do sekcji forum na samym dole.

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

cudny90

DIYaudio.pl logo creator
Rejestracja
Wrz 9, 2007
Postów
1,088
Reakcji
1
Lokalizacja
Zagórze/Kraków
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:

Kod:
#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;
}

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

Proszę o pomoc i pozdrawiam, Adam.
 
fragment
Kod:
for(i=0;i<n;i++) 
{ 
cout << t[i] << endl; 
}
zamieniłbym na
Kod:
for(i=0;i<n;i++) 
{
if ((t[i]<5)&&(t[i]>2))
    {
    cout << t[i] << endl; 
    }
}
 
Jeżeli 2 i 5 zawieraja sie również w przedziale do wyświetlenia to kod Janusza trzebaby porpawić w
Kod:
if ((t[i]<=5)&&(t[i]>=2))
 
Miodzio :) O to chodziło :) wielkie dzięki ;)

W sumie bardzo proste to jest, a nie załapałem, żeby tak to zrobić ;)
 
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 :D
 
Kto by to pamiętał, dawno temu było... :D
Jak koło, Cudny? ;)
ps.
Przedział domknięty - kod Yoshiego.
Przedział otwarty - mój kod.
 
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 :D :D

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++ :D
 
Kod:
#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;
}
Też chce takie zadania na zaliczenie :D
Ten kod może nie działać na każdym kompilatorze na devc++ działa bez problemu
 
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
 
Jak to nie działa? Działa, ale nic nie wyświetla ;)
trzeba by dodać
Kod:
cout << F[i] << endl;
zaraz po
Kod:
F[i]=F[i-1]+F[i-2]     ;
w programie skowron'a.

BTW, to byłby ciąg Fibonacci'ego ;)
 
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;
 
skowron napisał:
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
Kod:
new
i
Kod:
delete
.
Kod:
float *F = new float[N];
...
delete F;
 
Jeśli to było zadanie na rekurencje to według mnie powinno wyglądać np tak:

Kod:
#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;
}

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.
 
Powrót
Góra