Gå til innhold

Holgers lille NTNU-tråd | *Se første post for spørsmål om hybel*


HolgerL

Hvilket sted tilhører du?  

1 456 stemmer

  1. 1. Velg ett av alternativene

    • Dragvoll
      254
    • Gløshaugen
      1018
    • Annet
      202


Anbefalte innlegg

Videoannonse
Annonse

Denne funker ikke selv om jeg bytter ut if med while. Hvilke andre forandringer trengs? Det er en funksjon som skal simulere en lottotrekning (trekning uten tilbakelegging).

 

kuler = 1:34;

trekning = zeros(1,7);

 

for i = 1:7

t = ceil(rand*34);

if (kuler(t) ~= 0)

trekning(i) = t;

kuler(t) = 0;

 

end

end

 

disp(trekning);

Lenke til kommentar

Det fungerer faktisk bra. Trodde det ikke før jeg fikk se det selv. :)

 

Edit: Kan jo gi litt mer håndfast "bevis". Se på denne oppgaven fra Matlab-wikien til IDI. Det er to programmeringsfeil i den, står det, og jeg trodde instinktivt at det måtte være lik inn- og returvariabel, men nei da. Det fungerer, det. :)

Endret av TwinMOS
Lenke til kommentar

Skjønner dere hvorfor denne løper fra i = 1 : antall og ikke i = 1 : antall-1? Skulle ikke være nødvendig å løpe gjennom en liste n ganger for å sortere n tall?

 

function liste = sorter(liste)

antall = length(liste);

 

for(i = 1 : antall )

for (j = 1 : antall - i)

if (liste(j) > liste(j+1)) %Hvis noe ikke er sortert..

liste = bytt(liste, j, j+1); %..må de bytte plass..

end

end

 

end

end

Endret av Strofe
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...