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
Version imprimable
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:
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:
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
je veux seulement l'algorithme svp
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