/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
ADVARSEL.. dette er langt fra seriøst..
Fra : Anders Christiansen


Dato : 09-03-04 14:34

Men jeg har virkeligt et problem.

Jeg vil gerne lave en numerologi udregner på min hjemme side, mest for sjov.

Jeg kan ikke finde en måde at tage tværsummen af et tal.
Jeg kan godt få den til at tage en tværsum, men så kommer den ud med 13, når
jeg skal have 4.

643 => 6 +4 +3 => 13 her fejler jeg =>4

Er der nogen der har en god løsning..

Anden problem jeg har.
Når den modtager A skal den kunne genkende at det er en Vokal og den har
værdien 1, når det er N skal den sige Konsonant værdi 5. (Det er tværsummen
af bogstavets nummer i alfabetet..)

De to løsninger jeg er kommet med er meget uelegante og DUMME..
den ene er en switch ($bogstav) {case "a" : $vokal = 1; break; etc etc etc..

Den anden er en mySQL tabel, med bogstav, vokal, konsonant. for a skulle den
have værdierne a ,1 , 0. Men at jeg skal lave 20 database opslag eller mere
er også for plat.

Jeg håber at der er nogen der syntes det er værd at bruge 5 minuter på.

Hilsen

Anders Christiansen



 
 
Lars Olesen (09-03-2004)
Kommentar
Fra : Lars Olesen


Dato : 09-03-04 14:58

Anders Christiansen wrote:

> De to løsninger jeg er kommet med er meget uelegante og DUMME..
> den ene er en switch ($bogstav) {case "a" : $vokal = 1; break; etc etc etc..

Kan du ikke smide bagstaverne ind i et array?

$bogstaver = array ("a" => "vokal", "b"=>"konsonant") osv?

eller

$konsonanter = array ("b", "c", "d")

Jeg forstår ikke helt problematikken med 13 og 4. Tværsummen af de tal,
du skrev er da 13, eller...

--
Lars Olesen
Konkurrence på <http://www.fodboldenslegestue.dk>
Kan det gøres bedre? Navigation og brugervenlighed!

Lars K. (09-03-2004)
Kommentar
Fra : Lars K.


Dato : 09-03-04 15:24

In article <c2kh51$2rn7$1@news.cybercity.dk>, dsl91136@vip.cybercity.dk
says...
> Jeg kan ikke finde en måde at tage tværsummen af et tal.
> Jeg kan godt få den til at tage en tværsum, men så kommer den ud med 13, når
> jeg skal have 4.
>
> 643 => 6 +4 +3 => 13 her fejler jeg =>4
>
> Er der nogen der har en god løsning..
>

Det er træls når en PC gør hvad man beder den om :) Tværsummen af 643 er
nu engang 13.

Nu kan lave det med en lukke som fortsætter til tallet er mindre end 10,
dvs du starter med at tage tværsummen af 643 og får 13 så undersøger ud
om 13 er mere end 10 og tager tværsummen af 13 og får 4 du undersøger
igen om det er 4 er mindre end 10 og konstatere at der er det og bryder
lykken.

--
Lars - 9000 Østbyen
Mit legerum :) http://www.evt.dk
Kvinders hormoner ligger på randen af enhedscirklen! (Uwe Hartmann, AAU)
- Lykken er ikke en destination, men en måde at rejse på -

Ruben Hesselbæk (09-03-2004)
Kommentar
Fra : Ruben Hesselbæk


Dato : 09-03-04 16:19

"Anders Christiansen" <dsl91136@vip.cybercity.dk> wrote in message
news:c2kh51$2rn7$1@news.cybercity.dk...
> Men jeg har virkeligt et problem.
>
> Jeg vil gerne lave en numerologi udregner på min hjemme side, mest for
sjov.
>
> Jeg kan ikke finde en måde at tage tværsummen af et tal.
> Jeg kan godt få den til at tage en tværsum, men så kommer den ud med 13,
når
> jeg skal have 4.
>
> 643 => 6 +4 +3 => 13 her fejler jeg =>4
>
> Er der nogen der har en god løsning..

Tag modolus 9 på det tal du kommer frem til 13%9 = 4


/Ruben Hesselbæk



Peter Brodersen (09-03-2004)
Kommentar
Fra : Peter Brodersen


Dato : 09-03-04 16:46

On Tue, 9 Mar 2004 16:18:33 +0100, "Ruben Hesselbæk"
<Mr.Chaos@area99.dk> wrote:

>> Jeg kan ikke finde en måde at tage tværsummen af et tal.
>> Jeg kan godt få den til at tage en tværsum, men så kommer den ud med 13,
>når
>> jeg skal have 4.
>>
>> 643 => 6 +4 +3 => 13 her fejler jeg =>4

Hvis man vil lave en konstruktion, der skal blive ved med at iterere
en variabel, indtil den ikke ændrer sig længere, så er følgende en
mulighed: (jeg forudsætter, at man har en funktion ved navn
tvaersum(), der tager tværsummen én gang):

while ($tal != ($tal = tvaersum($tal)));

I det aktuelle tilfælde, dog:

>Tag modolus 9 på det tal du kommer frem til 13%9 = 4

... hvilket også kan gøres fra starten af, med samme slutresultat.

Eneste undtagelse er, hvis tallet er 0 i første omgang.

--
- Peter Brodersen

Ugens sprogtip: også (og ikke osse)

Anders Christiansen (09-03-2004)
Kommentar
Fra : Anders Christiansen


Dato : 09-03-04 18:53

undskyld lars for den mail... den skulle have været til gruppen ohh well..

nu har jeg lavet følgende script.

Der er en funktion der hedder tværsummen, som returnere den tværsummen at
tallet 67 => 13.

I scriptet kalder jeg den med det loop som Peter Brodersen skrev. men
funktionen fejler anden gang den iterere..

her er fejl meddelelsen..

Warning: array_sum(): The argument should be an array in
/STORE/2357.dk/public_html/tvaersum.php on line 11

Den kommer 2 gange

Håber i kan hjælpe mig..

Hilsen

Anders Christiansen


//tværsum PHP.

<?
function tvaersummen ($vaerdi)
{
$i=0;
while ($vaerdi[$i]){
$tal[$i] = $vaerdi[$i];
$i++;
//echo "<br>test<br>" . $i . " " . $tal[$i]; //en linie jeg havde inført for
at teste funktionen..
}
$tvaersum = array_sum($tal);
return ($tvaersum);
}

echo $tester . "<br>"; //det oprindelige tal
echo tvaersummen($tester); //den første tværsum
while ($tester != ($tester = tvaersummen($tester)));
echo $tester; //den endelige tværsum
?>
<form method=post action=<? echo $php_self; ?>>
tal <input type=text name=tester><br>
<input type=submit name="tværsum"><br>
</form>



"Peter Brodersen" <usenet@ter.dk> skrev i en meddelelse
news:c2korq$o46$1@dknews.tiscali.dk...
> On Tue, 9 Mar 2004 16:18:33 +0100, "Ruben Hesselbæk"
> <Mr.Chaos@area99.dk> wrote:
>
> >> Jeg kan ikke finde en måde at tage tværsummen af et tal.
> >> Jeg kan godt få den til at tage en tværsum, men så kommer den ud med
13,
> >når
> >> jeg skal have 4.
> >>
> >> 643 => 6 +4 +3 => 13 her fejler jeg =>4
>
> Hvis man vil lave en konstruktion, der skal blive ved med at iterere
> en variabel, indtil den ikke ændrer sig længere, så er følgende en
> mulighed: (jeg forudsætter, at man har en funktion ved navn
> tvaersum(), der tager tværsummen én gang):
>
> while ($tal != ($tal = tvaersum($tal)));
>
> I det aktuelle tilfælde, dog:
>
> >Tag modolus 9 på det tal du kommer frem til 13%9 = 4
>
> .. hvilket også kan gøres fra starten af, med samme slutresultat.
>
> Eneste undtagelse er, hvis tallet er 0 i første omgang.
>
> --
> - Peter Brodersen
>
> Ugens sprogtip: også (og ikke osse)



Peter Brodersen (09-03-2004)
Kommentar
Fra : Peter Brodersen


Dato : 09-03-04 19:32

On Tue, 9 Mar 2004 18:52:49 +0100, "Anders Christiansen"
<dsl91136@vip.cybercity.dk> wrote:

>her er fejl meddelelsen..
>
>Warning: array_sum(): The argument should be an array in
>/STORE/2357.dk/public_html/tvaersum.php on line 11

Din tværsum-funktion virker tilsyneladende ikke. En hurtig anden
udgave:

function tvaersum ($tal) {
$tal = (string) $tal;
$sum = 0;
for($i=0;$i<strlen($tal);$i++) {
$sum += $tal[$i];
}
return $sum;
}

--
- Peter Brodersen

Ugens sprogtip: også (og ikke osse)

Kristian Thy (09-03-2004)
Kommentar
Fra : Kristian Thy


Dato : 09-03-04 22:38

Peter Brodersen uttered:
>>Tag modolus 9 på det tal du kommer frem til 13%9 = 4
>
> .. hvilket også kan gøres fra starten af, med samme slutresultat.
>
> Eneste undtagelse er, hvis tallet er 0 i første omgang.

Er 0 modulo 9 ikke 0? Og er tværsummen af 0 ikke 0?

</forvirret>

\\kristian
--
Wine improves with age. The older I get, the better I like it.

Peter Brodersen (09-03-2004)
Kommentar
Fra : Peter Brodersen


Dato : 09-03-04 22:41

On 9 Mar 2004 21:37:32 GMT, Kristian Thy <thy@it.edu> wrote:

>>>Tag modolus 9 på det tal du kommer frem til 13%9 = 4
>> .. hvilket også kan gøres fra starten af, med samme slutresultat.
>> Eneste undtagelse er, hvis tallet er 0 i første omgang.
>Er 0 modulo 9 ikke 0? Og er tværsummen af 0 ikke 0?

Jeg ævler. Min pointe er, at undtagelsen er, hvis tværsummen ender med
at være 9.

18%9 eller fx 522%9 er 0, men tværsummen af hver af de to tal er 9.

--
- Peter Brodersen

Ugens sprogtip: også (og ikke osse)

Peter Brodersen (09-03-2004)
Kommentar
Fra : Peter Brodersen


Dato : 09-03-04 22:42

On Tue, 09 Mar 2004 22:41:15 +0100, Peter Brodersen <usenet@ter.dk>
wrote:

>18%9 eller fx 522%9 er 0, men tværsummen af hver af de to tal er 9.

Dårligt eksempel for den pointe (da man finder den endelige tværsum i
første iteration). 756%9 er nok et bedre eksempel (første tværsum=18,
anden tværsum=9)

--
- Peter Brodersen

Ugens sprogtip: også (og ikke osse)

Thomas Lindgaard (10-03-2004)
Kommentar
Fra : Thomas Lindgaard


Dato : 10-03-04 12:16

On Tue, 09 Mar 2004 14:34:29 +0100, Anders Christiansen wrote:

> eg kan ikke finde en måde at tage tværsummen af et tal.
> Jeg kan godt få den til at tage en tværsum, men så kommer den ud med 13, når
> jeg skal have 4.
>
> 643 => 6 +4 +3 => 13 her fejler jeg =>4
>
> Er der nogen der har en god løsning..
>
> Anden problem jeg har.
> Når den modtager A skal den kunne genkende at det er en Vokal og den har
> værdien 1, når det er N skal den sige Konsonant værdi 5. (Det er tværsummen
> af bogstavets nummer i alfabetet..)

Her er et lille forslag som ser ud til at virke. Det accepterer både tal
og bogstaver. Bogstavers placering i alfabetet beregnes på følgende måde:

ascii-værdien af bogstavet - ascii-værdien af a + 1

Der er ingen grund til at finde tværsummen af bogstavet med det samme -
dets placering lægges blot til summen, som siden reduceres til en tværsum.

<?php

$original_number = '765ABC';
$number = strtolower($original_number);

do {
$sum = 0;
$number = (string) $number;

for ($i = 0; $i < strlen($number); $i++) {
$sum += ( is_numeric($number[$i]) ) ? $number[$i] : ord($number[$i]) - ord('a') + 1;
}

$number = $sum;
} while ( $number > 9 );

print "tværsummen af $original_number er $sum\n";

?>

Mvh.
/Thomas

Anders Christiansen (11-03-2004)
Kommentar
Fra : Anders Christiansen


Dato : 11-03-04 18:58

Tak for hjælpen..

her er linket til DEN STORE NUMMEROLOG...

mest for sjov..

Jeg laver et link til php koden en dag..



Lars Olesen (11-03-2004)
Kommentar
Fra : Lars Olesen


Dato : 11-03-04 21:04

Anders Christiansen wrote:

> her er linket til DEN STORE NUMMEROLOG...

Næh, det er ej :D Men vi vil da gerne se den!


--
Lars Olesen
Konkurrence på <http://www.fodboldenslegestue.dk>
Kan det gøres bedre? Navigation og brugervenlighed!

Anders Christiansen (11-03-2004)
Kommentar
Fra : Anders Christiansen


Dato : 11-03-04 21:56

ahh jeg hader dette program... (outlook...)

HER er linket..

www.2357.dk klik på... DEN STORE NUMMEROLOG...



"Lars Olesen" <lsolesen@hotmail.com> skrev i en meddelelse
news:4050c5d5$0$147$edfadb0f@dread11.news.tele.dk...
> Anders Christiansen wrote:
>
> > her er linket til DEN STORE NUMMEROLOG...
>
> Næh, det er ej :D Men vi vil da gerne se den!
>
>
> --
> Lars Olesen
> Konkurrence på <http://www.fodboldenslegestue.dk>
> Kan det gøres bedre? Navigation og brugervenlighed!



No1 (14-03-2004)
Kommentar
Fra : No1


Dato : 14-03-04 19:44

> ahh jeg hader dette program... (outlook...)
>
> HER er linket..
>
> www.2357.dk klik på... DEN STORE NUMMEROLOG...

Det ville være sejt, hvis den kunne fortælle mig at mit navn var forkert
og at jeg skulle hedde et eller andet mærkeligt som Johnnnih eller
Andderhzh eller Pter.

Kim Schulz (14-03-2004)
Kommentar
Fra : Kim Schulz


Dato : 14-03-04 20:15

On Thu, 11 Mar 2004 21:55:35 +0100
"Anders Christiansen" <dsl91136@vip.cybercity.dk> wrote:
> ahh jeg hader dette program... (outlook...)
>
> HER er linket..
>
> www.2357.dk klik på... DEN STORE NUMMEROLOG...
>

du skriver på siden at du gerne vil have at vide hvad tallene betyder.
På denne side kommer den med en forklaring til de forskellige tal på
samme måde som din side.


http://www.k-web.dk/steen/atselvudvikle/vaerktoj/numerologi.asp

--
Kim Schulz | Stop Software patents before it is too late!
Geek by nature |
schulz.dk |

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408930
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste