Bien le bonjour, ça fait une vingtaine de minutes que je bloque et je n'arrive pas à trouver la solution ... peut-être que j'ai mal compris l'utilisation des pointeurs (ça doit être courant dans le coin ).
Bref, j'essaye d'insérer une valeur dans un tableau composé d'autre chiffres.
J'insère une valeur précis à une position précise.
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
34
35
36
37
38
39
40
41
42 #include <iostream> using namespace std; //Fonction permettant d'insérer une valeur "val" à une position "pos" dans un tableau "tab" de taille "tai" void insertValeur( int* pos, int* val , int* tai, int* tab[]){ int i; *tai += 1; for ( i = *tail ; i > *pos ; i--){ *tab[i] = *tab[i-1]; } *tab[*pos] = *val; } int main() { // Definition du tableau int taille,i; taille = 5; int tableau[taille]; for (i=0 ; i<taille ; i++ ) { tableau[i] = i; cout << tableau[i] << endl; } // Insertion de valeur à l'aide de la fonction insertValeur int position = 3; int valeur = 42; insertValeur(&position , &valeur , &taille , &tableau); { cout << "nouvelles valeurs : " << tableau[i] << endl; } return(0); }
Il me retourne une erreur qui me parait bizarre avec des int** ( pointeur de pointeur ? ).
Merci d'avance pour votre aide, je sais que je peux utiliser la classe vector et ses insert, push_front et push_back mais pourquoi faire simple lorsque l'on peut faire compliqué ?
Partager