9 svar
608 visningar
alex 269 – Fd. Medlem
Postad: 27 nov 2019 18:29

Hur adda man nya värde i en vektor

Hej 

Hur kan man lägga nya värde i en vektor med  att behålla de gamla värden?

Tack

Lindehaven 820 – Lärare
Postad: 27 nov 2019 21:46

Svaret kanske finns här?

Yngve 37823 – Livehjälpare
Postad: 28 nov 2019 07:35
alex skrev:

Hej 

Hur kan man lägga nya värde i en vektor med  att behålla de gamla värden?

Tack

Lindehaven tolkar din fråga som att den gäller datatypen Vector. Stämmer det eller menar du egentligen en Array?

Kan du du ge ett exempel på vad det är du vill göra?

alex 269 – Fd. Medlem
Postad: 28 nov 2019 13:32

Jag vill att första passagerare vill åka bussen ska skriva in sin ålder, sedan den andra passagerare ska också kunna skriva in sin ålder efter ( switch och case ) och så sätt upp till 25. alla passagerare ska lägga i en vektor.

Yngve 37823 – Livehjälpare
Postad: 28 nov 2019 13:42 Redigerad: 28 nov 2019 13:46
alex skrev:

Jag vill att första passagerare vill åka bussen ska skriva in sin ålder, sedan den andra passagerare ska också kunna skriva in sin ålder efter ( switch och case ) och så sätt upp till 25. alla passagerare ska lägga i en vektor.

Har du kommit någon vart med tipsen du fick i din andra tråd?

Dvs

Varje gång en passagerare vill kliva på bussen:

Om firstFreeSeat > 9 så skriv ut "Tyvärr, bussen är full", annars {

Läs in passagerarens ålder i age.
Lägg in detta värde på position ledigPlats i vektorn, dvs seat[firstFreeSeat] = age
Öka variabeln firstFreeSeat med 1.
}

Ändra 9 till 24 (och deklarera seat[] som en array med 25 element)

Laguna Online 28479
Postad: 28 nov 2019 15:01

Googla på "resize array c#".

alex 269 – Fd. Medlem
Postad: 28 nov 2019 16:20
Yngve skrev:
alex skrev:

Jag vill att första passagerare vill åka bussen ska skriva in sin ålder, sedan den andra passagerare ska också kunna skriva in sin ålder efter ( switch och case ) och så sätt upp till 25. alla passagerare ska lägga i en vektor.

Har du kommit någon vart med tipsen du fick i din andra tråd?

Dvs

Varje gång en passagerare vill kliva på bussen:

Om firstFreeSeat > 9 så skriv ut "Tyvärr, bussen är full", annars {

Läs in passagerarens ålder i age.
Lägg in detta värde på position ledigPlats i vektorn, dvs seat[firstFreeSeat] = age
Öka variabeln firstFreeSeat med 1.
}

Ändra 9 till 24 (och deklarera seat[] som en array med 25 element)

Hej 

Jag vet inte vad du menar eller hur man kodar det du säger.

om varje passagerare ska välja med switch metoden för att lägga passagerare och hen ska skriva in sin ålder

på så sätt åldern läggas i en vektor och den andra läggas i samma vektorn men den första försvinner eftersom koden körs ifrån början.

Jag  kunde inte hitta en lösning för detta

Yngve 37823 – Livehjälpare
Postad: 28 nov 2019 16:36
alex skrev:
Hej 

Jag vet inte vad du menar eller hur man kodar det du säger.

om varje passagerare ska välja med switch metoden för att lägga passagerare och hen ska skriva in sin ålder

på så sätt åldern läggas i en vektor och den andra läggas i samma vektorn men den första försvinner eftersom koden körs ifrån början.

Jag  kunde inte hitta en lösning för detta

Lösningen är att du har en variabel som pekar ut den position som nästa passagerare ska få, dvs den första "lediga" positionen i vektorn. Jag kallar den variabeln för firstFreeSeat men du kan kalla den vad du vill. Du använder den variabeln för att indexera vektorn och därmed lägga in nästa passagerares ålder på rätt ställe utan att skriva över något.

Säg att vi börjar med en tom vektor seat[].

Vi initierar därför variabeln firstFreePos till 0.

-------

Sedan kliver en passagerare som är 23 år gammal på bussen:

seat[firstFreePos] = 23 // hamnar på position 0, dvs seat[0] == 23.

firstFreePos++  // Ökar värdet på firstFreePos till 1. Nästa passagerare kommer alltså att hamna på position 1 i vektorn.

---

Nu kliver en passagerare som är 42 år gammal på bussen:

seat[firstFreePos] = 43 // hamnar på position 1, dvs seat[1] == 42. Inget skrivs över.

firstFreePos++  // Ökar värdet på firstFreePos till 2. Nästa passagerare kommer alltså att hamna på position 2 i vektorn.

Hängde du med?

alex 269 – Fd. Medlem
Postad: 28 nov 2019 19:30

Ja, men det är inte en lösning till min fråga 

det du menar det här

for (int firstFreePos = 0; firstFreePos < 25; firstFreePos++)

{

här kodar man till att lägga ålder i vektron

}

Yngve 37823 – Livehjälpare
Postad: 28 nov 2019 20:13 Redigerad: 28 nov 2019 20:17
alex skrev:

Ja, men det är inte en lösning till min fråga 

det du menar det här

for (int firstFreePos = 0; firstFreePos < 25; firstFreePos++)

{

här kodar man till att lägga ålder i vektron

}

Om det inte är en lösning till din fråga så får du beskriva din fråga lite mer i detalj.

Gäller det bara att läsa in 25 tal och lägga dem i en vektor?

Svara Avbryt
Close