20. december 2005 - 17:46Der er
8 kommentarer og 1 løsning
Flyt alle pladser i struct en plads tilbage?
Hej
Jeg sidder og arbejder med struct (indholder navn og alder) og vil gerne gøre det muligt at slette og for at undgå et "hul", så skal de data der kommer efter flyttes tilbage. eks: 0: Jens 21 1: Bo 7 2: Per 43
Hvis jeg så sletter 1 (Bo 7), så når jeg udskriver min struct, så kan det gerne se ud som følgende: 0: Jens 21 1: Per 43
Har prøve følgende:
for (i = i; i<=antal; i++) { person[i].forNavn, person[++i].forNavn; personer[i].efterNavn = personer[++i].efterNavn; personer[i].alder = personer[++i].alder; }
i: Det id som skal slettes/overskrieves antal: Antallet af poster i struct
for (i = slettet; i < antal; i++) { strcpy(person[i].forNavn,personer[i+1].forNavn); strcpy(person[i].efterNavn,personer[i+1].efterNavn); person[i].alder = personer[i+1].alder; }
for (i = i; i<antal; i++) { strcpy(personer[i].forNavn,personer[i+1].forNavn); //fejl i denne linie og de 2 næste strcpy(personer[i].efterNavn,personer[i+1].efterNavn); personer[i].alder = personer[i+1].alder; }
Synes godt om
Slettet bruger
20. december 2005 - 18:37#6
Jeg har fundet ud af det. Fejlen lå et andet sted.
hvis det er C++ og ikke C så overvej en STL vector fremfor et array
Synes godt om
Slettet bruger
21. december 2005 - 08:46#9
Det er c
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.