Aufgabe

Status
Nicht offen für weitere Antworten.
@Napofis
Nunja, was soll die 2te Dimension sein?
Jede Tabelle sit 2-Diensional. Auch wenn die eine Dimension nur eine Spalte tief ist.
 
Dann wird's eben etwas größer und ist nur noch mit Quadratzahlen als Menge möglich.
PHP:
<form method="POST">
	<input type="text" name="number" value="<?php echo isset($_POST['number']) ? $_POST['number'] : ''; ?>"/>
	<input type="submit">
</form>
<?php
	DEFINE("MIN", 1);
	DEFINE("MAX", 999);
	DEFINE("AMOUNT", 40000);
	
	if(isset($_POST['number'])){
		$no = $_POST['number'];
		if(!is_numeric($no)) throw new Exception ("Dezimalzahlen sollten schon nummerisch sein...");
		if($no<MIN || $no>MAX) throw new Exception ("Number must be greater than ".MIN." and smaller than ".MAX);
		$sqrt = sqrt(AMOUNT);
		echo $sqrt;
		if($sqrt != (int)$sqrt) throw new Exception("Amount must be a square number");
		for($i = 0; $i < AMOUNT; $rand[$i/$sqrt][$i%$sqrt] = rand(MIN,MAX), $i++);
		shuffle($rand);
		$f=false;
		$rv = "<table>";
		for($i = 0, $j = AMOUNT/$sqrt; $i < $j; $i++){
			$f = (in_array($no, $rand[$i])) ?  true : $f;
			$rv.= "<tr>";
			for($k = 0, $l = AMOUNT/$sqrt; $k < $l; $rv.="<td ". (($rand[$i][$k] == $no) ? 'style="background:#0f0"' : '') .">".$rand[$i][$k]."&nbsp;</td>", $k++);
			$rv.= "</tr>";
		}
		echo (!$f) ? 'Number not found' : '';
		echo $rv."<table>";
	}
?>
 
Zuletzt bearbeitet:
Auch wenn das Forum vom Namen her sprachlich nicht passt ... der Inhalt des Posts ist definitiv universell und hier FAST komplett ...
http://www.java-forum.org/hausaufga...eim-erschleichen-loesungen-fuer-aufgaben.html
*ich denke mal das kennen einige*

@TO
Was heißt hier bitte wir sollen Verständnis haben ?
DU kommst hier her ... DU knallst uns einfach die Aufgabe an den Kopf nach dem Motto : hier , nu macht ma ... DU wirst langsam etwas ausfallend weil du unsere Hilfeversuche weder verstehst noch ernst nimmst ... DU hast am Ende das Problem ... DIR fehlen scheinbar fundamentale Grundlagen in PHP ... und WIR sind jetzt die Bösen ? ... Ich glaube das deine Auffassung extrem daneben ist ... und so wie ich das an den Reaktionen der Anderen sehe haben die langsam auch "kein Bock" mehr dir helfen zu wollen da du scheinbar unfähig bist dir helfen zu lassen.

Wir hätten ja ganz anderst angefangen wenn du ganz normal , sachlich und höflich um Rat gebeten hättest weil du diese Aufgabe nicht verstehst oder Schwierigkeiten bei der Umsetzung hast ... aber das du nicht mal eine einzige Zeile Code hast ... dem zufolge es auch noch nicht ein mal VERSUCHT hast ... und uns wie gesagt einfach so die Aufgabe an den Kopf geworfen hast ... sind WIR jetzt auch nur noch sehr unmotiviert dir zu helfen. Die Lösungen die hier kamen sind alle relativ einfach und machen was du willst ... aber da dir scheinbar Grundlagen und vorallem Verständnis fehlen fällt es dir natürlich schwer diese Codes zu verstehen ...

Ich sage es dir noch ein mal in aller Höflichkeit : wenn du nur die Lösung deiner Aufgabe im Kopf hast ohne es selbst zu versuchen oder was zur Problemlösung bei zu tragen ... dann nutze endweder die Chance des Copy&Paste der Codes die hier einige Mitglieder dir zu liebe erstellt und daran gearbeitet haben ... OHNE das von dir auch nur mal ein DANKE kommt ... oder geh runter in die JobBörse ...

Du hast wie wir anderen auch bei der Registrierung unsere Nutzungsregeln akzeptiert ... und wenn du diese nicht einhältst musst du mit Konsequenzen rechnen *und ich spreche dabei aus Erfahrung*. Und ein solches Verhalten an den Tag zu legen ist nicht nur gegen die Regeln sondern persönlich auch echt niveaulos.


*SRY ... aber das MUSSTE jetzt einfach mal ...*
 
[...] da ich auch anderen Helfe [...]
Ich nehme an, dass du das auf diesen Post hinaus willst. Das war eher copy&paste und kein helfen.

Im übrigen gab es zum Verhalten von pars bereits hier eine nette Debatte, die zeigt, dass SPiKe goldrichtig liegt. Wenn ich mich recht erinnere, gab es im o.g. Thread bereits gute Ansätze, die nur noch zu ende "gedacht" werden mussten und es passierte nichts.

Finde das ganze einfach nur eine bodenlose Unverschämtheit.
 
@IdeenWelt *oder doch lieber Rossmann ? xD*
Ich hab mir mal deinen verlinkten Thread durchgelesen ... ich kann deine Reaktion hierauf schon durchaus verstehen ...
Da es in dem anderen Thread ähnlich lief wie hier : ich hab n Problem / ne Aufgabe und hätte dazu gerne ne funktionierende Lösung ... und es wirklich mehr als nur genug fertige Lösungen kamen ... und TO immer wieder meinte : ich versuche es doch auf meine Art ... genau das gleiche wie hier ... also dann tut es mir echt leid. Wer sich mit sowas beschäftigt ... egal warum ... sollte auch mal ein Funken Eigeninitiative zeigen und nicht nach Lösungen betteln *siehe Java-Forum -> Hausaufgaben *Post #34**.

@TO
Auf Gefahr hin mich zu wiederholen und von dir dann doch nur Unsinn zuhören :
Wenn du ein Problem oder eine Aufgabe hast ... und dafür NUR die Lösung willst ... ohne etwas dabei zu lernen ... dann meld dich bitte in der JobBörse. Das ist jetzt hier schon mindestens der 2 Thread von dir der so abläuft *und hoffentlich bald endet* ... wenn du nichts lernen WILLST ... dann lass es bleiben.
 
Spikee hat ja recht aber ich find die Aufgabe trotzdem ganz nett.
Hier mal meine Lösung mit etwas mehr OOP.

PHP:
class RandomIntegerMatrix {
	private $_min		= 0;
	private $_max		= 0;
	private $_matrixX	= 0;
	private $_matrixY	= 0;
	private $_matrix	= array();
	
	
	public function __construct($matrixX=10,$matrixY=10,$min=1,$max=999) {
		$this->_min=(int)$min;
		$this->_max=(int)$max;
		$this->_matrixX=(int)$matrixX;
		$this->_matrixY=(int)$matrixY;
		
		for($y=0;$y<$this->_matrixY;$y++) {
			if (!isset($this->_matrix[$y]) || !is_array($this->_matrix[$y])) $this->_matrix[$y]=(array)null;
			for($x=0;$x<$this->_matrixX;$x++)
				$this->_matrix[$y][$x] = rand($this->_min, $this->_max);
		}
	}
	public function getMatrix($number){
		$nr = (int)$number;
		if ($nr<$this->_min || $nr>$this->_max) return 'Bitte gib eine Nummer zwischen '.$this->_min.' und '.$this->_max.' ein.';
		
		$intFound = false;
		$html = '<table align="center" cellspacing="0" cellpadding="7" border="1" style="border-collapse:collapse;text-align:right"><thead><tr><th colspan="'.$this->_matrixX.'" style="text-align:center">Suche nach: '.$nr	.'</th></tr></thead><tbody>';
		foreach($this->_matrix as $tr) :
			$html .= '<tr>';
				foreach($tr as $td) :
					$html .= '<td>';
					if ($nr==$td) {
						$html .= '<span style="color:green">'.$td.'</span>';
						$intFound = true;
					} else $html .= $td;
					$html .= '</td>';
				endforeach;
			$html .= '</tr>';
		endforeach;
		$html .= '</tbody>';
		if (!$intFound) $html .= '<tfoot><tr><th colspan="'.$this->_matrixX.'" style="text-align:center">Die Zahl wurde nicht gefunden.</th></tr></tfoot>';
		$html .= '</table>';
		return $html;
	}
	public function getForm(){
		return '<form method="post" action=""><input type="text" name="number" /><input type="submit"></form>';
	}
}

$matrix = new RandomIntegerMatrix();
echo $matrix->getForm();
echo $matrix->getMatrix($_POST['number']);
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Zurück