Probleme de programme en C.

cedric -  
 josch83 -
Salut,
Voila 2 exo de programmat° ke g du mal a faire. Quelqu'un pourrait m'aider. Merci d'avance.

exo1:
Ecrivez une fct: void array_copy(char[], char[], int);
qui prend en parametres 2 tableaux(unidimensionnels) de caracteres et un entier specifiant leur taille et copie le 2eme tableau ds le 1er. ecrivez un programme qui teste cette fct. Lisez la page memcpy(3) ds le manuel Unix.

exo2:
Ecrivez une fct: void array_dup(char[], char[], int, int);
qui prend en parametres 2 tableaux de caracteres et 2 entiers n et m, où le 2eme tableau a la taille n, tandis que le 1er a la taille nm. La fct copiera le contenu du 2eme tableau n fois de suite ds le 1er. Ecrivez un programme qui teste cette fonction.


Ouf
A voir également:

1 réponse

josch83
 
Salut je vais voir ce que je peux faire pour toi. ;)

----------------------------------------------------------------------------
/*
* exo1 : fn : void array_copy(char*, char*, int);
*/

void array_copy(char*, char*, int);

int main(){

int tabl1[5], tabl2[5]={'a','b','c','d','e'};

array_copy(&(*(tabl1+0)), &(*(tabl2+0)), 5);

return;
}

void array_copy(char *array1, char *array2, int n_elem){

int i;

for(i=0 ; i<n_elem ; i++){
*(array1+i)=*(array2+i);
}
return;
}
----------------------------------------------------------------------------

/*
* exo2 : fn : void array_dup(char*, char*, int, int);
*/

#define N 3
#define M4

void array_dup(char*, char*, int, int);

int main(){

int tabl1[N*M], tabl2[N]={'a','b','c'};

array_dup(&(*(tabl1+0)), &(*(tabl2+0)), N, M);

return;
}

void array_dup(char *array1, char *array2, int n, int m){

int i, j;

for(i=0, j=0 ; j<n*m ; i++, j++){
*(array1+i)=*(array2+i);
i=(i==n) ? i=0 : i;
}
return;
}
----------------------------------------------------------------------------

Voilà j'espère que ça poura t'aider. Il ne devrait pas y avoir d'erreurs normalement, mais je ne les ai pas testées. Donc c'est a toi de verifier.

Bonne chance.

P.S. : Si tu as des problèmes tu peux me mailer à :
schmidt.joachim.devel@bluewin.ch

josch83
0