Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Lottorad i C++

Postades av 2002-05-27 20:46:58 - Henrik Wiberg, i forum c++, Tråden har 1 Kommentarer och lästs av 1731 personer

Hej!

Jag håller på med en uppgift där vi ska slumpa fram en lottorad med 7 nummer. Hur gör jag för att programmet inte ska slumpa fram samma tal igen?
Så här ser programmet ut:

#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
int main()
{
randomize();
cout << " ____________________________" << endl;
cout << "( Välkommen till WargenLotto )" << endl;
cout << " ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯";
cout << endl << setw(25) << "Dagens lottorad lyder :" << endl;
label:
cout << endl << setw(14) << "-------" << endl;
int rad[7];
int i=1, x;
char ch;
while (i<=7) //slumpar fram 7 tal
{
x=(random(35)+1);
rad[i]=x;
i++;
}
while (i>=2)
{ //skriver ut talen i en kolumn
cout << setw(10) << rad[i-1] << endl;
i--;
}
cout << setw(14) << "-------";
cout << endl << "Vill du köra en gång till? (j/n) ";
cin >> ch;
if(ch == 'j' || ch == 'J')
goto label;
}

MVH
/Henke


Svara

Sv: Lottorad i C++

Postades av 2002-05-27 21:02:14 - Anton Samuelsson

Till att börja med så har du gjort några fel:
int i=1;
while (i<=7) //slumpar fram 7 tal
{
x=(random(35)+1);
rad[i]=x;
i++;
}

Du kommer att skriva utanför ditt allokerade minne när i == 7. Ett bättre sätt vore:
for(int i=0;i<7;i++)
{
rad[i++] = random(35) + 1;
}
Om du vill kan du utelämna klamrarna också. Det här är det stora felet, om du rättar det kan du säkert få de andra rätt på egen hand.

För att inte få samma nummer två gånger kan du skriva:
int x;
for(int i=0;i<7;i++)
{
x = random(35) + 1;
for(int j=0;j<i;j++)
{
if(x == rad[j])
{
i = j = 0;
x = random(35) + 1;
}
}
rad[i++] = x;
}

Jag tror att detta ska fungera... har lite ont om tid, så jag hinner inte tänka igenom koden närmare... Jag är säker på att ngn annan kan rätta om jag gjort ngt fel.

BTW, Använd inte goto, det skapar spagettikod.


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
493
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies