php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.08.2006, 13:38  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

1-1 = 3

hmm, ihn mate war ich ni richtick gud. Aber lehsen und schreipe kann ichh

(sorry )
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.08.2006, 13:45  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von phpfan
Zitat:
Zitat von RaZoR
Man muss einfach Mathe können damit man auch anständig programmieren kann.
Hähä, auch dir sollte schon aufgefallen sein, dass manche Leute hier ja noch nicht mal richtig lesen und schreiben können. Da verlangst du mit Mathe aber doch 'ne Menge.

Gruß
phpfan
Ich red ja auch von anständigem programmieren
Flor1an ist offline  
Alt 10.08.2006, 15:51  
Gast
 
Beiträge: n/a
Standard

man könnte ja auch einfach mit if gucken welche größer ist und die kleinere von dieser abziehen XD

PHP-Code:
if($x>$y){
$differenz $x-$y;
}elseif(
$x<$y){
$differenz $y-$x;
}else{
$differenz 0;

und dann kann man ja immernoch runden oda son kram O.o
 
Alt 10.08.2006, 16:48  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von MAIBOCK
man könnte ja auch einfach mit if gucken welche größer ist und die kleinere von dieser abziehen XD
Man könnte auch einfach Threads lesen, bevor man antwortet.
 
Alt 10.08.2006, 17:03  
Gast
 
Beiträge: n/a
Standard

[ironie]geht doch noch viel viel einfacher[/ironie]

Code:
$digit1 = 9999999;
$digit2 = 3;
$result = 0;

if($digit1 > $digit2)
{
    while($digit1 > $digit2)
    {
        $digit1--;
        $result++;
    }
}
elseif($digit2 > $digit1)
{
    while($digit2 > $digit1)
    {
        $digit2--;
        result++;
    }
}
warum einfach, wenns auch umständlich geht ^^
 
Alt 10.08.2006, 18:53  
Erfahrener Benutzer
 
Benutzerbild von DER_Brain
 
Registriert seit: 18.04.2005
Beiträge: 1.541
PHP-Kenntnisse:
Fortgeschritten
DER_Brain ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Is für mich ehrlich gesagt das selbe...

wenn ich von coden rede dann rede ich gleichzeitig auch vom programmieren...
DER_Brain ist offline  
Alt 10.08.2006, 20:08  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

...die einen programmieren, die anderen koten. Allerdings baut man beim Programmieren auch immer wieder Sche:ße, dafür kommt beim Sche:ßen fast immer was Gutes bei raus. Wichtig ist halt so oder so, dass man die Vorzeichen richtig deutet.

Wobei wir wieder beim Thema wären. Wie wäre es denn hiermit:
PHP-Code:
<?php
$aKeys 
range(-10001000);
$aValues array_merge(range(10000, -1), range(11000));
$aAbs array_combine($aKeys$aValues);

$iDiff $aAbs[$x $y];
?>
Der Zahlenraum lässt sich natürlich bei Bedarf anpassen. Oder auch automatisch mit abs($x) + abs($y). Oh, jetzt sind wir schon fast bei den Schleifen von Hofstadter.

Göke, magst du nicht mal einen Preis für diesen Wettbewerb aussetzen? Eine php...de-Tasse zum Beispiel?

Basti
Basti ist offline  
Alt 10.08.2006, 21:02  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Bastis Lösung finde ich ja wirklich schon schön aber ich glaube das kann man besser mit einer Datenbank lösen:
Code:
CREATE TABLE differenz (
	a INTEGER NOT NULL,
	b INTEGER NOT NULL,
	differenz INTEGER NOT NULL,
	PRIMARY KEY (a,b)
)
Die muss man nur einmal füllen und kann dann bequem die Differenzen abfragen:
Code:
SELECT differenz FROM differenz WHERE a=10 AND b=7

Hier ein Dump für die Zahlen 0-9:
CREATE TABLE `differenz` (
`a` int(11) NOT NULL default '0',
`b` int(11) NOT NULL default '0',
`differenz` int(11) NOT NULL default '0',
PRIMARY KEY (`a`,`b`)
) TYPE=MyISAM;

#
# Daten für Tabelle `differenz`
#

INSERT INTO `differenz` VALUES (0, 0, 0);
INSERT INTO `differenz` VALUES (0, 1, 1);
INSERT INTO `differenz` VALUES (0, 2, 2);
INSERT INTO `differenz` VALUES (0, 3, 3);
INSERT INTO `differenz` VALUES (0, 4, 4);
INSERT INTO `differenz` VALUES (0, 5, 5);
INSERT INTO `differenz` VALUES (0, 6, 6);
INSERT INTO `differenz` VALUES (0, 7, 7);
INSERT INTO `differenz` VALUES (0, 8, 8);
INSERT INTO `differenz` VALUES (0, 9, 9);
INSERT INTO `differenz` VALUES (1, 0, 1);
INSERT INTO `differenz` VALUES (1, 1, 0);
INSERT INTO `differenz` VALUES (1, 2, 1);
INSERT INTO `differenz` VALUES (1, 3, 2);
INSERT INTO `differenz` VALUES (1, 4, 3);
INSERT INTO `differenz` VALUES (1, 5, 4);
INSERT INTO `differenz` VALUES (1, 6, 5);
INSERT INTO `differenz` VALUES (1, 7, 6);
INSERT INTO `differenz` VALUES (1, 8, 7);
INSERT INTO `differenz` VALUES (1, 9, 8);
INSERT INTO `differenz` VALUES (2, 0, 2);
INSERT INTO `differenz` VALUES (2, 1, 1);
INSERT INTO `differenz` VALUES (2, 2, 0);
INSERT INTO `differenz` VALUES (2, 3, 1);
INSERT INTO `differenz` VALUES (2, 4, 2);
INSERT INTO `differenz` VALUES (2, 5, 3);
INSERT INTO `differenz` VALUES (2, 6, 4);
INSERT INTO `differenz` VALUES (2, 7, 5);
INSERT INTO `differenz` VALUES (2, 8, 6);
INSERT INTO `differenz` VALUES (2, 9, 7);
INSERT INTO `differenz` VALUES (3, 0, 3);
INSERT INTO `differenz` VALUES (3, 1, 2);
INSERT INTO `differenz` VALUES (3, 2, 1);
INSERT INTO `differenz` VALUES (3, 3, 0);
INSERT INTO `differenz` VALUES (3, 4, 1);
INSERT INTO `differenz` VALUES (3, 5, 2);
INSERT INTO `differenz` VALUES (3, 6, 3);
INSERT INTO `differenz` VALUES (3, 7, 4);
INSERT INTO `differenz` VALUES (3, 8, 5);
INSERT INTO `differenz` VALUES (3, 9, 6);
INSERT INTO `differenz` VALUES (4, 0, 4);
INSERT INTO `differenz` VALUES (4, 1, 3);
INSERT INTO `differenz` VALUES (4, 2, 2);
INSERT INTO `differenz` VALUES (4, 3, 1);
INSERT INTO `differenz` VALUES (4, 4, 0);
INSERT INTO `differenz` VALUES (4, 5, 1);
INSERT INTO `differenz` VALUES (4, 6, 2);
INSERT INTO `differenz` VALUES (4, 7, 3);
INSERT INTO `differenz` VALUES (4, 8, 4);
INSERT INTO `differenz` VALUES (4, 9, 5);
INSERT INTO `differenz` VALUES (5, 0, 5);
INSERT INTO `differenz` VALUES (5, 1, 4);
INSERT INTO `differenz` VALUES (5, 2, 3);
INSERT INTO `differenz` VALUES (5, 3, 2);
INSERT INTO `differenz` VALUES (5, 4, 1);
INSERT INTO `differenz` VALUES (5, 5, 0);
INSERT INTO `differenz` VALUES (5, 6, 1);
INSERT INTO `differenz` VALUES (5, 7, 2);
INSERT INTO `differenz` VALUES (5, 8, 3);
INSERT INTO `differenz` VALUES (5, 9, 4);
INSERT INTO `differenz` VALUES (6, 0, 6);
INSERT INTO `differenz` VALUES (6, 1, 5);
INSERT INTO `differenz` VALUES (6, 2, 4);
INSERT INTO `differenz` VALUES (6, 3, 3);
INSERT INTO `differenz` VALUES (6, 4, 2);
INSERT INTO `differenz` VALUES (6, 5, 1);
INSERT INTO `differenz` VALUES (6, 6, 0);
INSERT INTO `differenz` VALUES (6, 7, 1);
INSERT INTO `differenz` VALUES (6, 8, 2);
INSERT INTO `differenz` VALUES (6, 9, 3);
INSERT INTO `differenz` VALUES (7, 0, 7);
INSERT INTO `differenz` VALUES (7, 1, 6);
INSERT INTO `differenz` VALUES (7, 2, 5);
INSERT INTO `differenz` VALUES (7, 3, 4);
INSERT INTO `differenz` VALUES (7, 4, 3);
INSERT INTO `differenz` VALUES (7, 5, 2);
INSERT INTO `differenz` VALUES (7, 6, 1);
INSERT INTO `differenz` VALUES (7, 7, 0);
INSERT INTO `differenz` VALUES (7, 8, 1);
INSERT INTO `differenz` VALUES (7, 9, 2);
INSERT INTO `differenz` VALUES (8, 0, 8);
INSERT INTO `differenz` VALUES (8, 1, 7);
INSERT INTO `differenz` VALUES (8, 2, 6);
INSERT INTO `differenz` VALUES (8, 3, 5);
INSERT INTO `differenz` VALUES (8, 4, 4);
INSERT INTO `differenz` VALUES (8, 5, 3);
INSERT INTO `differenz` VALUES (8, 6, 2);
INSERT INTO `differenz` VALUES (8, 7, 1);
INSERT INTO `differenz` VALUES (8, 8, 0);
INSERT INTO `differenz` VALUES (8, 9, 1);
INSERT INTO `differenz` VALUES (9, 0, 9);
INSERT INTO `differenz` VALUES (9, 1, 8);
INSERT INTO `differenz` VALUES (9, 2, 7);
INSERT INTO `differenz` VALUES (9, 3, 6);
INSERT INTO `differenz` VALUES (9, 4, 5);
INSERT INTO `differenz` VALUES (9, 5, 4);
INSERT INTO `differenz` VALUES (9, 6, 3);
INSERT INTO `differenz` VALUES (9, 7, 2);
INSERT INTO `differenz` VALUES (9, 8, 1);
INSERT INTO `differenz` VALUES (9, 9, 0);



Und wer postet jetzt eine Version die exzessiv Objekte verwendet?
agrajag ist offline  
Alt 10.08.2006, 21:47  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von Werbegeschenk
Und wer postet jetzt eine Version die exzessiv Objekte verwendet?
hier, ich:
PHP-Code:
<?php

interface Number {
    
    
/**
     *
     * @param MathematicalOperation $op
     * @param Number $otherNumber
     * @return Number
     */
    
public function compute(Operation $opNumber $otherNumber);
    
    
/**
     *
     * @param Comparison $c
     * @param Number $other
     * @return boolean
     */
    
public function compare(Comparison $cNumber $other);
    
    
/**
     * return the primitive value.
     * @return primitive number
     */
    
public function getValue();
}

abstract class 
ANumber implements Number {
    
    
    public final function 
compute(Operation $opNumber $other) {
        
$rc = new ReflectionClass($this);
        return 
$rc -> newInstance($op -> operate($this$other));
    }
    
    
/**
     *
     * @param Comparison $c
     * @param Number $other
     * @return boolean
     */
    
public final function compare(Comparison $cNumber $other) {
        return 
$c -> compare($this$other);
    }
    


interface 
Operation {
    
/**
     * 
     * 
     * @param Number $a
     * @param Number $b
     * @return Number
     */
    
public function operate(Number $aNumber $b);
}

class 
Plus implements Operation {    
    
    public function 
operate(Number $aNumber $b) {
        return 
$a -> getValue() + $b -> getValue();
    }
}

class 
Minus implements Operation {
    public function 
operate(Number $aNumber $b) {
        return 
$a -> getValue() - $b -> getValue();
    }
}

class 
Abs implements Operation {
    
    public function 
operate(Number $aNumber $b) {
        
$gt = new GreaterThan();
        
$eq = new Equals();
        if (
$eq -> compare($a$b)) {
            return 
0;
        }
        if (
$gt -> compare($a$b)) {
            
$minus = new Minus();
            return 
$minus -> operate($a$b);
        }
        return 
$this -> operate($b$a);
    }
}


interface 
Comparison {
    public function 
compare(Number $aNumber $b);
}

class 
GreaterThan implements Comparison {
    public function 
compare(Number $aNumber $b) {
        return (
$a -> getValue() > $b -> getValue());
    }
}

class 
LessThan implements Comparison {
    
    public function 
compare(Number $aNumber $b) {
        return (
$a -> getValue() < $b -> getValue());
    } 
}

class 
Equals implements Comparison {
    
    public function 
compare(Number $aNumber $b) {
        
$lt = new LessThan();
        
$gt = new GreaterThan();
        return !(
$lt -> compare($a$b) || $gt -> compare($a$b));
    }
}


class 
Integer extends ANumber {
    
    private 
$_n;
    
    public function 
__construct($n) {
        
$this -> _n = (int)$n;
    }
        
    public function 
getValue() {
        return 
$this -> _n;
    }
    
    public function 
__toString() {
        return 
sprintf("Integer: % 4d\n"$this -> _n);
    }
    
}

$x = new Integer(39);
$y = new Integer(42);


echo 
$x -> compute(new Minus(), $y);
echo 
$y -> compute(new Minus(), $x);
echo 
$x -> compute(new Plus(), $x);
echo 
$x -> compute(new Plus(), $y);
echo 
$x -> compute(new Abs(), $y);
echo 
$x -> compute(new Abs(), $x);
echo 
$y -> compute(new Abs(), $x);
axo ist offline  
Alt 10.08.2006, 22:12  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Zitat:
Zitat von Werbegeschenk
Und wer postet jetzt eine Version die exzessiv Objekte verwendet?
Ich befürchte, das ist zu einfach...

PHP-Code:
<?php
try {

    
$X = new Integer(7);
    
$Y = new Integer(9);

} catch (
NotAnIntegerException $e) {

    echo 
$e;

}
echo 
$X->sub($Y)->abs();

class 
Integer
{
    private 
$iValue null;

    public function 
__construct($mValue null)
    {
        if (!
is_int($mValue)) throw new NotAnIntegerException();
        
$this->iValue $mValue;
    }

    public function 
sub(Integer $Subtrahend)
    {
        return new 
Integer(bcsub($this->iValue$Subtrahend->getValue());
    }

    public function 
abs()
    {
        
retun new Integer(abs($this->iValue));
    }

    public function 
getValue()
    {
        return 
$this->iValue;
    }
}
?>
Aber mit deiner Lösung bist du deinem Nickname ein dickes Stück näher gekommen ... sofern sich Göke darauf einlässt. *g

Basti

PS (nachdem ich den Beitrag von "axo" gelesen habe):
Oh shit! Ich hätte wohl besser nicht zwischendrinnen telefonieren sollen und lieber über das Wörtchen "exzessiv" nachdenken sollen. Ließe sich das nicht irgendwie mit de Datenbank von "Werbegeschenk" verbinden?
Basti ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[gelöst] Zahlen sortieren mit Varchar moose Datenbanken 8 21.07.2008 13:53
[Algorithmus-Problem] Primzahlarray, welche zahlen sind mgl moose PHP Tipps 2008 14 05.10.2007 22:27
Zahlen (Double) formatiert darstellen Marie PHP Tipps 2007 2 24.01.2007 22:32
Brauche Funktion um Strings aus einer txt-Datei zu zählen mark_gebert PHP Tipps 2006 11 16.08.2006 14:30
Zahlen effektiv verschlüsseln Jacks Rache PHP Tipps 2006 20 10.07.2006 01:44
zeit zwischen 2 datetime jens76 Datenbanken 13 08.06.2006 14:15
Zahlen zusammenzählen Sonja PHP Tipps 2006 11 28.03.2006 11:07
leere tabellen problem mit zählen Nosferatu PHP Tipps 2006 1 08.01.2006 03:28
Abfrage nur bei Zahlen? BartTheDevil89 Datenbanken 3 27.11.2005 13:21
Wie prüfe ich einen String ob nur Zahlen enthalten sind ? PHP Tipps 2005 7 31.05.2005 13:02
Differenz von 2 Datumsangaben PHP Tipps 2005 1 02.05.2005 11:00
Zählen HTML, Usability und Barrierefreiheit 6 26.04.2005 10:24
spalte auslesen in der zahlen zwischen 400 und 499 vorkommen Datenbanken 2 24.04.2005 15:28
in string nach zahlen zwischen kommas suchen PHP Tipps 2004 3 30.10.2004 17:45
[Erledigt] Bestimmte Zahlen in zufälliger Reihenfolge ausgeben PHP Tipps 2004 12 15.09.2004 20:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
differenz zwischen 2 zahlen, differenz von 2 zahlen, php differenz zwischen x zahlen, php differenz zwischen zwei daten, wie gross zahlenraum von double php

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:19 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.