Bonsoir à tous,
j'ai déja posté il y a de ça, deux semaines environ sur un exo qui me posait probleme à cause des pointeurs.
Aujourd'hui je reviens. Je bug au niveau des pointeurs à chaque fois que j'en utilise j'ai trop d'erreur que je n'arrive pas à corriger. En plus de ça se mélange les tableaux et du coup je modifie pleins de trucs pour voir si ça change quelque chose ce qui fait que je ne sais plus trop ou j'en suis.
Alors voilà mon énoncé :
alors je vous montre ci dessous mon programme, je sais pas si il execute correctement l'énoncé mais c'est surtout les probleme de pointeurs et de tableaux que j'aimerai comprendre. La suite je corrigerai en voyant le résultat. Si quelqu'un pouvait m'expliquer mes erreursEcrire une fonction C de nom mixageTableaux permettant de mixer (voir définition plus loin) deux tableaux d'entiers ayant la même taille et de mettre le resultat dans un autre tableau. On supposera que le tableau contenant le résultat a une taille suffisante.
Définition du "mixage" de deux tableaux :
La première case du tableau 1 va dans la premère case du tableau résultat, la première
case du tableau 2 va dans la deuxième case du tableau résultat.
Puis, la deuxième case du tableau 1 va dans la troisième case du tableau résultat, la deuxième case du tableau 2 va dans la quatrième case du tableau résultat.
Etc...
Exemple : soient T1={1,2,3,4,5} et T2= {6,7,8,9,10}
après "mixage" de T1 et T2, on obtient dans un autre tableau TR={1,6,2,7,3,8,4,9,5,10}![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 #include <stdio.h> void mixageTableaux(int t1[], int t2[], int *t3[]) { int i, size=10 ; for (i=0; i<size; i=i+1) { if (i%2 == 0 && i-1<=size && i!=0) { *t3[i]= t1[i-1] ;} else { if(i%2 != 0 && i-1<=size) { *t3[i] = t2[i-1] ; } else { if(i==0) { *t3[i]= t1[i] ; } } } } } int main () { int t1[5]= { 1,2,3,4,5}; int t2[5]= { 6, 7,8,9,10}; int t3[10], i ; mixageTableaux(t1, t2, &t3); for (i= 0; i<10; i=i+1) { printf("%d\n", t3[i]) ; } return 0 ; }
Merci![]()
Partager