Problem med att lagra värden i en vektor. Programmering 1

Permalänk
Medlem

Problem med att lagra värden i en vektor. Programmering 1

Hej! Jag har en uppgift i Programmering 1 där användaren ska skriva in 10 värden som ska lagras i en vektor. Detta tycks jag inte få att fungera. Är det någon som skulle kunna ge mig lite vägledning i vad jag gör för fel? Jag tänker att om värdet skulle ha lagrats så skulle värdet ha skrivits ut där jag skrivit "Console.WriteLine("tal[4]");, men där står bara just tal[4].

using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("Skriv in 10 heltal:"); string inmatning = Console.ReadLine(); int userNumber = int.Parse(inmatning); int[] tal = new int[10]; for (int i = 0; i < 10; i++) { tal[i] = userNumber; inmatning = Console.ReadLine(); } for (int i = 0; i < 10; i++) { Console.WriteLine("tal[4]"); Console.ReadKey(); } } } }

Permalänk
Medlem

Ta bort "

Visa signatur

"One is always considered mad, when one discovers something that others cannot grasp."
- Ed Wood

Permalänk
Medlem

Precis, du skriver just nu ut tal[4] som en del av en string eftersom du har " " runt utrrycket.

Visa signatur

Ryzen 7 7800X3D | ASUS TUF Gaming B650-Plus WIFI | Kingston 32GB (2x16GB) DDR5 6GT/s CL30 FURY Beast | Kingston Fury Renegade M.2 NVMe SSD Gen 4 2TB | MSI RTX 4060 8GB | Fractal Design Define S | MSI MPG A850G 850W | Thermalright Phantom Spirit 120 SE | Windows 11 Pro | AOC 27" AGON AG276QZD2 OLED QHD 240 Hz

Permalänk
Medlem

@Joppis: oj!! Tack så jättemycket. Nu funkar det som det ska!

Permalänk
Medlem

@Joppis: Fungerar inte helt som jag vill.. Programmet skriver ut det första värdet användaren har skrivit in oavsett vilket värde jag vill skriva ut.

class Program { static void Main(string[] args) { Console.WriteLine("Skriv in 10 heltal:"); string inmatning = Console.ReadLine(); int userNumber = int.Parse(inmatning); int[] tal = new int[10]; for (int i = 0; i < 10; i++) { tal[i] = userNumber; inmatning = Console.ReadLine(); } for (int i = 0; i < 10; i++) { Console.WriteLine("Ditt femte tal är:"); Console.WriteLine(tal[4]); Console.ReadKey(); } } } }

Permalänk
Medlem

När du skriver:
tal[i] = userNumber;
i den första loopen så fyller du hela tiden på med värdet från userNumber som användaren bara matar värden till första gången.

variabeln inmatning gör du ju inget med

Visa signatur

Ryzen 7 7800X3D | ASUS TUF Gaming B650-Plus WIFI | Kingston 32GB (2x16GB) DDR5 6GT/s CL30 FURY Beast | Kingston Fury Renegade M.2 NVMe SSD Gen 4 2TB | MSI RTX 4060 8GB | Fractal Design Define S | MSI MPG A850G 850W | Thermalright Phantom Spirit 120 SE | Windows 11 Pro | AOC 27" AGON AG276QZD2 OLED QHD 240 Hz

Permalänk
Medlem

Som så många gånger förut. Om programmering är någonting du vill bli "bra" på, och kanske läsa mer av eller jobba med senare i livet.

Lär dig debuggern! Jag förstår itne varför skolor, generellt, inte går igenom det... Jag använder debuggern mer än någonting annat(efter Google då..) när jag arbetar. Då hade du sett direkt varför din kod inte fungerar.

Annars är det som @Joppis säger. Du sparar värdet användaren matar in, i inmatning. Sen går du inget mer med variabeln inmatning.

Visa signatur

Äsch...