1 svar
400 visningar
Alexandra123 är nöjd med hjälpen
Alexandra123 2
Postad: 29 dec 2020 21:03

Uppgift - Skriv ut och jämför

Hej!

Jag är väldigt ny inom C# och skulle behöva lite hjälp..

Har en uppgift som lyder så här: 

"Denna uppgift bygger vidare på föregående uppgift.

Deklarera en variabel med ett heltal.

Skriv ut alla värden ur vektorn med en loop.

Om något tal i vektorn är lika med heltalet i den nya variabeln så ska detta uppmärksammas."

Problemet jag har är att om användaren skriver in talet 17, så kommer inte mitt sista meddelande upp.. vad gör jag för fel?

Så här ser min kod ut just nu:


int[] tal = new int[10];

int gissatRätt = 17;

Console.WriteLine("Vänligen skriv in ett heltal: ");

for (int i = 0; i < tal.Length; i++)
{
tal[i] = int.Parse(Console.ReadLine());
Console.WriteLine("Indexnummer {0} har värdet {1} som du angav.", i, tal[i]);
Console.Write("Skriv in ett till heltal: ");
}
for (int i = 0; gissatRätt == i; i++)
{
tal[i] = int.Parse(Console.ReadLine());
Console.WriteLine("Ditt tal stämde med det förbestämda heltalet.");

}

Yngve 21249 – Volontär digitala räknestugor
Postad: 30 dec 2020 09:25 Redigerad: 30 dec 2020 09:31
Alexandra123 skrev:

Här sättet du variabeln gissatRätt till 17:

int gissatRätt = 17; 

Villkoret i den här loopen är att i ska vara lika med gissatRätt, vilket inte är fallet första gången, då ju i = 0 och gissatRätt = 17. Det betyder att loopen avbryts direkt och att satserna inne i loopen aldrig körs:


for (int i = 0; gissatRätt == i; i++)
{
...

}

========

Det står inget i uppgiften om hur vektorn med tal ska skapas, det står inte att användaren ska mata in några tal alls.

Det skulle lika gärna kunna vara så här:

Sätt gissaRätt till 17.

Sätt vektorn till (3, 6, 1, 45, 38, 17, 0, -4, 6, 1)

För vart och ett av talen i vektorn {

  Skriv ut talet.

  Om talet är lika med gissaRätt så skriv ut "Samma".

}

Svara Avbryt
Close