Des profs incompétents qui confondent le C avec le C++, ce n'est pas la première fois qu'on nous en parle ici.
Change de prof, fais-le virer, il n'est visiblement pas à la hauteur.
Version imprimable
Des profs incompétents qui confondent le C avec le C++, ce n'est pas la première fois qu'on nous en parle ici.
Change de prof, fais-le virer, il n'est visiblement pas à la hauteur.
En plus c't'un chinois lulz
pis cest pas un novice en C/C++ qui va faire virer un prof :/
Sauf en présentant des preuves de son incompétence, comme des extraits de cours et des documents...
Voire mieux, le résultat d'un test professionnel à faire passer au prof par la ruse...
Okay jai trouvé l'erreur, jai eu une illumination. XD
enfin jai juste fixé le tri croissant. mais jai compri lerreur :D
a la place de
et ca marchais.Code:
1
2
3
4
5
6 table_cpy = t; // jai mis: table_cpy[j] = t[j];
voila.
petite question, comment je peux virer une seule valeur d'un tableau, exple:
jai:
t[0] = 1;
t[1] = 2;
t[2] = 5;
Comment faire pour avoir:
t[0] = 2;
t[1] = 5;
en locurence virer la premiere valeur, mais bon, ca aurait pu etre la 2e.
Tu pourrais parcourir ton tableau case par case en décalant à chaque itération ou alors faire appel à memmove :Citation:
Envoyé par secksy
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <stdio.h> #include <string.h> /* memmove */ #define TAILLE 10 #define POS 2 /* de 0 à TAILLE-1 */ int main( void ) { int tab[TAILLE] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; size_t i; memmove(tab+POS,tab+POS+1,(TAILLE-POS-1)*sizeof *tab); for( i=0 ; i<TAILLE-1 ; i++ ) { printf("tab[%d] = %d\n",i,tab[i]); } return 0; }
Mais comme le tableau d'origine est non-trié, si tu veux retirer une valeur, tu peux tout simplement mettre la dernière valeur à la place...
Exemple:
Code:
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
34
35
36
37
38 struct tableauInt { int *pBuffer; /* durée de vie: contrôlée par la structure */ size_t tailleBuffer; size_t tailleTableau; /* jamais supérieur à tailleBuffer */ }; typedef enum e_tabBool { TABLEAU_FALSE=0, TABLEAU_TRUE } TABBOOL; /* Fonction de validation: retour booléen. Comme c'est de la validation, on se moque du "Single Entry, Single Exit" */ TABBOOL tableauEstValide(struct tableauInt const *pcTableau) { if(pcTableau==NULL) return TABLEAU_FALSE; if(pcTableau->pBuffer==NULL) return TABLEAU_FALSE; if(pcTableau->tailleTableau > pcTableau->tailleBuffer) return TABLEAU_FALSE; return TABLEAU_TRUE; } /* Retourne 0 si OK, -1 si erreur */ int tableauSupprimerInt(struct tableauInt *pTableau, size_t index) { /* Contrôle des paramètres: Ici, je me permets une entorse au "Single Entry, Single Exit" */ if(!tableauEstValide(pTableau)) return -1; if(index >= pTableau->tailleTableau) return -1; /* Remplace par le dernier élément */ pTableau->pBuffer[index] = pTableau->pBuffer[pTableau->tailleTableau - 1]; /* "supprime" le dernier élément */ pTableau->tailleTableau--; return 0; }