Pomożecie?
Plik IloczynKarezjanski:
<?php
class IloczynKartezjanski {
/**
*
* @var array dane wejściowe metody oblicz
*/
private $zbiory;
/**
*
* @var array wynik obliczeń
*/
private $wynik;
/**
* Zwraca dane wejsciowe metody olicz
* @return array Zwraca dane wejsciowe metody olicz
*/
public function getZbiory() {return $this->zbiory;}
/**
* Ustawia dane wejsciowe medtody oblicz
* @param array $zbiory dane wejsciowe medtody oblicz
*/
public function setZbiory($zbiory) {$this->zbiory=$zbiory;}
/**
* Zwraca wynik obliczen
* @return array Zwraca wynik obliczen
*/
public function getWynik() {return $this->wynik;}
public function oblicz() {
$ilosc = count($this->zbiory); if ($ilosc < 2)
return;
$this->wynik = $this->zbiory[0];
for ($i=1;$i<$ilosc;$i++) {
$e = $this->zbiory[$i];
$this->wynik = $this->oblicz2zb($this->wynik, $e);}
}
private function oblicz2zb($z1, $z2) {
foreach ($z1 as $e1) {
foreach($z2 as $e2) {
$wynik[] = $e1.",".$e2;}
}
return $wynik;
}
}
?>
Plik odczytDanych:
<?php
class OdczytDanych {
/**
*
* @var string przechowuje nazwę pliku z danymi
*/
private $nazwaPliku;
/**
*
* @var array dane wczytane z pliku
*/
private $zbiory;
/**
* Zwraca nazwę pliku z danymi.
* @return string Zwraca nazwę pliku z danymi
*/
public function getNazwaPliku() {return $this->nazwaPliku;}
/**
* Ustawia nazwę pliku z danymi.
* @param string $nazwaPliku nazwa pliku z danymi
*/
public function setNazwaPliku($nazwaPliku) {$this->nazwaPliku = $nazwaPliku;}
public function getZbiory() {return $this->zbiory;}
public function setZbiory($zbiory) {$this->zbiory = $zbiory;}
public function odczytaj() {
$plik = fopen($this->nazwaPliku, "r"); $linia = fgets($plik, 4096
); if ($linia === FALSE) {
break;}
$znaki = array(" ", "\r", "\n"); $noweZnaki = "";
$znak1 = substr($linia, 0
, 1
); if ($znak1 != "{" && $znakN != "}") {
break;}
$linia = ltrim($linia, "{"); $linia = rtrim($linia, "}"); $zbiory[] = $zbior;}
$this->wynik = $zbiory;
}
}
?>
Plik ProgramJAOLab:
<?php
class ProgramJAO {
public $wynik;
public function main() {
$odczytDanych = new OdczytDanych(); // Punkt 1
$odczytDanych->setNazwaPliku('dane.txt'); // Punkt 2
$odczytDanych->odczytaj(); // Punkt 3
$odczytDanych->getZbiory(); // Punkt 4
$iloczynKartezjanski = new IloczynKartezjanski(); // Punkt 5
$iloczynKartezjanski->setZbiory($odczytDanych->getZbiory()); // Punkt 6
$iloczynKartezjanski->oblicz(); // Punkt 7
$iloczynKartezjanski->getWynik(); // Punkt 8
}
}
?>