[C++] Przekazywanie wskaźników na dane do funkcji
Ostatnio zmodyfikowano 2013-09-15 10:38
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: #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 ) { 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. |
|
DejaVu |
» 2013-09-15 10:38:22 Przykład:
void funkcja( int * zmienna ) { * zmienna = 3; }
int main() { int x = 0; funkcja( & x ); printf( "%d\n", x ); return 0; }
|
|
« 1 » |