Du kommer nästan garanterat inte få godkänt för en sån här lösning, helt enkelt eftersom den använder mer avancerade konstruktioner än ni lär ha lärt er än. Poängen med såna här uppgifter är att visa att du förstår grunderna, med din nuvarande lösning ser mer ut som att du bara kopierat någon (väldigt oeffektiv¹) lösning från nätet.
Det finns i stort sett två olika sätt att lösa problemet på. Det mest effektiva sättet att lösa det på är att helt enkelt bara kopiera den sista passageraren till platsen för passageraren som du vill ta bort. Den sista passageraren blir då duplicerad, men det löser sig när du sen minskar antal_passagerare
med ett eftersom den sista platsen i bussen då "glöms bort". Nackdelen med denna lösning är att ordningen på passagerarna kastas om när du bort passagerare.
Om ordningen på passagerarna måste bibehållas så är den andra lösningen att göra vad din nuvarande kod gör, d.v.s. ta reda på vilket index passageraren som ska tas bort ligger på och flytta upp alla element efter det indexet ett steg. Men använd for-loopar för att loopa igenom och flytta elementen "manuellt" istället. Om du vill kunna tala om för användaren att det inte fanns någon passagerare som matchade så är det troligtvis enklast att använda två separata for-loopar, en som letar efter passageraren och en som flyttar passagerarna, istället för att nästla for-loopar.
Du behöver för övrigt inte gå igenom hela arrayen, utan bara så många element som det finns passagerare. D.v.s. använd inte passengers.Length
när du loopar igenom arrayen, utan antal_passagerare
.
¹ Koden är oeffektiv eftersom den först går igenom hela arrayen för att leta efter rätt passagerare, struntar sen i indexet som hittats och går igenom hela arrayen igen för att skapa en lista som sen direkt konverteras till en array, och till sist skapar en ny array med 25 element och kopierar alla element från den gamla arrayen till den nya.