Zum Forum springen
Benachrichtigungen
Alles löschen

[Geschlossen] php fehler

16 Beiträge
6 Benutzer
0 Reactions
503 Ansichten

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
Beigetreten: 15.09.2006

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
Beigetreten: 05.10.2006

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;

?>


<?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


wollt ihr es net noch komplizierter machen? :rolleyes:

<?php
	$feld=array(4,3,5,12,2);
	sort($feld);
	echo $feld[0];
?>

Original von elbarto132
wollt ihr es net noch komplizierter machen? :rolleyes:

<?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
trotzdem danke sehr


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
Beigetreten: 05.10.2006

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
$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


oplanKing
Beigetreten: 30.04.2007

Original von PPlay

<?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]


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
Beigetreten: 16.11.2007

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:


diese total schwachsinnigen aufgabenstellungen gibts net nur in der schule, sondern genauso in der uni ;)


haiopai
Beigetreten: 05.10.2006

Original von elbarto132
diese total schwachsinnigen aufgabenstellungen gibts net nur in der schule, sondern genauso in der uni ;)

word!


jap.. danke an alle.. hab jeztt ne lösung, die ich auch erklären kann
danke sehr =)


baderth
Beigetreten: 16.11.2007

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
Beigetreten: 15.09.2006

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).