Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Losowanie kilku liczb w funkcji

Ostatnio zmodyfikowano 2011-04-17 14:38
Autor Wiadomość
Elano92
Temat założony przez niniejszego użytkownika
Losowanie kilku liczb w funkcji
» 2011-04-16 13:52:26
Napisz funkcję, która losuje liczbę z przedziału od 50 do 60 włącznie. Wywołaj funkcję kilka razy (wypisz wylosowane wartości na ekran) w celu przetestowania czy działa ona poprawnie.

Próbowałem zrobić to sam ,aby losował kilka liczb ,używając funkcji ,
19. Przekazywanie tablic jednowymiarowych do funkcji (lekcja) << ta lekcja mi w tym pomoże?


C/C++
#include <iostream>
#include <conio.h>
using namespace std;
void losowanie()
{
    srand( time( 0 ) );
    int a, tab[ 10 ];
    a = rand() % 10 + 50;
    cout << a;
   
}

int main()
{
    int b;
    b = losowanie();
    for( int b = 1; b <= 6; b++ )
    {
       
        cout << tab[ b ];
        cout << endl;
       
       
    }
   
   
    getch();
    return 0;
}

P-30879
Dawidsoni
» 2011-04-16 14:12:34
Tak. Jako argument do funkcji możesz przekazać tablicę, a w funkcji wylosować do niej liczby używając pętli.
P-30881
Elano92
Temat założony przez niniejszego użytkownika
» 2011-04-16 14:18:38
C/C++
#include <iostream>
#include <conio.h>
using namespace std;
void losowanie()
{
    srand( time( 0 ) );
    int a, tab[ 10 ];
    a = rand() % 10 + 50;
    cout << a;
   
}


void wypelnijTablice( int tab[], int Rozmiar )
{
    cout << "Ile liczb ma byc w tablicy " << endl;
    cin >> Rozmiar;
   
    for( int i = 1; i <= Rozmiar; i++ )
    {
        tab[ i ] = losowanie();
        cin >> tab[ i ];
    }
}
int main()
{
Co do tej pory robie żle?
P-30884
Dawidsoni
» 2011-04-16 15:13:10
#include <iostream>
#include <conio.h>
using namespace std;
void losowanie(int tab[1000],int rozmiar);


int main() {
int tablica[1000];
int rozmiar;
cout << "Podaj ile liczb wylosowac: ";
cin >> rozmiar;
losowanie(tablica,rozmiar);
for(int i=1;i<=rozmiar;i++) {
cout << tablica << endl;
}
}


void losowanie(int tab[1000],int rozmiar) {
srand( time( 0 ) );
for(int i=1;i<=rozmiar;i++) {
tab = rand() % 10 + 50;
}
}


Powinno być tak?
P-30889
Elano92
Temat założony przez niniejszego użytkownika
» 2011-04-16 15:25:44
w twoim mam błędy


C/C++
#include <iostream>
#include <conio.h>
using namespace std;
int losowanie()
{
    srand( time( 0 ) );
    int i, tab[ 10 ];
    return rand() % 10 + 50;
   
   
}


int wypelnijTablice( int tab[], int Rozmiar )
{
    cout << "Ile liczb ma losowac " << endl;
    cin >> Rozmiar;
   
    for( int i = 1; i <= Rozmiar; i++ )
    {
        losowanie();
       
       
    }
}

int main()
{
    int liczba;
    liczba = wypelnijTablice();
    cout << liczba;
   
    getch();
    return 0;
}




/* void wypelnijTablice( int tab[], int Rozmiar )
{
    cout << Ile liczb ma byc w tablicy << endl;
                  for(int i=0;i<=Rozmiar;i++)
               {
        std::cin >> tab[ i ];
              }                */

Tu zrobiłem , tyle ,że nie wiem jak to w main wsadzić
P-30890
Dawidsoni
» 2011-04-16 15:28:48
A co do twojego programu: funkcja losowanie jest typu void (nic nie zwraca), a piszesz: tab = losowanie. Jeśli chcesz, żeby twój program działał funkcja losująca musi zwracać typ int. (jeśli nie wiesz co to rezultat zwracany przez funkcję to poczytaj o tym) Jako rezultat zwracasz po prostu liczbę wylosowaną. Nie potrzebujesz żadnych tablic w funkcji losującej.
P-30891
Dawidsoni
» 2011-04-16 15:31:24
Sorka. Złą wersje dałem ci mojego. Ta jest prawidłowa:

C/C++
#include <iostream>
#include <conio.h>
using namespace std;
void losowanie( int tab[ 1000 ], int rozmiar );


int main() {
    int tablica[ 1000 ];
    int rozmiar;
    cout << "Podaj ile liczb wylosowac: ";
    cin >> rozmiar;
    losowanie( tablica, rozmiar );
    for( int i = 1; i <= rozmiar; i++ ) {
        cout << tablica[ i ] << endl;
    }
}


void losowanie( int tab[ 1000 ], int rozmiar ) {
    srand( time( 0 ) );
    for( int i = 1; i <= rozmiar; i++ ) {
        tab[ i ] = rand() % 10 + 50;
    }
}
P-30892
Elano92
Temat założony przez niniejszego użytkownika
» 2011-04-16 15:33:33
dalej mi wywala błąd "in function 'void losowanie(int*,int)';

Czy mógłbyś mi poprawić tylko tu maina ?

C/C++
#include <iostream>
#include <conio.h>
using namespace std;
int losowanie()
{
    srand( time( 0 ) );
    int i, tab[ 10 ];
    return rand() % 10 + 50;
   
   
}


int wypelnijTablice( int tab[], int Rozmiar )
{
    cout << "Ile liczb ma losowac " << endl;
    cin >> Rozmiar;
   
    for( int i = 1; i <= Rozmiar; i++ )
    {
        losowanie();
       
       
    }
}

int main()
{
    int liczba;
    liczba = wypelnijTablice();
    cout << liczba;
   
    getch();
    return 0;
}
P-30893
« 1 » 2 3
  Strona 1 z 3 Następna strona