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

[C++] Problem z funkcją, tablicą i pętlą.

Ostatnio zmodyfikowano 2013-04-17 19:02
Autor Wiadomość
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:
C/C++
#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. :)
P-80727
pekfos
» 2013-04-17 17:51:46
Przenieś część kodu z main do funkcji. W czym problem?
P-80729
krzysiek95
Temat założony przez niniejszego użytkownika
» 2013-04-17 18:15:48
Dobrze, a możesz napisać którą?? Proszę.
P-80734
pekfos
» 2013-04-17 18:18:08
No to przenieś część kodu z main do oddzielnej funkcji. W czym problem?
P-80736
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
C/C++
#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]
P-80740
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ć..
P-80741
krzysiek95
Temat założony przez niniejszego użytkownika
» 2013-04-17 19:02:52
Dzięki, działa.
P-80748
« 1 »
  Strona 1 z 1