Permalänk

Skoluppgift: Fyll vektorn

Jag har en uppgift som ska funka så här: Användaren ska kunna skriva in 10 heltal och sen få ut dom i en vektor lista. Fast jag får inte till det, här är min kod hittills.

int[] tal = new int[10];

Console.WriteLine("Skriv in 10 valfria heltal: ");
int index=0;

string hej = Console.ReadLine();
int test = Convert.ToInt32(hej);
tal[index] = test;

Console.ReadLine();

string okay = Console.ReadLine();
int test2 = Convert.ToInt32(okay);

for (index = 0; index < 10; index++)
{

Console.WriteLine("index {0} värde {1}", index, test, test2, tal[index]);

}

Permalänk
Moderator

Du kanske borde börja med att öppna läroboken eller titta på annat material du fått.

Hur många tal läser du in? Hur gör man för att läsa in 10 tal?

Saker som du kan leta efter i ditt material är hur man läser och skriver till en vektor samt hur en for-loop fungerar. Dessa två bitarna behöver jobba ihop.

Sedan skadar det inte att slå upp dokumentation för enskilda kommandon om man inte förstår dem, som tex Console.WriteLine. Hur funkar den?

Permalänk
Medlem

Min rekommendation är att du stegar igenom koden med vanliga ord, typ såhär:

int[] tal = new int[10]; blir "En int array som heter tal skapas med 10 lådor"

Console.WriteLine("Skriv in 10 valfria heltal: "); blir "Skriver ut texten till terminalen"

Så gör du det för varje del och sedan funderar du på hur programmet kör, det är en hel del du lär upptäcka som inte låter rätt när du säger det högt med ord.

Permalänk
Medlem

Är test tal nummer 1 och test2 tal nummer 2? Hur hade du gjort om du skulle lägga in 100 nummer?

Permalänk
Medlem

Ser nästan ut att vara en kopia av ett trådämne även postat på flashback. Är det månne sommarkurser som måste klaras av innan nästa termin?

Kan du berätta i detalj om uppgiften för dig själv - kan du även programmera det. Vet du inte vad som skall göras kan du inte heller skriva något program för det. Vissa kallar det steget för systemering.

Permalänk

string hej = Console.ReadLine(); Console.ReadLine(); string okay = Console.ReadLine();

Användaren får alltså skriva in ett tal som sparas i en sträng. Sedan skriver användaren in något ytterligare som slängs bort utan att sparas och sist skrivs det in något tredje som sparas i en sträng. Det är förvirrande för användaren om det ska skrivas in saker som sedan inte används till något. Har du tänkt dig att hej och okay ska följas av åtta till strängar med olika namn?

Det kan vara bra att tänka på att använda begripliga namn på saker. Om du fyller på med några hundra rader med kod kanske du glömmer bort vad som är vad och blandar ihop dem, vilket ger konstiga resultat. Risken för detta minskar om man har begripliga namn.

Permalänk

Jag löste det. Kan skriva in min kod här om ni vill kolla hur jag gjorde. Tack så mycket för eran hjälp, uppskattar det!