[C++] Problem z funkcją, tablicą i pętlą.
Ostatnio zmodyfikowano 2013-04-17 19:02
krzysiek95 Temat założony przez niniejszego użytkownika |
[C++] Problem z funkcją, tablicą i pętlą. » 2013-04-17 17:46:41 Cześć. Mam do napisania następujący program: Napisz program,w którym będzie funkcja zwracająca liczbę wystąpień danej licczby w tablicy. W funkcji main symulowane jest rzucanie sześćienną kostką do gry.Program ma wyświetlić wyniki 100 losowań i podać ,która liczba oczek w tych stu rzutach wypadła najmniej razy.Wskazówka:potrzebne tablice zadeklaruj jako zmienne globalne |
Mój kod: #include <cstdlib> #include <iostream> #include <string> #include <ctime>
using namespace std;
int tab[ 100 ], licz[ 6 ];
int main( int argc, char ** argv ) { int i, min, minn; srand( time( 0 ) ); cout << "Wylosowane liczby: \n"; for( i = 1; i <= 100; i++ ) { tab[ i ] = 1 + rand() % 6; cout << tab[ i ] << " "; licz[ tab[ i ] ] ++; } cout << endl; for( i = 1; i <= 6; i++ ) cout << "Liczbe " << i << " wylosowano " << licz[ i ] << " razy\n"; min = licz[ 1 ]; for( i = 1; i <= 6; i++ ) { if( licz[ i ] <= min ) { min = licz[ i ]; minn = i; } } cout << "Najmienj razy wylosowanio liczbe: " << minn << endl; system( "PAUSE" ); return 0; }
Kod się kompiluje, działa, tylko nie wiem jak napisać tę funkcję która ma zwracać ilość wylosowanych liczb. Proszę o szybką pomoc. :) |
|
pekfos |
» 2013-04-17 17:51:46 Przenieś część kodu z main do funkcji. W czym problem? |
|
krzysiek95 Temat założony przez niniejszego użytkownika |
» 2013-04-17 18:15:48 Dobrze, a możesz napisać którą?? Proszę. |
|
pekfos |
» 2013-04-17 18:18:08 No to przenieś część kodu z main do oddzielnej funkcji. W czym problem? |
|
krzysiek95 Temat założony przez niniejszego użytkownika |
» 2013-04-17 18:30:21 Zrobiłem jak powiedziałeś i nie działa. :( Kod #include <cstdlib> #include <iostream> #include <string> #include <ctime>
using namespace std;
int tab[ 100 ], licz[ 6 ];
int funkcja( int tab[] ) { int i; for( i = 0; i < 6; i++ ) { licz[ tab[ i ] ] ++; } return licz[ tab[ i ] ]; }
int main( int argc, char ** argv ) { int i, min, minn; srand( time( 0 ) ); cout << "Wylosowane liczby: \n"; for( i = 1; i <= 100; i++ ) { tab[ i ] = 1 + rand() % 6; cout << tab[ i ] << " "; } funkcja( tab[ i ] ); cout << endl; for( i = 1; i <= 6; i++ ) cout << "Liczbe " << i << " wylosowano " << licz[ i ] << " razy\n"; min = licz[ 1 ]; for( i = 1; i <= 6; i++ ) { if( licz[ i ] <= min ) { min = licz[ i ]; minn = i; } } cout << "Najmienj razy wylosowanio liczbe: " << minn << endl; system( "PAUSE" ); return 0; }
Wywala następujące błędy: [Error] invalid conversion from 'int' to 'int*' [-fpermissive] [Error] initializing argument 1 of 'int funkcja(int*)' [-fpermissive] |
|
pekfos |
» 2013-04-17 18:31:58 1. tab to nie to samo co tab[ i ] . 2. Po to masz globalne tablice, byś nie musiał ich przekazywać.. |
|
krzysiek95 Temat założony przez niniejszego użytkownika |
» 2013-04-17 19:02:52 Dzięki, działa.
|
|
« 1 » |