Bonjour,
j'ai une structure de tableau de Indice lignes.
j'ai les champs: Date_ Début, Date_Fin, Vmax.
je veux écrire un programme qui supprime une ligne de ce tableau et qui décrémente les autres lignes.
svp, besoin de vos aides.
merci
Bonjour,
j'ai une structure de tableau de Indice lignes.
j'ai les champs: Date_ Début, Date_Fin, Vmax.
je veux écrire un programme qui supprime une ligne de ce tableau et qui décrémente les autres lignes.
svp, besoin de vos aides.
merci
Bonjour,
Notre réglement nous interdit de faire les devoirs, mais nous encourage à apporter de l'aide.
Pour ce faire nous avons besoin de ton contexte.
Montre-nous ce que tu as déjà fait, dis-nous où tu bloques.
Nous pourrons alors t'aider à comprendre pourquoi tu bloques, et ainsi te permettre d'apprendre.
Comme tu l'as apparemment compris, il est bon de demander de l'aide pour avancer, afin de ne pas réinventer la roue.
Mais il ne s'agit pas non plus de pomper du code sans comprendre.
oui je suis entraine de programmer en Text Structured (comme le langage C)
maintenant je veux supprimer une ligne de ce tableau et decrémenter les lignes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Indice:=0; IF (Ajouter_SP = TRUE) THEN Indice:=Indice+1; Tab_Sous_periodes[Indice].Date_Debut:=Date_Debut_SP; Tab_Sous_periodes[Indice].Date_Fin:=Date_Fin_SP; Tab_Sous_periodes[Indice].Vmax:= Vmax_SP; END_IF; Ajouter_SP := FALSE;
j'ai fai ce programme mais il manque bcp surtout la decrementation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 IF (Supprimer_SP = TRUE) THEN Tab_Sous_periodes[Num_SP].Date_Debut:=Date_Debut_SP; Tab_Sous_periodes[Num_SP].Date_Fin:=Date_Fin_SP; Tab_Sous_periodes[Num_SP].Vmax:= Vmax_SP; END_IF; Supprimer_SP := FALSE;
Encore une fois... Text Structured != C... (tout comme Pascal != C)
Bref, comme je ne connais pas le "Text Structured", je ne sais pas comment on alloue/libère de la mémoire...
Je peux juste te dire :
Copie le tableau SAUF la ligne que tu veux supprimer, et tu libères le tableau d'origine pour retourner le nouveau
--
Metalman !
Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
(ANSI retire quelques fonctions comme strdup...)
L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
Et s'assurer que la logique est bonne "aussi" !
Ma page Developpez.net
Je te l'ai déjà donné.
Mathématiquement, il suffit de vérifier la propriété suivante
soit tab-avant et tab-après.
soit S le numéro de la ligne supprimé
pour tout i entier positif,
si i<S, ligne(tab-après, i) existe et est égale à ligne(tab-avant, i)
si i>=S et ligne(tab-avant, i+1) existe, alors ligne(tab-après, i) existe et est égale à ligne(tab-avant, i+1)
sinon, ligne(tab-après, i) n'existe pas
Partager