Permalänk
Medlem

c++ simpel uppgift

har en uppgift att göra ett lotto program i c++ men jag behöver lite hjälp eftersom uppgiften ska vara inlämnad snarast.

Jag försöker göra ett program som slumpar 7 siffror i 5 olika rader som ska stå brevid varandra så det ser ut som lotto i princip,

men problemet är att det blir inte 5 rader och det och den slumpar bara 7 tal och sen kopierar talen till de andra "raderna"

ni ser min kod på bilden och hur den blir. http://i47.tinypic.com/29bzofa.png

skulle vara mycket tacksam om någon kunde berätta vad det är som ska göras.

ska bara klargöra att jag är en c++ nybörjare.

Permalänk
Medlem

Du måste köra på lo2, haha nej förlåt. Har själv gjort en liknande uppgift förut men jag orkar inte tänka just nu.

Visa signatur

i5 3570k 4,5Ghz, ASUS GeForce GTX 670 1200Mhz
Projekt M4INSTR3AM

Söker du en bra TS3 server? Besök då tråden: Chippi.se TS3 [Online 24/7]
Privata kanaler kan fixas i PM eller på TS.

Permalänk
Medlem

Vi brukar inte gör läxor åt folk. En snabb titt. Du verkar ha en illegal syntax efter

cout < endl;

och före

slump[i] = rand();

Permalänk

Vill du inte att den ska skriva ut resultatet EFTER loopen?

Visa signatur

Citera så hittar jag tillbaka!

Permalänk
Medlem
Skrivet av yakideo:

Vi brukar inte gör läxor åt folk.

Lät inte som han vill ha hjälp med läxan heller, enligt min mening Snarare hjälp i rätt riktning. ^^

Visa signatur

Windows användare sedan 1991. Numera MacBook Pro M1 Pro.

Permalänk
Medlem

* Det saknas ett bibliotek
* Tänk igenom vad du gör var. (aka, se efter vad du gör i loopen)
* Vad yakideo skrev

Intressant att du lyckas kompilera din kod.

Visa signatur

Desktop: i5 2500K, 32GB RAM, Intel 330 60GB SSD, 1TB HDD, GTX 670, Fractal Design Arc, Arch Linux
Laptop: Asus U32u, Intel 330 60GB SSD, 8GB RAM, Arch Linux

Permalänk

Ska du ha 5 rader istället för 7? Kolla då i for-huvudet. Om du inte menar kolumner?
Sedan om du ska göra så att det ökar "ett" tal för varje rad så måste du ha en till for loop i din nuvarande.

Så testa på.

Permalänk
Medlem
Skrivet av Tejprullen:

Vill du inte att den ska skriva ut resultatet EFTER loopen?

vad menar du med resultat efter loopen?

jag ska 5 kolumner med 7 tal i.

jag har inte tillräckligt bekant med c++ för att kunna hitta felen utan lite draghjälp
men jag ska försöka mixtra lite i loopen

vad är ett biblotek?

Permalänk
Medlem
Skrivet av kknaso:

vad menar du med resultat efter loopen?

jag ska 5 kolumner med 7 tal i.

jag har inte tillräckligt bekant med c++ för att kunna hitta felen utan lite draghjälp
men jag ska försöka mixtra lite i loopen

vad är ett biblotek?

Bibliotek är det du inkluderar i början,(#include <iostream> osv). Egentligen ska det inte gå att kompilera koden som den ser ut nu. Föreslår att du tar en titt här: http://www.cplusplus.com/reference/cstdlib/rand/

Även loopen är lite skum. Du kommer gå utanför din array när den kommer upp i 5, och programmet kommer krascha. Tror även en flerdimensionell array skulle passa bättre. Ta en titt här och scrolla ner lite: http://www.cplusplus.com/doc/tutorial/arrays/

Visa signatur

Desktop: i5 2500K, 32GB RAM, Intel 330 60GB SSD, 1TB HDD, GTX 670, Fractal Design Arc, Arch Linux
Laptop: Asus U32u, Intel 330 60GB SSD, 8GB RAM, Arch Linux

Permalänk
Medlem
Skrivet av Kleiner:

Bibliotek är det du inkluderar i början,(#include <iostream> osv). Egentligen ska det inte gå att kompilera koden som den ser ut nu. Föreslår att du tar en titt här: http://www.cplusplus.com/reference/cstdlib/rand/

Även loopen är lite skum. Du kommer gå utanför din array när den kommer upp i 5, och programmet kommer krascha. Tror även en flerdimensionell array skulle passa bättre. Ta en titt här och scrolla ner lite: http://www.cplusplus.com/doc/tutorial/arrays/

tack för länkarna! ska kolla igenom dem.

biblioteket är med det hamnade utanför när jag printade hela saken.

jag rensade i min kod och längre en så här får jag inte till utan allt allt blir åt skogen http://i50.tinypic.com/3128cba.png

Permalänk
Medlem
Skrivet av kknaso:

jag rensade i min kod och längre en så här får jag inte till utan allt allt blir åt skogen http://i50.tinypic.com/3128cba.png

Pröva med att ha en loop till, innanför den nuvarande.

Visa signatur

Desktop: i5 2500K, 32GB RAM, Intel 330 60GB SSD, 1TB HDD, GTX 670, Fractal Design Arc, Arch Linux
Laptop: Asus U32u, Intel 330 60GB SSD, 8GB RAM, Arch Linux

Permalänk
Medlem
Skrivet av Kleiner:

Pröva med att ha en loop till, innanför den nuvarande.

menar du såhär? http://i45.tinypic.com/23sixd0.png

Permalänk
Medlem
Skrivet av kknaso:

Precis. Glöm inte att "stänga in" din slumpnig och utskrift i den nya loopen.

Visa signatur

Desktop: i5 2500K, 32GB RAM, Intel 330 60GB SSD, 1TB HDD, GTX 670, Fractal Design Arc, Arch Linux
Laptop: Asus U32u, Intel 330 60GB SSD, 8GB RAM, Arch Linux

Permalänk

Alltså att stänga in med måsvingar.

Men ska du koda så tycker jag att du ska indentera bättre så att det blir mer lättläst.

Permalänk
Medlem
Permalänk
Medlem

Lika bra du lär dig nu då du är nybörjare, kodning handlar om att tänka efter ordentligt vad som sker vid olika tillfällen.

Vad man såg av din skärmdump så använder du dig av någon version av Visual Studio? lägg ut lite breakpoints (klicka på raderna t.ex inom for loopen) och kör debug (din applikation stannar upp vid märkt rad och du går vidare genom nån tangent) istället för att bara koda och köra igång applikationen och hoppas på att det fungerar som du tänkt. Gör det och du kommer hitta felen i din kod mycket enklare.

Eftersom du verkar har fått din uppgift löst så ger jag mitt exempel på hur du kunnat fixat uppgiften

#include <iostream>
int main(){

//En loop till att skriva ut 5 nya rader
for(int i=0;i<5;i++){

//En loop för våra lotto numror, skriver ut random nummer 7 gånger, tal mellan 1-39, lägger till en tab endast för synbarhet
for(int x=0;x<7;x++){
int t= rand() % 39+1;
cout << t << "\t";
}
//Tillbaka till den första loopen, skriv ut ny rad
cout << endl;

}
return 0;
}

Permalänk
Medlem

Du är på god väg, ett tips för att lättare se vad som är ihop med vad - markera all din kod och tryck sedan ctrl+k, ctrl+f så formateras din kod.

Permalänk
Medlem
Skrivet av matsii:

Lika bra du lär dig nu då du är nybörjare, kodning handlar om att tänka efter ordentligt vad som sker vid olika tillfällen.

Vad man såg av din skärmdump så använder du dig av någon version av Visual Studio? lägg ut lite breakpoints (klicka på raderna t.ex inom for loopen) och kör debug (din applikation stannar upp vid märkt rad och du går vidare genom nån tangent) istället för att bara koda och köra igång applikationen och hoppas på att det fungerar som du tänkt. Gör det och du kommer hitta felen i din kod mycket enklare.

Eftersom du verkar har fått din uppgift löst så ger jag mitt exempel på hur du kunnat fixat uppgiften

#include <iostream>
int main(){

//En loop till att skriva ut 5 nya rader
for(int i=0;i<5;i++){

//En loop för våra lotto numror, skriver ut random nummer 7 gånger, tal mellan 1-39, lägger till en tab endast för synbarhet
for(int x=0;x<7;x++){
int t= rand() % 39+1;
cout << t << "\t";
}
//Tillbaka till den första loopen, skriv ut ny rad
cout << endl;

}
return 0;
}

Tack för tipset ska tänka på det