Inlägg

Inlägg som sbozic har skrivit i forumet
Av sbozic
Skrivet av NisseG91:

Okej, först och främst, vad fyller din array platser för funktion?

En fråga till, måste ni använda array eller är en list okej?
När man ska ta bort och lägga till saker så är inte en array helt fördelaktig. List hade t.ex. varit bättre i det här fallet.

Men om vi utgår från att en array är ett måste:

Om användaren matar in att den vill lägga till 25 platser så lagrar du värdet 25 på 25 platser i den arrayen, alltså får du i det fallet en array vid namn platser som har 25 stycken likadana värden? Varför inte skrota den helt och BARA köra på antal_passagare och ålder-arrayen?

Så när metoden läggTill_passagerare körs så lägger du till det värdet som användaren vill till värdet på antal_passagare. t.ex:

Console.Write("Hur många vill du lägga till: "); int antal_nya = int.Parse(Console.ReadLine()); //Vad händer om jag matar in någonting som inte är en integer här? if(antal_passagerare+antal_nya <= 25) { antal_passagerare += antal_nya; for (int x = 0; x < antal_nya; x++) // loopa nypåstigna { for (int i = 0; i < ålder.Length; i++) // loopa ålderna på alla nypåstigna { if (ålder[i] == 0)//Vad händer om jag matar in någon som har en ålder på 0? { Console.Write("Ange passagerares " + (x + 1) + " ålder: "); ålder[i] = int.Parse(Console.ReadLine()); break; } } } } else { Console.WriteLine("Kan inte lägga till " + antal_nya + " passagerare på bussen, då blir det överfullt."); }

Hoppas du blev klokare av min ytterst slarviga kod.

Hej! För det första så tack för at du tagit dig tid, uppskattas. Sen så tror jag att jag hänger med hyfsat. Vi måste göra det i en array. Jag visste inte att jag lagt värdet 25 i varje index "låda". Men behöver jag inte ha kvar den för att veta vilka som är tomma? Public int platser; typ

Av sbozic
Skrivet av NisseG91:

Hej,

Inte för att vara negativ men det är många väldigt grundläggande fel i din kod. Blir nog helt ärligt kämpigt att försöka få ordning på det innan semestern

Utan att ge dig för mycket gratis också men var, exakt, skiter det sig?
Börja använd debuggern!! Förstår inte varför det inte tas upp mer på utbildningar. Tryck F9 på en rad. Starta med F5 och stega genom koden med F10. Då kan du se vilka värden alla variabler har vid olika tillfällen i koden osv.

Skickades från m.sweclockers.com

Sorry att jag bombarderar så här. Men här är koden som jag vill få till. Allt ser ut att funka men jag upplever det som om inte värdena lagras i mina arrays.

using System; namespace Bussen_V2 { class Buss { public int[] platser = new int[25]; // En vektor med 25 element public int antal_passagerare; public int[] ålder = new int[25]; public void Run() { Console.WriteLine("Välkommen till denna buss!\n"); Console.WriteLine("Välj ett av följande alternativ.\n"); int meny = 0; do { Console.WriteLine("\nnr 1: Lägg till antal passagerare."); Console.WriteLine("nr 2: Skriv ut åldrarna på passagerarna."); Console.WriteLine("nr 3: Vad är den sammanlagda ålderna på passagerarna i bussen."); Console.WriteLine("nr 4: Avlsuta programmet och välkommen åter.\n"); meny = int.Parse(Console.ReadLine()); switch (meny) { case 1: LäggTill_passagerare(); break; case 2: Console.WriteLine(); break; case 3: Console.WriteLine(); break; case 4: Console.WriteLine("Programmet avslutas"); break; default: Console.WriteLine("\nFelakgtig inmatning, försök igen."); break; } } while (meny != 4); } public void LäggTill_passagerare() { Console.Write("Hur många vill du lägga till: "); int antal_nya = int.Parse(Console.ReadLine()); if (antal_passagerare + antal_nya < 25) // Om antalet nya understiger 25 { for (int i = 0; i < antal_nya; i++) { platser[i] = antal_nya; // Antal platser som fylls i++; } Console.WriteLine(platser.Length - antal_passagerare + " platser kvar på bussen"); // Antal platser kvar på bussen } else { Console.WriteLine("Det finns inte plats för " + antal_nya + " till, det finns endast plats för ytterligare " + (platser.Length - antal_passagerare) + ("pers")); // Hur många platser det finns kvar att fylla om man valt för många return; } for (int x = 0; x < antal_nya; x++) // loopa nypåstigna { for (int i = 0; i < ålder.Length; i++) // loopa ålderna på alla nypåstigna if (ålder[i] == 0) { Console.Write("Ange passagerares " + (x + 1) + " ålder: "); ålder[i] = int.Parse(Console.ReadLine()); break; } } } class Program { public static void Main(string[] args) { //Skapar ett objekt av klassen Buss som heter minbuss //Denna del av koden kan upplevas väldigt förvirrande. Men i sådana fall är det bara att "skriva av". var minbuss = new Buss(); minbuss.Run(); Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } } }

Av sbozic
Skrivet av NisseG91:

Hej,

Inte för att vara negativ men det är många väldigt grundläggande fel i din kod. Blir nog helt ärligt kämpigt att försöka få ordning på det innan semestern

Utan att ge dig för mycket gratis också men var, exakt, skiter det sig?
Börja använd debuggern!! Förstår inte varför det inte tas upp mer på utbildningar. Tryck F9 på en rad. Starta med F5 och stega genom koden med F10. Då kan du se vilka värden alla variabler har vid olika tillfällen i koden osv.

Skickades från m.sweclockers.com

Hej! Ja det är väl det. Sitter på Mac och har faktiskt inte fått till den debugg funktionen riktigt. Jag kan stega mig igenom vissa delar men kan inte se vad det är som händer. Det omnämns i kursen jag går men jag får inte till det på min Mac.

Jag ska prova börja om lite snabbt från början och se om jag kan få till det. Tack i alla fall.

Jag tror det skiter sig vid

if (antal_passagerare + antal_nya < 25) // Om antalet nya understiger 25 { for (int i = 0; i < antal_nya; i++) { platser[antal_passagerare] = antal_nya; // Antal platser som fylls antal_passagerare++; } Console.WriteLine(platser.Length - antal_passagerare + " platser kvar på bussen"); // Antal platser kvar på bussen } else { Console.WriteLine("Det finns inte plats för " + antal_nya + " till, det finns endast plats för ytterligare " + (platser.Length - antal_passagerare) + ("pers")); // Hur många platser det finns kvar att fylla om man valt för många return; }

Av sbozic

Komplettering

@sbozic:

Jag ska göra en meny med en switch case. Där kan man sedan välja olika alternativ. Man fyller i olika värden som ska lagras för att sedan kunna skriva ut hela array samt skriva ut det total summan av array, och jag håller fortfarande på med case 1.

Av sbozic

C# fastnat

Jag vet inte vart jag ska börja. Men ett av mina problem är att få mina värden lagrade i min Array så jag kan utföra lite olika saker. Måste bli klar då sambon bara drog för någon timme sedan och vi ska på semester och vi åker till flyget måndag natt, och jag har inte börjat packa något ännu då jag inte greppat C# än. Plugga på distans var knepigare än jag trodde och jag har suttit framför datorn sedan i fredags med denna uppgift. Jag har kollat på alla möjliga lösningar och klipp och klistrat och ändrat hit och dit och har helt tappat bollen. Måste lämna in i morgon.

Min kod ser ut såhär.

using System; namespace Bussen { class Buss { public int[] platser = new int[25]; // En vektor med 25 element public int antal_passagerare; public int[] ålder = new int[25]; public int sum; // Totala värdet public void Run() { Console.WriteLine("Välkommen till denna buss!\n"); Console.WriteLine("Välj ett av följande alternativ.\n"); int meny = 0; do { Console.WriteLine("\nnr 1: Lägg till antal passagerare."); Console.WriteLine("nr 2: Skriv ut åldrarna på passagerarna."); Console.WriteLine("nr 3: Vad är den sammanlagda ålderna på passagerarna i bussen."); Console.WriteLine("nr 4: Avlsuta programmet och välkommen åter.\n"); meny = int.Parse(Console.ReadLine()); switch (meny) { case 1: LäggTill_passagerare(); break; case 2: ålder_passagerare(); break; case 3: Console.WriteLine(); break; case 4: Console.WriteLine("Programmet avslutas"); break; default: Console.WriteLine("\nFelakgtig inmatning, försök igen."); break; } } while (meny != 4); } public void LäggTill_passagerare() { Console.Write("Hur många vill du lägga till: "); int antal_nya = int.Parse(Console.ReadLine()); if (antal_passagerare + antal_nya < 25) // Om antalet nya understiger 25 { for (int i = 0; i < antal_nya; i++) { platser[antal_passagerare] = antal_nya; // Antal platser som fylls antal_passagerare++; } Console.WriteLine(platser.Length - antal_passagerare + " platser kvar på bussen"); // Antal platser kvar på bussen } else { Console.WriteLine("Det finns inte plats för " + antal_nya + " till, det finns endast plats för ytterligare " + (platser.Length - antal_passagerare) + ("pers")); // Hur många platser det finns kvar att fylla om man valt för många return; } for (int x = 0; x < antal_nya; x++) // loopa nypåstigna { for (int i = 0; i < ålder.Length; i++) // loopa ålderna på alla nypåstigna if (ålder[i] == 0) { Console.Write("Ange passagerares " + (x + 1) + " ålder: "); ålder[i]= int.Parse(Console.ReadLine()); break; } } } //Skriv ut alla värden ur vektorn. Alltså - skriv ut alla passagerare public void ålder_passagerare() { foreach (int ålder in platser) { Console.WriteLine(platser); break; } } public int calc_total_age(int ålder) { //Beräkna den totala åldern. //För att koden ska fungera att köra så måste denna metod justeras, alternativt att man temporärt sätter metoden med void int summa = ålder; return summa; } class Program { public static void Main(string[] args) { //Skapar ett objekt av klassen Buss som heter minbuss //Denna del av koden kan upplevas väldigt förvirrande. Men i sådana fall är det bara att "skriva av". var minbuss = new Buss(); minbuss.Run(); Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } } } }

Av sbozic
Skrivet av NisseG91:

@sbozic:

Flera stycken, inklusive jag, har skrivit detta flera gånger.

För att öka värdet på din variabeln som styr förändring så körs i++ i slutet av varje for-loop.

for(int i =0; i<25;i++) //Här har vi en variabel, i, som styr förändringen i ditt fall. loopen ska köras medan i är mindre än 25. och i++ varje varv.

Så, om någonting blir tokigt vill vi inte att variabeln i ska få ett högre värde när nästa varv av loopen startar. För att göra detta MINSKAR vi värdet på variabeln i, som styr förändringen, när någonting går fel.

i--;

Där du tycker att det är lämpligt.

Alltså:

for(int i =0; i<Tal.length;i++) // i har värdet 0 { MATA IN EN SIFFRA if(siffran vi matade in här ovanför inte är mellan 0-25) //Här sker alltså magin, { skriv ut att dom matade in fel tal i--; //minska i med 1, i har alltså nu värdet -1 } else { Spara talet vi matade in här ovanför i din array(vektor) //Här är värdet på i fortfarande 0 } }

Efter for-loopen kört ett varv kan två saker ha hänt:

  • Efter for-loopen har variabeln i värdet -1 om vi matat in fel tal. den ökar med 1 och vi får då värdet 0 igen. detta innebär att vi är tillbaks på samma plats i arrayen som vi startade på.

  • Efter for-loopen har variabeln i värdet 0 om vi matat in rätt tal. den ökar med 1 och vi får då värdet 1 istället. Detta innebär att vi gått vidare till nästa plats i arrayen.

Hej NisseG91!

Jag har hela tiden trott att jag gjort som du säger men jag har uppenbarligen missat något gång på gång. Som det ser ut nu så har jag lyckats och jag har alla er här att tacka för det. Ska nu kolla igenom koden igen för att se vart jag gjort fel. För i min värd så har jag gjort som du skriver men uppenbarligen inte. Tusen tack!

Av sbozic

@sbozic:

Är det någon som faktiskt vet hur man backar ett steg i en array tills villkoret blir sant?

Alltså – för varje varv som for-loopen itererar så kommer värdet på variabeln som styr förändring att öka med ett (1). Men om vi skriver in ett ”olämpligt” värde så kommer värdet att minska med ett (1) i koden inuti loopen.

Av sbozic
Skrivet av Oh Geesus:

Istället för att krångla till det så borde en enkel while-sats i for-loopen räcka:

for (int i = 0; i < tal.Length; i++) { int gissadeTal = int.Parse(Console.ReadLine()); // läser in och omvandlar användarens tal while (gissadeTal < 1 || gissadeTal > 25) //Så länge det inmatade talet är lägre än noll (här ska det stå "ett" btw) eller över 25 { Console.WriteLine("värdet måste vara mellan 1 och 25 "); gissadeTal = int.Parse(Console.ReadLine()); //For-loopen går inte vidare förrän användaren har matat in ett giltigt heltal } }

Du bör också veta att Random-metodens maxvärde är exkluderande medan minvärdet är inkluderande. Just nu genererar din "randomare" aldrig talet 25, därför ska det vara (1,26) istället:

int slumptal = randomare.Next(1, 26);

Tack för Randomare tipset.

Av sbozic
Skrivet av perost:

@sbozic: Vad är det som du har problem med? Det enda du behöver göra är som sagt att minska i med 1 på samma ställe som du skriver ut meddelandet om att värdet måste vara mellan 1 och 25.

Du kan för övrigt använda:
[code]
Kod här
[/code]
för att undvika att forumet äter upp formateringen på din kod.

Det blir lite överkurs för mig just nu känns det som med [noparse] etc, men jag ska ta och spara det du säger för senare tillfälle. Angående koden att bra minska med 1 är just det jag inte får till. Jag har provat med

if (gissadeTal < 1 || gissadeTal > 25) i--; men jag får hela tiden felmeddelandet på min efterföljande else kod med syntaxen att else cannot start a statment då jag har ett smikolon efter -- gissar jag. Jag vet helt enkelt inte hur det ska ska kodas.

Av sbozic
Skrivet av perost:

@sbozic: En vektor är ett matematiskt begrepp som i programmering ofta representeras som en 1-dimensionell array. Många använder därför vektor som synonym för en 1-dimensionell array, men det blir lätt lite rörigt eftersom en del inte har koll på det samt att en del språk har en specifik vektor-typ (t.ex. std::vector i C++).

Det är med andra ord inte fel att kalla det för vektor i det här fallet, men array är nog att föredra om man vill undvika missförstånd. Att kalla det för fält är nog för övrigt ännu värre, eftersom den termen vanligtvis används för variabler i klasser och structs och sällan som synonym för array.

Detta är för övrigt en bra lektion i programmering: att ge saker bra och tydliga namn är svårt, och de bästa namnen är oftast redan tagna!

Ett annat sätt att lösa uppgiften på är förresten att endast inkrementera index-variabeln när du lägger till ett nytt element i arrayen, istället för att alltid inkrementera den och "ångra" dig när det inte gick. Logiken blir lite enklare att följa då i mitt tycke.

Ok, tack för klargörandet. Vad det gäller uppgiften så ska den lösas genom att värdet läggs in för att sedan skrivas över av nästa värde i arrayn och så ska det hålla på tills att man har 10 heltal mellan 1-25. Och jag har nu hållit på sen kl 10 mer eller mindre utan att få till det. Så här ser det ut just nu. Men koden saknar det jag har som fråga i tråden. Och jag är medveten att det saknas kod där man backar ett steg i arrayn, men det är den jag inte kan få till och vart den ska sitta. Jag vill få in något efter mitt villkor i if-satsen (gissadeTal < 1 || gissadeTal > 25). Men alla försök leder till felmeddelanden.

class Program
{
static void Main(string[] args)
{
int[] tal = new int[10];

Console.WriteLine (" Välkommen till Lotto, mata in 10 st heltal mellan 1 & 25. Tryck enter/retrun mellan varje heltal\n");

for (int i = 0; i < tal.Length; i++)
{
int gissadeTal = int.Parse(Console.ReadLine()); // läser in och omvandlar användarens tal

if (gissadeTal < 1 || gissadeTal > 25) //Om det inmatade talet är lägre än noll eller över 25

{
Console.WriteLine("värdet måste vara mellan 1 och 25 ");
}

else
{
tal[i] = gissadeTal; // Gissade tal läggs in i vektron tal
}

}

Random randomare = new Random();
int slumptal = randomare.Next(1, 25);

for (int i = 0; i < tal.Length; i++)

if (tal[i] == slumptal)
{
Console.WriteLine("\nGrattis " + slumptal + " är rätt gissat");
}

Console.ReadKey();

Av sbozic
Skrivet av NisseG91:

En till fråga:

Måste indexering backa ett steg för att användaren matar in fel värde, enligt uppgiftsbeskrivningen?

Som jag tyder uppgiften så måste den det och det står att
Detta lösas enklast genom att man styr inmatning till respektive position i vektorn med en for-loop.

Annars kan man nästla loopar såhär:

for eller foreach(varje tal av din array) { while(tal inte är rätt) { Mata in nytt tal } }

då kommer den inre, while-loopen, att köras klart före iteratorn i inkrementerar.

Och nej, array och vektor är inte samma sak. Vektorer används inte ens i C#. Det finns däremot List<T> som är C#-motsvarigheten. Sen är skillnaden mellan en array och vektor/lista/whatever ganska stor.
https://cdn.educba.com/academy/wp-content/uploads/2018/09/C-Array-Vs-List.jpg

Som jag tyder uppgiften så måste den lösas med en loop som gör minus i Arrayn.
Det står - Detta lösas enklast genom att man styr inmatning till respektive position i vektorn med en for-loop.

I min lärobok Programmering 1 så står det att C# görs ingen skillnad på vektor och fält, och på engelska används termen array.

Av sbozic
Skrivet av Dracc:

tal

är inte en vektor utan en array vad jag förstår.

Du kan inte dekrementera en array. Däremot kan du dekrementera din iterator, dvs den variabel som du valt att döpa till "i".
Eftersom det du håller på med ser ut som en typisk skoluppgift tänker jag inte ge dig ett rakt svar, ledtrådarna du fått bör vara mer än tillräckliga.

Hej!

Vektor och Array är väl samma sak?
Det är en skoluppgift och som jag skriver så vill jag påstå att jag vet vad jag vill göra i pseudokod, men att få ut det i kod har jag inte lyckats med ännu.

Av sbozic
Skrivet av MickeBoy:

Kan du inte spara talet i en variabel medan du gör kontrollen och endast sätta in talet om det uppfyller dina kriterier?

1. Begär input från användaren.
2. Validera input
3. Om input är OK, spara värdet.

Hej!

Skoluppgiften vill att man backar i arrayen/vektorn. Jag behöver inte få raka svar men då jag försökt i 4 timmar idag så behöver jag en liten knuff åt rätt håll.

Av sbozic

C# Vektorer

Hej!

Jag vill att indexeringen i min vektor ska backa ett steg varje gång ett värde slås in som är större än 25 och mindre än 1 tills att min vektor har 10 tal mellan 1-25.

Exempel:

Om användaren slår in siffrorna 2 och 10 så blir mina index {0} 2 och {1}10, men när användaren slår in indexposition {2} med värdet 30 så vill jag med en for-loop att nästa värde som ska slås in skriver över {2} tills att villkoren är uppfyllda, som är att ett värde mellan 1-25 för att komma vidare till index {3}

int[] tal = new int[10];

Console.WriteLine (" mata in 10 st heltal mellan 1 & 25. Tryck enter/retrun mellan varje heltal\n");

for (int i = 0; i < tal.Length; i++)
{
int gissadeTal = int.Parse(Console.ReadLine()); // läser in och omvandlar användarens tal

if (gissadeTal < 1 || gissadeTal > 25) //Om det inmatade talet är lägre än noll eller över 25

{
Console.WriteLine("värdet måste vara mellan 1 och 25 ");
}

//INDEXERINGEN SKA GÅ TILLBAKA ETT STEG HÄR MEN VET INTE HUR JAG SKA GÖRA
( tal = i --)

else
{
tal[i] = gissadeTal; // Gissade tal läggs in i vektron tal
}

Av sbozic
Skrivet av zaibuf:

heltal[i] kommer att returera den inten som ligger i respektive index vid iterationen i loopen. Då du loopar hela längden på arrayen så kommer den jämföra varje tal.

var arr = new int[] { 1, 4, 8 }; arr[0] kommer att ge dig int 1. arr[1] kommer att ge dig int 4. arr[2] kommer att ge dig int 8.

En for loop byter ut variabeln i mot heltalet i loopen och adderar med 1 för varje varv.
Så alltså heltal[i] kommer att vara heltal[0], heltal[1] osv, tills att i motsvarar längden på din array, då är den klar och avslutar loopen.

Du kan även skriva foreach om det känns mer logiskt att läsa.

foreach(int tal in heltal) { if(tal == tal1) // gör nåt else // gör något annat }

Skickades från m.sweclockers.com

Tack för du tagit dig tid till att svara. Jag tror jag börjar förstå sammanhanget. Som du skriver så gör for-loopen min vektor/array till enskilda heltal som jämförs mot min variabel och om då villkoret stämmer så skrivs mitt meddelande ut.

Av sbozic
Skrivet av talonmas:

Tänk på vad som finns i dina behållare. En int är ETT tal. En inte[] har många tal.

Skriv nu {8,4,3,9,2} == 4 t.ex. Det är samma som inte[] == int.
Om du istället skriver inte[1] så menar du position två (börjar räkna på noll), Eva int[1] == int blir 4 == 4 vilket blir sant.

Hoppas det klarnar lite?

Skickades från m.sweclockers.com

I kombination med vad alla andra skrivit så är jag lite lite klokare. Tack för att du tagit dig tid till att ge din förklaring.

Av sbozic
Skrivet av Oh Geesus:

Som sagt, just nu jämför den här koden bara vektorns längd (10) med tal1 (8) och de kommer aldrig vara lika.

if (heltal.Length == tal1)

Istället kan du loopa igenom vektorn och se om heltal[i] == tal1, i stil med:

for (int i = 0; i < heltal.Length; i++) { if (heltal[i] == tal1) { //Skriv ut varning } }

Sen undrar jag om inte varningen bör komma direkt när användaren skriver in ett tal? Alltså:

for (int i = 0; i < heltal.Length; i++) { int tal = int.Parse(Console.ReadLine()); OM heltal redan innehåller tal Skriv ut varning ANNARS heltal[i] = tal; }

Hej! Tack för att du tagit dig tid, din formel med hjälp av vad de andra skrivit har hjälpt mig lösa mitt problem. Men som jag skrev till någon annan här i tråden så är jag konfundersam över hur man i en if-sats kan jämföra en int med en int[] för när jag försökte gör det utanför en for-loop så fick jag hela tiden felmeddelande att det inte var möjligt?

Av sbozic
Skrivet av zaibuf:

För du kan inte jämföra en int[] med en int.
Finns lite olika sätt att göra detta, men tänker att en loop är enklast att förstå i detta stadie. Du kan själv välja for eller en foreach.

FÖR VARJE tal i hetal
OM tal ÄR LIKA MED tal1
SKRIV UT ...
ANNARS SKRIV UT ...

Skickades från m.sweclockers.com

Hej! jag har också sett när jag fått ett felmeddelande att man inte kan jämföra int med en int[]. Men nu med hjälp av er här så har jag lyckats lösa mitt problem med en formel som Oh Gesus delat med sig. I if-satsen så jämförs just en intVektor med en int, hur är det möjligt?

for (int i = 0; i < heltal.Length; i++)
{
if (heltal[i] == tal1)

{
Console.WriteLine("\nEtt av dina heltal har värdet " + tal1+"\n");
}

Av sbozic
Skrivet av jensa86:

Just nu kollar du om längden på din array där du matat in 10 tal är samma som ditt tal1 dvs om 10 är samma som 8. Det kommer det ju givetvis aldrig bli. Du vill ju kolla varje element i din array istället.

Precis, och jag har försökt med bara min vektor. if (heltal == tal1) men jag kan inte använda mig av tilldelningsoperatorn == får jag som felmeddelande.

Av sbozic

C# Programmering

Har suttit oskäligt många timmar med detta nu och ska inte skriva vad jag tycker just nu.

Jag har gjort en vector där användaren fått i uppgift att skriva ut 10 heltal. Dessa heltal ska sedan skrivas ut. Jag ska nu lägga till en variabel av typen int med ett värde som jag väljer och jag har valt värdet 8. Skulle nu detta värde som jag valt ut bli detsamma som användaren fyllt i så ska detta omnämnas.

Min fråga är nu, hur gör jag. Jag har försökt mig på en if-sats som inte funkar. Jag vill att i mitt fall om det är rätt väg att gå att if-satsen ska gå igenom min Vektor/Array för att se efter om värdet 8 finns där för att således nämna detta. Känns som jag vänt och vridit på alla varianter så jag skickar nu ut min sista. Felet ligger i if-satsen, det är det enda jag vet.

namespace VektorMedTioPositioner
{
class Program
{
static void Main(string[] args)
{

int[] heltal = new int[10];
int tal1 = 8;

Console.WriteLine("Mata in 10 st heltal");

for (int i = 0; i < heltal.Length; i++)
{
int tal = int.Parse(Console.ReadLine());
heltal[i] = tal;
}

for (int i=0; i < heltal.Length; i++)
{
Console.WriteLine("index {0} har värdet {1}",i,+heltal[i]);
}

if (heltal.Length == tal1)
{
Console.WriteLine("Ett av dina heltal har värdet " +tal1);
}
else
{
Console.WriteLine();
}

Console.ReadKey();