Skriv ut och jämför
Uppgiften:
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.
Bifoga koden
Min kod ser ut så här:
using System;
namespace vektorer
{
class Program
{
static void Main(string[] args)
{
int[] tal = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; //vektorn fyllde med 10 heltal
for (int i = 0; i < tal.Length; i++)
{
Console.Write("Ange ett heltal från 1 till 10: ");
string str = Console.ReadLine(); //återanvänd variabeln str!
int element = Convert.ToInt32(str);
tal[i] = element; //lägg in värdet på index i
int fem = 5;
for (int j = 0; j < tal.Length; j++)
{
Console.WriteLine(tal[j]);
if (j == fem)
{
Console.WriteLine("Samma tal är 5");
}
}
}
Console.ReadLine();
}
}
}
Problemet är att man ska se "Samma tal är 5" om man skriver 5, men det här meddelandet kommer alltid med alla tal. Hur jag kan fixa det? Kod körning ser också ut inte så bra :/
Tack på förhand!
Ange ett heltal från 1 till 10: 5
5
2
3
4
5
6
Samma tal är 5
7
8
9
10
Ange ett heltal från 1 till 10
Nu är det inte så mycket kod men jag klarar inte av att läsa kod som inte är indenterad, får lite halvt panik. Så du får gärna använda "infoga programmeringskod", dvs {:} för att infoga din kod, om du då redan indenterat det i din IDE så är allt fixat och det blir mycket snällare för allas ögon! :)
Problemet är att du jämför j med en godtycklig siffra och j går ju från 0<= j < arr.length().
du vill ju jämföra talet fem med ett värde i din array.
Kan du visa en körning som den ser ut nu, med dina tio inmatade tal och all output?
Laguna skrev:Kan du visa en körning som den ser ut nu, med dina tio inmatade tal och all output?
Ange ett heltal från 1 till 10: 6
6
2
3
4
5
6
Samma tal är 5
7
8
9
10
Ange ett heltal från 1 till 10:
Dracaena skrev:Nu är det inte så mycket kod men jag klarar inte av att läsa kod som inte är indenterad, får lite halvt panik. Så du får gärna använda "infoga programmeringskod", dvs {:} för att infoga din kod, om du då redan indenterat det i din IDE så är allt fixat och det blir mycket snällare för allas ögon! :)
Oj, tack, då fixar jag koden :)
Om du matade in 4 skulle du väl vilja jämföra med 4 och inte 5? Det talet har du i variabeln 'element' .
Laguna skrev:Om du matade in 4 skulle du väl vilja jämföra med 4 och inte 5? Det talet har du i variabeln 'element' .
ursäkta, men jag förstår inte :/
kan du gärna rätta in koden, tack @.@
Nej, rätta koden får du göra. Varför jämför du med 5?
Laguna skrev:Nej, rätta koden får du göra. Varför jämför du med 5?
Så att om man skriver samma tal som redan finns i den nya variabeln, det uppmärksammas med "Samma tal är 5" :)
Då frågar jag igen: vad händer om du matar in 4?
Laguna skrev:Ange ett heltal från 1 till 10: 4 4 2 3 4 5 6 Samma tal är 5 7 8 9 10 Ange ett heltal från 1 till 10:
Då frågar jag igen: vad händer om du matar in 4?
OK, jag menade vad du vill ska hända. Nu är det fel i programmet såtillvida att du jämför med indexet och inte med elementet som har det indexet.
Laguna skrev:OK, jag menade vad du vill ska hända. Nu är det fel i programmet såtillvida att du jämför med indexet och inte med elementet som har det indexet.
Jag vill att alla värden skrivs ut på ett normalt sätt, utan "samma tal är 5" i mitten. Och att "samma tal är 5" skrivs ut bara om användaren skriver 5 :)
Uppgiften verkar vara att skriva ut något speciellt om det nya talet är samma som något som redan förekommer. Det står ingenting om 5.
Jag tror det kanske hjälper om du läser frågan igen och funderar på vad de frågar efter och vad din kod gör.
Man vill att du deklarerar en variabel, vi kan kalla den för 'tal' för enkelhetensskull.
Du skapar en array med hur många element du villl.
Du skall loopa igenom alla element i array och skriva ut deras värde och skulle det vara så att 'tal' har samma värde som något element i din array så ska du göra något speciellt, kanske en annan print.
Kolla nu tillbaka till din kod, kan du beskriva vad det är din kod gör? Du märker nog direkt då vart ditt fel ligger.