Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

opgave i console application i visual studio

Af Giga Supporter g1a2m3e4r5 | 29-09-2014 10:02 | 1963 visninger | 11 svar, hop til seneste
Hey hol.dk :) jeg skal aflevere en programmerings aflevering her på fredag og jeg mangler lige 1 underopgave, så er jeg færdig. opgaven lyder at vi skal videreudvikle vores 6 ternet yatzy program, som vi har lavet i tidligere opgave til at consolen skal skrive hvornår der er fuld hus. Så i stedet for at bruge if til at alle mulige fuld hus, så tænkte jeg om der var en bedre metode, så programmet kan tjekke hvornår der er 2 af et tal og 3 af et tal, altså fuld hus. btw det er C# vi skriver i. nogle forslag? ;) fortsat god dag
--
Only real friends stop their friends in doing stupid things and then do it with them!
#1
jkgeyti
Mega Supporter
29-09-2014 10:07

Rapporter til Admin
Her er et hint: Overvej hvordan det vil hjælpe at placere dine terninger i en liste, og sortere dem efter antal øjne.
--
http://www.jkg.dk[...]
#2
g1a2m3e4r5
Giga Supporter
29-09-2014 10:08

Rapporter til Admin
altså jeg har lavet, så consolen tæller antal 1´ere, antal 2´ere osv og skriver dem, så det fremstår i consolen efter hvert slag :)
--
Only real friends stop their friends in doing stupid things and then do it with them!
#3
Giano
Bruger Aspirant
29-09-2014 10:18

Rapporter til Admin
Du behøver ikke mere end to if-sætninger, hvis du gemmer antallet af 1'ere, 2'ere osv. Du skal bare tjekke i den første if-sætning, om der er nogen tal, som har været der 3 gange. Inde i den tjekker du, om der er nogen tal, som har været der 2 gange. Hvis den også bliver sand ved du, at der har været fuldt hus.
--
#4
Chucara
Elite Supporter
29-09-2014 10:19

Rapporter til Admin
#2: Hvis du har et Dictionary _count, der f.eks. ser sådan ud: //Dit slag: 1,1,3,3,3 _count[1] = 2; _count[2] = 0; _count[3] = 3; _count[4] = 0; _count[5] = 0; _count[6] = 0; Så kan man konkludere, at hvis én af værdierne er =2 og en anden er =3, så har man fuldt hus. Dette kan gøres i LinQ: if(_count.Values.Any(x => x == 2) && _count.Values.Any(x => x == 3)) { Console.WriteLine("Fuldt hus!"); }
--
MB: ASUS Z77 Sabertooth | CPU: i7 2600K | GPU: GTX 580 | RAM: 16GB 1866MHz | CASE: Silencio 550 | SSD: Samsung 840 | HDD: 1TB WD Black
#5
g1a2m3e4r5
Giga Supporter
29-09-2014 10:39

Rapporter til Admin
sådan her har vi prøvet og løse den https://www.dropbox.com[...] efter straight koden ;) problemet er at den siger at der er fuld hus når der bare er 3 terninger med samme nummer og ikke 3*sammenummer + 2*samme nummer
--
Only real friends stop their friends in doing stupid things and then do it with them!
#6
g1a2m3e4r5
Giga Supporter
29-09-2014 10:42

Rapporter til Admin
sådan ser vores program ud https://dl.dropboxusercontent.com[...]
--
Only real friends stop their friends in doing stupid things and then do it with them!
#7
Chucara
Elite Supporter
29-09-2014 10:58

Rapporter til Admin
Problemet er, at i siger at blot én af værdierne skal være større end 2 og at en af værdierne skal være større end 1. Da [3,3,3,1,2] giver 3 3'ere, vil '3' opfylde begge betingelser. Det, i mangler, er at det ikke må være det samme værdi, der går igen. Dette vil kræve, at i 'husker' hvilken værdi, der har >2 og bruger denne i anden if-statement. Dette giver hurtigt en masse nestede ifs. Gem værdierne i et Dictionary eller en List, så er det lettere at check om det er den samme værdi, der går igen.
--
MB: ASUS Z77 Sabertooth | CPU: i7 2600K | GPU: GTX 580 | RAM: 16GB 1866MHz | CASE: Silencio 550 | SSD: Samsung 840 | HDD: 1TB WD Black
#8
Chucara
Elite Supporter
29-09-2014 11:06

Rapporter til Admin
I behøver iøvrigt ikke bruge LinQ. Det kan også skrive i en simpel foreach loop.
--
MB: ASUS Z77 Sabertooth | CPU: i7 2600K | GPU: GTX 580 | RAM: 16GB 1866MHz | CASE: Silencio 550 | SSD: Samsung 840 | HDD: 1TB WD Black
#9
g1a2m3e4r5
Giga Supporter
29-09-2014 11:24

Rapporter til Admin
vi har fået det til at virke nu ved at sætte nummer 2 if til at være == 2 og ikke >2. tak for hjælpen :)
--
Only real friends stop their friends in doing stupid things and then do it with them!
#10
Chucara
Elite Supporter
29-09-2014 11:39

Rapporter til Admin
#9: Det vil også løse det, ja. Men det kan hurtigt blive rodet, hvis i skal tilføje flere checks senere. Jeg vil anbefale, at i så flytter den sidste 'if' ind i den anden (så sparer i også de to booleans).
--
MB: ASUS Z77 Sabertooth | CPU: i7 2600K | GPU: GTX 580 | RAM: 16GB 1866MHz | CASE: Silencio 550 | SSD: Samsung 840 | HDD: 1TB WD Black
#11
Gæsten
Gæst
29-09-2014 17:47

Rapporter til Admin
Jeg vil råde dig til allerede nu at begynde at smide ting på github eller andre pasting sites, istedet for at sende screenshots af din kode. Du kan også lige så godt nu begynder at skrive din kode på engelsk. Du må ikke have variable navne som et, to, tre. Jeg ville bruge en groupby og så tjekke count. Derudover kunne man lave en definitation for de andre ting der findes (lille, stor, osv) Og lige en sidste ting, det hedder bare C#, Visual Studio er blot editoren.
--
Gæstebruger, opret dit eget login og få din egen signatur.

Opret svar til indlægget: opgave i console application i visual studio

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning