php fehler

    • PPlay
      PPlay
      Bronze
      Dabei seit: 28.07.2007 Beiträge: 1.002
      hey leute..
      ich hab als aufgabe bekommen mit php eine datei zu schreiben, die mir von einem array das kleinste ausgibt, ohne dabei die funktion min zu benutzen.
      hier mal mein versuch.. klappt aber irgentwie nich.. jemand abhilfe? :(
      ich danke schonmal



      <?php
      $feld=array(4,3,5,12,2);
      for($i=0; $i<count($feld); $i++){

      if ( $feld[0]&&
      $feld[1]&&
      $feld[2]&&
      $feld[3]&&
      $feld[4] >=$feld[$i] ) {
      return $feld[$i];

      }


      }


      ?>
  • 15 Antworten
    • MadCow
      MadCow
      Bronze
      Dabei seit: 15.09.2006 Beiträge: 1.151
      das ist nicht gut
      was ist wenn das array mehr als 5 einträge hat?

      mach ne schleife durch das array und speicher den wert in einer variable.
      wenn der nächste arraywert kleiner als der gespeicherte wert ist, überschreib dne alten wert, sonst in ruhe lassen

      am ende der Schleife hat die variable den kleinsten eintrag des arrays
    • haiopai
      haiopai
      Bronze
      Dabei seit: 05.10.2006 Beiträge: 106
      und bidde:

      <?php
      $feld=array(4,3,5,12,2);

      $min = NULL;
      foreach ($feld as $v)
      {
      if (empty($min))
      $min = $v;
      elseif ($min > $v)
      $min = $v;
      }

      echo $min;

      ?>
    • PPlay
      PPlay
      Bronze
      Dabei seit: 28.07.2007 Beiträge: 1.002
      <?php
      $feld=array(4,3,5,12,2);
      for($i=0; $i<count($feld); $i++){
      $feld[$i]=$wert;
      if($feld[$i]<$wert) {$feld=$wert;
      }}


      echo $wert


      ?>

      so in etwa? klappt aber irgentwie immer noch nicht =(

      danke auch an haiopai aber dieses mal würd ich das auch gern verstehn.. in deiner lösung sind soviele dinge, die wir noch nicht hatten
    • elbarto132
      elbarto132
      Bronze
      Dabei seit: 24.03.2008 Beiträge: 4.622
      wollt ihr es net noch komplizierter machen? :rolleyes:

      code:
      <?php
      	$feld=array(4,3,5,12,2);
      	sort($feld);
      	echo $feld[0];
      ?>
      
    • PPlay
      PPlay
      Bronze
      Dabei seit: 28.07.2007 Beiträge: 1.002
      Original von elbarto132
      wollt ihr es net noch komplizierter machen? :rolleyes:

      code:
      <?php
      	$feld=array(4,3,5,12,2);
      	sort($feld);
      	echo $feld[0];
      ?>
      
      hahaa sehr nette lösung xDD
      aber die aufgabe war, dass wir das sozusagen selbst konstruieren :D
      trotzdem danke sehr
    • elbarto132
      elbarto132
      Bronze
      Dabei seit: 24.03.2008 Beiträge: 4.622
      dann nimm halt irgend nen einfachen sortier algorithmus und schreib den einfach in deine datei?
      werd mal erfinderisch....

      nimmste z.b. http://de.wikipedia.org/wiki/Insertionsort
      den pseudocode in php zu schreiben sollte wohl net das problem sein, bzw vermutlich findest du das bei google auch schon in fertig

      hier is einer mit php code... http://de.wikipedia.org/wiki/Selectionsort
    • haiopai
      haiopai
      Bronze
      Dabei seit: 05.10.2006 Beiträge: 106
      Original von elbarto132
      dann nimm halt irgend nen einfachen sortier algorithmus und schreib den einfach in deine datei?
      werd mal erfinderisch....

      nimmste z.b. http://de.wikipedia.org/wiki/Insertionsort
      den pseudocode in php zu schreiben sollte wohl net das problem sein, bzw vermutlich findest du das bei google auch schon in fertig

      hier is einer mit php code... http://de.wikipedia.org/wiki/Selectionsort
      glaube kaum dass bei einer solchen Aufgabenstellung bereits Sortieralgorithmen gefragt sind...sonst machst einfach

      php:
      <?php
      $feld=array(4,3,5,12,2);
      $wert $feld[0];
      for($i=0$i<count($feld); $i++)
      {
          if ($feld[$i] < $wert)
              $wert $feld[$i];
      }
      echo $wert
      ?>
      

      ....dann haste auch keinen algo der in O(nlog(n)) liegt :D
    • oplanKing
      oplanKing
      Bronze
      Dabei seit: 30.04.2007 Beiträge: 92
      Original von PPlay
      code:
      <?php
      	$feld=array(4,3,5,12,2);
      		for($i=0; $i<count($feld); $i++){
      			$feld[$i]=$wert;
      				if($feld[$i]<$wert) {$feld=$wert;
      }}
      					 
      					
      	echo $wert
      	
      
      ?>
      


      so in etwa? klappt aber irgentwie immer noch nicht =(

      danke auch an haiopai aber dieses mal würd ich das auch gern verstehn.. in deiner lösung sind soviele dinge, die wir noch nicht hatten
      1. Solltest du $wert initialisieren, bei PHP nicht nötig, aber von Vorteil.
      2. Zeile 4 macht keinen Sinn.
      3. Zeile 5 muss heißen $wert = $feld[$i]
    • elbarto132
      elbarto132
      Bronze
      Dabei seit: 24.03.2008 Beiträge: 4.622
      natürlich is nen sortier algorithmus da unsinnig, aber allein schon die aufgabe is schwachsinnig. und nen fertigen sortier algo nehmen + die 3 zeilen zum array übergeben/ausgeben dran geht halt schneller als das min finden per hand zu schreiben ;)
    • baderth
      baderth
      Bronze
      Dabei seit: 16.11.2007 Beiträge: 1.423
      OT: Wasn das für eine beschissene aufgabenstellung bitte? wenn man nicht die hilfe der scriptsprache verwenden darf zieh das komplett durch und schreibs in assembler!

      schön zu sehen, dass schule noch genauso realitätsfern ist wie damals :rolleyes:
    • elbarto132
      elbarto132
      Bronze
      Dabei seit: 24.03.2008 Beiträge: 4.622
      diese total schwachsinnigen aufgabenstellungen gibts net nur in der schule, sondern genauso in der uni ;)
    • haiopai
      haiopai
      Bronze
      Dabei seit: 05.10.2006 Beiträge: 106
      Original von elbarto132
      diese total schwachsinnigen aufgabenstellungen gibts net nur in der schule, sondern genauso in der uni ;)
      word!
    • PPlay
      PPlay
      Bronze
      Dabei seit: 28.07.2007 Beiträge: 1.002
      jap.. danke an alle.. hab jeztt ne lösung, die ich auch erklären kann
      danke sehr =)
    • baderth
      baderth
      Bronze
      Dabei seit: 16.11.2007 Beiträge: 1.423
      schule, uni, whatever, weltfremde lehrertypen sind überall die selben.
      in der praxis wird das genommen, was einem am meisten arbeit abnimmt sprich dann sogar noch frameworks wie cakephp wenns php sein soll. oh my, ich hör auf, das tiltet mich ja fast hier :)
    • MadCow
      MadCow
      Bronze
      Dabei seit: 15.09.2006 Beiträge: 1.151
      find die aufgabenstellung nicht so schlimm

      man sollte schon erstmal lernen wie schleifen und variablen funktionieren
      und das lernt man zum teil in dieser aufgabe.

      Klar muss man das nur selten in der arbeitswelt wieder verwenden, weils frameworks gibt.
      Wissen sollte man es trotzdem.

      @PPlay alle aogirthmen die hier gepostet wurden machen dasselbe (das was ich anfangs sagte) nur mit anderem Syntax
      for, for each, while etc machen prinzipiell alle dasselbe.

      @sortieralgorithmen ... lol
      Sortieren ist zwar für manche zwecke sehr nützlich aber für diese aufgabe hoffnungslos ineffizient.
      genau deswegen sollte man etwas die basics lernen.
      (gute) Sortieralgorithmen laufen in O(nlog n) ab.
      Einfach durchschleifen in O(n).