Avatar billede weblance Nybegynder
24. november 2010 - 22:24 Der er 8 kommentarer og
1 løsning

Er gået i stå med beregningsscript.

Hej

Jeg skal lave et script der laver en masse beregninger i nogle løkker. Grundliggende ser beregningerne sådan ud:

A1-A2-A3 = A
B1-B2-B3 = B

Ax, Bx, Cx osv. består af løkker, hvor A1, A2, A3 skal køre en gang. B1, B2, B3 skal køre 2 gange, C 3 gange osv.

Hvordan gør jeg det mest praktisk?
Avatar billede ggxdg Nybegynder
24. november 2010 - 22:54 #1
Hvor mange bogstaver skal du bruge?

Ascii decimal værdier
"A" = 65
"Z" = 90

$lc = "A" // karakteren der bestemmer antal loops
$fi = ord($lc) - 64 // træk 64 fra, så værdien for "A"
er "1", "B" er "2" osv.
for( $i=0; $i<$fi; $i++ ) { //loop $fi antal gange ud fra bogstav
  //ting og sager
}


Hvis du har lowercase og/eller ÆØÅ, og/eller mere end 1 bogstav, fungerer ovenstående ikke...
Avatar billede ggxdg Nybegynder
24. november 2010 - 22:57 #2
Prøver lige igen med semikoloner



$lc = "A";
$fi = ord($lc) - 64;
for( $i=0; $i<$fi; $i++ ) {
  //ting og sager
}
Avatar billede weblance Nybegynder
24. november 2010 - 23:29 #3
Det er vist en værre forklaring jeg er kommet med. Det er sådan at den første loop skal lægges sammen med loop nummer 2. Facit af denne skal lægges sammen med loop 3. Facit af denne skal lægges sammen med loop 4...osv...

Forstår du hvad jeg mener?
Avatar billede weblance Nybegynder
24. november 2010 - 23:35 #4
Ville det bedste ikke være at lave en array? Første facit ligges i array efter første loop, anden facit efter anden loop osv...?

Hvordan gør jeg det? (Er stadig en PHP newbie=
Avatar billede weblance Nybegynder
24. november 2010 - 23:52 #5
Nu spørger jeg en masse og prøver at svare på det selv...

Jeg har lavet scriptet som følger (den beregner 3 loops og ligger dem ind i en array):

$loop = 3;
$facit = array();
$countLoop = 1;

while($countLoop <= $loop) {
//funktion der beregner første del
//funktion der beregner anden del
//funktion der beregner tredje del
$facit[] = $del1 - $del2 - $del3;
$countLoop++;
}

Ser det helt tosset ud?
Avatar billede mrgumble Nybegynder
25. november 2010 - 10:12 #6
Har du kigget på "for"-løkker og rekursive funktioner?

Og hvad prøver du på at beregne?
Avatar billede repox Seniormester
25. november 2010 - 10:53 #7
#6
Hvorfor lægger du to spørgsmål som et svar? Hvor er dit løsningsforslag?
Avatar billede repox Seniormester
25. november 2010 - 10:59 #8
#5
Det ville hjælpe en del hvis vi kunne få at vide hvad det er for nogle tal du vil beregne.

Jeg forestiller mig det er summen af x antal rækker af tal?

F.eks:
<?php

  $tal[] = array(1, 4, 78, 32, 63, 19);
  $tal[] = array(19, 52, 102, 19, 1, 77);
  $tal[] = array(78, 63, 9, 11, 99, 26);
  $tal[] = array(82, 7, 14, 38, 53, 17);

  $sum = 0;
  foreach( $tal as $tal_raekke )
  {
    foreach( $tal_raekke as $enkelt_tal )
      $sum += $enkelt_tal;
  }

  echo $sum;
?>
Avatar billede weblance Nybegynder
14. januar 2011 - 20:51 #9
Projektet er opgivet da der blev fundet en anden løsning. Tak for jeres input.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester