-
30-03-2005, 17:43 #1Approved 9-lifer
- Registered
- 16/12/04
- Location
- Patershol
- Posts
- 7,542
- iTrader
- 217 (95%)
- Mentioned
- 2 Post(s)
- Reputation
- 0/5
Flash: help bij bepalen van grootste getal
ik lees een array in van 10 getallen
getallen = new array(10)
allemaal gedaan
nu moet ik daar het grootste ingelezen getal van hebben
en het kleinste
en dan ook nog een vraagje hoe je daar het kwadraat van berekent
getal*getal of is er daar een specifieke code voor ?Last edited by tinbie; 30-03-2005 at 17:44.
no votes
-
-
30-03-2005, 18:14 #2Member
- Registered
- 18/12/03
- Location
- Hasselt
- Posts
- 1,758
- iTrader
- 5 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 1/5
of the top of my head
Code:var getallen:Array= new Array(); function fillArray(){ for (var i = 0; i < 10; i++) { getallen[i] = Math.round(Math.random()*100); } getHighest(); } function getHighest(){ var highestNum:Number = 0; for(i=0;i<getallen.length;i++){ if(getallen[i]>highestNum) highestNum = getallen[i]; } trace("hoogste nummer = " + highestNum); trace("kwadraat = " + highestNum*highestNum); } fillArray();Last edited by Bigbuddha; 30-03-2005 at 18:25.
Life before the computer: memory was something that you lost with age, a cursor used profanity and if you had a 3 1/2 inch floppy you just hoped nobody found out...no votes
-
30-03-2005, 18:17 #3Member
- Registered
- 09/11/02
- Location
- Sint-Truiden
- Posts
- 468
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
Gewoon twee variabelen aanmaken, en het eerste getal van de array hierin opslaan. Dan doorloop je de array, en als het getal kleiner is dan dat in de kleinste variabele, dan overschrijf je deze, en als het getal groter is dan de grote variabele, dan overschrijf je de die. Op het einde heb je dan twee variabelen met het grootste en het kleinste getal. Het kwadraat is altijd getal maal getal. Waarom zou je daar nog een apparte functie voor willen gebruiken?
no votes
-
30-03-2005, 18:30 #4Approved 9-lifer
- Registered
- 16/12/04
- Location
- Patershol
- Posts
- 7,542
- iTrader
- 217 (95%)
- Mentioned
- 2 Post(s)
- Reputation
- 0/5
ik heb het dus gedaan zoals BigBuddha Squall-Sx- zeiden
maar het probleem is dat hij geen getal weergeeft ook niet NaN ofzo
totaal nix
function grootsteEnkleinste() {
for (i=0; i<=Getallen.length; i++) {
if (Getallen[i]<iKleinste) {
iKleinste = Getallen[i];
} else if (Getallen[i]>iGrootste) {
iGrootste = Getallen[i];
}
}
}no votes
-
30-03-2005, 19:31 #5
als wat heb je iKleinste geïnitialiseerd?
doe voor alle veiligheid voor het opreoepen van grootsteEnKleinste()
iKleinste =0;
-> post eens gans je code
kwadraat:
Math.sqr(getal) //dat dacht ik tochWYSIWYGno votes
-
31-03-2005, 00:00 #6
Als je iKleinste op 0 initialiseert zal het ook niet werken hé, tenzij der negatieve getallen in de array zitten

En vermits die variabele wss automatisch op 0 wordt geïnitialiseerd zal je probleem daar misschien aan liggen?
best iGrootste en iKleinste initialiseren op Getallen[0]no votes
-
31-03-2005, 10:13 #7Member
- Registered
- 18/12/03
- Location
- Hasselt
- Posts
- 1,758
- iTrader
- 5 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 1/5
Op voorzet van Kn0t
Zien dat je je iGrootste, iKleinste initialiseert.Code:function grootsteEnkleinste() { var iGrootste:Number = Getallen[0]; var iKleinste:Number = Getallen[0]; for (i=0; i<=Getallen.length; i++) { if (Getallen[i]<iKleinste) { iKleinste = Getallen[i]; } if (Getallen[i]>iGrootste) { iGrootste = Getallen[i]; } } trace("hoogste nummer = "+iGrootste); trace("kleinste nummer = "+iKleinste); }
kleinste niet op 0 initialiseren anders is 0 altijd kleinste.
Er zijn ongetwijfeld nog andere kortere oplossingen. Maar deze is vrij logisch en duidelijkLast edited by Bigbuddha; 31-03-2005 at 10:41.
Life before the computer: memory was something that you lost with age, a cursor used profanity and if you had a 3 1/2 inch floppy you just hoped nobody found out...no votes
-
31-03-2005, 11:22 #8Member
- Registered
- 18/07/02
- Location
- Deurne
- Posts
- 3,854
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 14/14
no votes
-
31-03-2005, 11:55 #9Member
- Registered
- 18/12/03
- Location
- Hasselt
- Posts
- 1,758
- iTrader
- 5 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 1/5
Voorzet van LunchBox, en koel afgewerkt

Code:function fillArray2() { var Getallen:Array = new Array(); for (var i = 0; i<10; i++) { Getallen[i] = {number:Math.round(Math.random()*100)}; } grootsteEnkleinste2(); } function grootsteEnkleinste2() { Getallen.sortOn(number); trace("hoogste nummer = "+Getallen[0]["number"]); trace("kleinste nummer = "+Getallen[Getallen.length-1]["number"]); } fillArray2();Life before the computer: memory was something that you lost with age, a cursor used profanity and if you had a 3 1/2 inch floppy you just hoped nobody found out...no votes
-
31-03-2005, 11:56 #10
idd lijkt me ook het eenvoudigste/ snelste
var getallen = new array(10);
function sortByNumber(a, b) {
return (a > b);
}
getallen = [13, 52, 33, 2, 25, 14, 3, 77, 8];
getallen.sort(sortByNumber);
trace(getallen);
output --> 2,3,8,13,14,25,33,52,77
dankzij http://actionscript-toolbox.com/arrayobject2.phpno votes
-
01-04-2005, 15:48 #11Approved 9-lifer
- Registered
- 16/12/04
- Location
- Patershol
- Posts
- 7,542
- iTrader
- 217 (95%)
- Mentioned
- 2 Post(s)
- Reputation
- 0/5
thx voor de reply's

volgens mij moet het dus via de methode van Lunchbox het gemakkelijkst gaan
alleen krijg ik nu nog stees geen output bij mijn iKleinste en iGrootste
als die laptop hier nu nog de code wil posten kunnen jullie zelf eens zienno votes
-
01-04-2005, 15:49 #12Approved 9-lifer
- Registered
- 16/12/04
- Location
- Patershol
- Posts
- 7,542
- iTrader
- 217 (95%)
- Mentioned
- 2 Post(s)
- Reputation
- 0/5
dan maar het belangrijkste in stukjes
Code:Getallen = new Array(10); iTeller = 0; iSommetje = 0; knop1.onRelease = function() { invoeren(); }; function invoeren() { if (iTeller<10 and iInvoer>1 and iInvoer<10) { Getallen[iTeller] = iInvoer; iTeller += 1; iSommetje += Number(iInvoer); sMededeling = " "; } else if (iTeller == 10) { iSom = iSommetje; //iKleinste = Getallen.sort(kleiner); //iGrootste = Getallen.sort(groter); //grootsteEnkleinste(); grootsteEnkleinste2[HAAKJES VERGETEN](); product(); kwadraad(); } else { sMededeling = "Je moet een getal ingeven >1 en <10"; } }Last edited by tinbie; 01-04-2005 at 15:53.
no votes
-
01-04-2005, 15:52 #13Approved 9-lifer
- Registered
- 16/12/04
- Location
- Patershol
- Posts
- 7,542
- iTrader
- 217 (95%)
- Mentioned
- 2 Post(s)
- Reputation
- 0/5
Sorry, maar het werkt wel

had zelf klein foutje gemaakt die ik gezien heb bij het posten hier
mijns excusesno votes
