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

Funkcja kopiująca za pomocą wskaźników

Ostatnio zmodyfikowano 2017-09-08 18:05
Autor Wiadomość
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.
P-164726
mateczek
» 2017-09-08 16:43:29
coś takiego ??
C/C++
#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 ] << " ";
    }
   
}
P-164728
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.
P-164729
dawi04
Temat założony przez niniejszego użytkownika
» 2017-09-08 18:05:04
Dzięki wielkie przyda się, temat zamknięty.
P-164731
« 1 »
  Strona 1 z 1