Wypisanie liczb z przedziału.
Ostatnio zmodyfikowano 2016-11-25 17:58
karambaHZP |
» 2016-11-25 09:36:32 jeżeli podam liczby 1-10 potrzebuję tablice 10 elementową ale gdy podam 1 - 25000 to tablica musi być inna. Funkcji nie mogę użyć. |
C korzysta z VLA więc możesz na bieżąco podać rozmiar tablicy, ale nie polecam tego rozwiązania. Istnieje ryzyko przepełnienia stosu i lepiej dynamicznie alokować pamięć. #include <stdio.h>
int main() { int N; scanf( "%d", & N ); int tab[ N ]; for( int i = 0; i < N; ++i ) { tab[ i ] = i + 1; } for( int i = 0; i < N; ++i ) { printf( "%d ", tab[ i ] ); } }
|
|
michal11 |
» 2016-11-25 10:06:48 Jeżeli masz tylko wypisać liczby z przedziału i nic więcej z nimi nie robić to nie musisz wrzucać ich do tablicy. |
|
CCbolt Temat założony przez niniejszego użytkownika |
» 2016-11-25 11:02:08 Jestem zainteresowany, mi to zadanie się skojarzyło z losowaniem liczb jakie tu robiłem i starałem się w tą stronę uderzyć. Swoją drogą komputer gdzieś liczby pomiędzy A i B musi trzymać stąd ten skok na tablice. |
|
SeaMonster131 |
» 2016-11-25 11:06:47 komputer gdzieś liczby pomiędzy A i B musi trzymać |
Dlaczego? Skoro zna początek i koniec przedziału (jako NumA i NumB). |
|
mateczek |
» 2016-11-25 11:30:55 ludzie mają ostatnio straszny problem opisaniem tego, co chcą osiągnąć !!! Przykład: Zadanie programu to: Najpierw przyjąć 10 liczb typu int. Następnie spytać się użytkownika o przedział. Na koniec wypisać tylko liczby, które zawarte są w przedziale. #include<iostream> using namespace std; int main() { cout << "ile liczb chcesz podać: "; int rozmiar; cin >> rozmiar; int * tab = new int[ rozmiar ]; cout << "wprowadz" << rozmiar << "liczb:" << endl; for( int i = 0; i < rozmiar; i++ ) { cout << "liczba " << i + 1 << ":"; cin >> tab[ i ]; cout << endl; } cout << "podaj granice przedzialu" << endl; int lim1, lim2; cin >> lim1 >> lim2; if( lim1 > lim2 ) swap( lim1, lim2 ); for( int i = 0; i < rozmiar; i++ ) { if( lim1 <= tab[ i ] && tab[ i ] <= lim2 ) { cout << tab[ i ] << " "; } } delete[] tab; }
|
|
CCbolt Temat założony przez niniejszego użytkownika |
» 2016-11-25 11:37:25 Ok pętla for( i= NumA; i<=NumB; i++ ) i leci bez tablicy. |
|
mateczek |
» 2016-11-25 11:45:24 Ok pętla for( i= NumA; i<=NumB; i++ ) i leci bez tablicy. |
AAAAAAAAAAAAAAAA to o takie wypisywanie liczb z przedziału chodziło :P:P:P No to faktycznie nie trzeba tablicy:P |
|
karambaHZP |
» 2016-11-25 11:48:10 Na koniec wypisać tylko liczby, które zawarte są w przedziale. |
z liczbami A i B włącznie |
Warto by dodać, że przedziale obustronnie domkniętym. #include <stdio.h>
int main() { int counter = 0; int downLim = 3; int upLim = 8; int nLoops = 0; scanf( "%d", & nLoops ); while( counter++ < nLoops ) { int number = 0; scanf( "%d", & number ); if( number >= downLim && number <= upLim ) { printf( "%d ", number ); } } } 5 11 6 5 9 3 6 5 3 edit: Ok pętla for( i= NumA; i<=NumB; i++ ) i leci bez tablicy. |
. To z tym maiłeś problem? Spoko:) |
|
1 « 2 » 3 |