Przekazywanie tablic jednowymiarowych do funkcji
Ostatnio zmodyfikowano 2011-08-09 22:37
dexiu03 Temat założony przez niniejszego użytkownika |
» 2011-08-07 22:55:53 int liczba[ 10 ]; liczba[ 0 ] =( rand() % 4 ) + 7 );
i mógłbym tak ciągle aż do 10 elementu tablicy czyli: liczba[ 9 ] =( rand() % 4 ) + 7 );
a więc chyba dobrze zrobiłem Pańskie przykłady, a co z moim problemem :P? Nadal nie rozumiem jak przekazać tablicę do funkcji.. |
|
DejaVu |
» 2011-08-07 23:32:15 A co wynika z przykładu zamieszczonego w rozdziale do którego sam dałeś linka? :) |
|
dexiu03 Temat założony przez niniejszego użytkownika |
» 2011-08-08 15:44:23 ze w moim wypadku na przykladzie nie potrzebne int iRozmiar czy dlos? :P nie no nie wiem. kombinuje nadal.. nie wiem z której strony ugryźć ten temat oO edit: #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
void los( int t[], int dlos ) { srand( time( NULL ) ); dlos =(( rand() % 4 ) + 7 ); int i = 0; do { t[ i ]; i++; } while( i < 999 ); }
int main() { int t1[ 999 ]; los( t1, 999 ); int i = 0; do { cout << t1[ i ] << endl; i++; } while( i < 999 ); return 0; }
To modyfikacji... teraz wyswietla mi liczby jedna pod druga, ale nie losuje z zakresu 4-10... Modyfikowalem go na trzy sposoby i zaden z nich nie dziala... |
|
SeaMonster131 |
» 2011-08-08 16:18:42 Przyjrzyj się temu: dlos =(( rand() % 4 ) + 7 ); int i = 0; do { t[ i ]; i++; } while( i < 999 ); Masz zmienną dlos i przypisujesz jej wylosowaną wartość. Po co? Przecież każdy element tablicy ma mieć tą wylosowaną wartość, a nie ta zmienna :) |
|
dexiu03 Temat założony przez niniejszego użytkownika |
» 2011-08-09 21:11:33 Nie wiem... nie umiem, nie rozumiem, nie potrafię pojąć tego rozdziału, choć dalsze potrafię wykonywać... zrobiłem kod taki: #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
void wTablice( int t[], int ile ) { for( int i = 0; i < ile; i++ ) cout << t[ i ] << endl; }
void wylosuj( int t[], int ile ) { for( int i = 999; ile < i; i++ ) ( rand() % 4 ) + 7; }
int main() { int liczba; cout << "Podaj liczbe tablic: "; int t[ liczba ]; wylosuj( t, liczba ); wTablice( t, liczba ); return 0; }
i nic... wiesza się program po wczytaniu ile utworzonych tablic ma być... a jak jest tak: #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
void wTablice( int t[], int ile ) { for( int i = 0; i < ile; i++ ) cout << t[ i ] << endl; }
void wylosuj( int t[], int ile ) { for( int i = 999; ile < i; i++ ) ( rand() % 4 ) + 7; }
int main() { int liczba; cout << "Podaj liczbe tablic: "; int t[ liczba ]; wTablice( t, liczba ); return 0; }
to wypełnia mi kosmicznymi liczbami.. i w ogóle wtedy nie wiem gdzie się wykonuje losowanie gdy nie ma takowej funkcji. oO dlaczego mi nie losuje odpowiednich liczb ;<? |
|
jankowalski25 |
» 2011-08-09 21:54:25 W funkcji main():
1. Przypisz wartość zmiennej liczba za pomocą cin.
2. Zabezpiecz program przed przypisaniem nieprawidłowej wartości do zmiennej liczba.
W funkcji wylosuj():
1. Zmień wartość początkową zmiennej i na 0.
2. Przypisz wylosowaną liczbę do zmiennej ile.
3. Przypisz do i'tego elementu tablicy wartość zmiennej i.
|
|
Lamerek |
» 2011-08-09 21:55:30 Po pierwsze masz źle ustawione losowanie. Z zakresu od 4 do 10 jest 7 liczb więc musi być Po drugie w tej funkcji potrzebne ci tylko tablica i 1 zmienna: void( int t[] ) { int licznik = 0; srand( time( NULL ) ); do { t[ licznik ] =( rand() % 7 ) + 4 ); licznik++; } while( licznik != 10 ); }
Jak tego nie skumasz to czytaj od nowa cały kurs :) |
|
SeaMonster131 |
» 2011-08-09 21:58:15 Spójrz na to: void wylosuj( int t[], int ile ) int liczba; int t[ liczba ]; wTablice( t, liczba ); i sie zastanów.. |
|
1 « 2 » 3 |