Funkcja kopiująca za pomocą wskaźników
Ostatnio zmodyfikowano 2017-09-08 18:05
dawi04 Temat założony przez niniejszego użytkownika |
Funkcja kopiująca za pomocą wskaźników » 2017-09-08 15:28:24 Witam mam napisać funkcję int kopiujParzyste( int * docelowa, int * zrodlowa, int ile ) {...} , która kopiuje z tablicy "zrodlowa" do tablicy "docelowa" tylko parzyste liczby. Jej rezultatem ma być liczba przekopiowanych liczb, a realizacja ma być z wykorzystaniem wskaźników. Zmajstrowałem coś takiego: for( int i = 0; i < ile; i++ ) if( liczba % 2 ) docelowa[ i ] = zrodlowa[ i ]; Jestem pewny, że to jest źle, dlatego proszę o pomoc bo jestem z tego zielony. Jednym z głównych problemów dla mnie jest samo wykorzystanie wskaźników. |
|
mateczek |
» 2017-09-08 16:43:29 coś takiego ?? #include <iostream> using namespace std; int copyParity( int * source, int * dest, int rozmiar ) { int countParity = 0; while( rozmiar-- ) { if( * source % 2 == 0 ) { * dest = * source; dest++; countParity++; } source++; } return countParity; } int main() { int tablica[ 10 ] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int tablica2[ 10 ]; int ile = copyParity( tablica, tablica2, 10 ); for( int i = 0; i < ile; i++ ) { cout << tablica2[ i ] << " "; } } |
|
Kinexity |
» 2017-09-08 17:06:30 A nie możesz po prostu użyć memcpy()? Edit: odpowiedź nieważna - nie doczytałem, że tylko parzyste. |
|
dawi04 Temat założony przez niniejszego użytkownika |
» 2017-09-08 18:05:04 Dzięki wielkie przyda się, temat zamknięty. |
|
« 1 » |