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

[C++] Przekazywanie wskaźników na dane do funkcji

Ostatnio zmodyfikowano 2013-09-15 10:38
Autor Wiadomość
lewozmywak
Temat założony przez niniejszego użytkownika
[C++] Przekazywanie wskaźników na dane do funkcji
» 2013-09-13 10:25:28
To moja treść zadania:
Napisz funkcję przyjmująca jako parametr wejściowy jednowymiarową tablice wartości całkowitych oraz jej długość, a następnie zliczająca te elementy tablicy, które są parzyste oraz te które są nieparzyste. Te dwie wartości (liczniki) powinny zostać przekazane z funkcji za pośrednictwem wskaźnika. Sama zaś funkcja powinna zwracać wartość zmienną typu bool, przy czym zmienna ta powinna przyjmować wartość true, w przypadku gdy oba parametry mają identyczną wartość a w przeciwnym przypadku wartość false. Napisz krótki program sprawdzający poprawność działania funkcji.
o to moj kod:
C/C++
#include <iostream>

using namespace std;


bool fun( int * tab, int S )
{
    bool b = false;
    int licz1 = 0;
    int licz = 0;
   
    for( int i = 0; i < S + 1; i++ )
    if( tab[ i ] % 2 == 0 ) //sprawdzenie parzystośći
    {
        licz++;
    }
    else
    {
        licz1++;
    }
    if( licz == licz1 )
         b = true;
   
    return b;
}

int main()
{
    const int D = 4;
    int tab[] = { 3, 1, 1, 3, 8 };
   
    cout << fun( tab, D );
   
    cin.get();

Problem w tym że nie rozumiem jednej rzeczy, mianowicie : "  Te dwie wartości (liczniki) powinny zostać przekazane z funkcji za pośrednictwem wskaźnika ". Nie rozumiem o co w tym chodzi, w tym wypadku, bo dla mnie nie logiczne jest teraz tutaj zastosowanie wskaźników, a jak czegoś takiego nie zrobię na zaliczeniu to mie uwalą. Chodzi o to bym, wyprowadził z funkcji swoje liczniki na maina; czy czasem nei chodzi o to żebym w swojej funkcji zamiast na licznikach operował na wskaźnikach do nich? Jak ktoś rozumi to proszę o wytłumaczenie.
P-92039
DejaVu
» 2013-09-15 10:38:22
Przykład:
C/C++
void funkcja( int * zmienna )
{
    * zmienna = 3;
}

int main()
{
    int x = 0;
    funkcja( & x );
    printf( "%d\n", x );
    return 0;
}
P-92154
« 1 »
  Strona 1 z 1