Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: slowo,czas,sprawdzenie,porownanie - dosyc nietypowy skrypt
Forum PHP.pl > Forum > PHP
otakon
Jest to dosyc nietypowy problem wiec najpierw postaram sie dokladnie go opisac.PROSZE O POMOC W ZNALEZIENIU ROZWIAZANIA i w miare

mozliwosci korzystajac z uprzejmosci stworzenia zarysu skryptu.


sekwencja nr.1:
[slowo1|........][slowo2|........|...........][slowo3]

jest to sekwencja 3 klockow: "slowo1","slowo2","slowo3"
kazdy z nich ma swoja dlugosc(wraz z naglowkiem): slowo1 - 2 jednoski, slowo2 - 3jednostki,
slowo3 - 1jednostka

mam takze druga sekwencje:
[slowko1|.......|..........|.......][slowko2|...........|..........|........ |.......|.........]


wystepuja 2 klocki: slowko1(dlugosc 4 jed.) i slowko2(dlugosc 6jed.)


Obie sekwencje wciaz powtarzaja sie az zmienna "obecny" nie natrafi na miejsce gdzie w obu sekwencjach zaczyna sie klocek(czyli miejsce gdzie znajduje sie jego naglowek)

zilustrowanie napotkania i przeszukiwania sekwencji: (w kroku 1 zostala znaleziona "spojnosc")

1.
[slowo1 |......][slowo2|.......|............][slowo3][slowo1|......][slowo2|........|...
.........][slowo3]...itd.
[obecny ]
[slowko1|......|..........|.......][slowko2|...........|...........|......|.....
......|.......][slowko1|...........|...itd.


2.
[slowo1..|.............][slowo2|.......|............][slowo3][slowo1|.......][sl
owo2|.......|............][slowo3]...itd.
...............[obecny]
[slowko1|..............|..........|........][slowko2|.............|...........|.
.........|..........|.......][slowko1|...........|...itd.


3.
[slowo1 |......][slowo2...|.......|............][slowo3][slowo1|.......][slowo2|.......|
............][slowo3]...itd.
...................... [obecny]
[slowko1|......|.............|.......][slowko2|...........|..........|........|.
.........|.......][slowko1|...........|...itd.

przestrzen miedzy dwoma "|" i midzy "[" a "|", oznacza jedna jednostke,powinny one byc rowno pod(nastepna jednostka rozpoczyna i konczy sie dla obu sekwencji w tym samym miejscu)soba lecz troche mi nie wyszlo:(

polozenie obecny dla 1 kroku to 1sza jenostka.
polozenie obecny dla 2 kroku to 2ga jenostka.
polozenie obecny dla 3 kroku to 3cia jenostka.
itd....

dlugosc jednostki NIE JEST rozna dla kazdego klocka.
np. dlugosc slowko1(4j) i slowko2(6j)=5xslowo1(2j)=3xslowo2(3j) i slowo3(1j)


po zakonczeniu jednej sekwencji w obu przypadkach rozpoczyna sie ta sama sekwencja itd.,nie sa one rownej dlugosci wiec beda sie "przemieszczac" wzgledem siebie.
zakonczenie sekwencji i rozpoczecie nastepnej nie zeruje licznika jednostek jakie "uplynely".

Celem skryptu jest napotkanie 10 "spojnosci" i zapisanie miejsca ich napotkania(po ilu jednostkach zostaly znalezione) do tablicy

np.tabjed[1,13,24,26,78,120,..]
oraz zapisanie do tablicy klockow jakie zostaly napotkane np. tab["slowo1slowko1","slowo3slowko2","slowo2slowko1","slowo3slowko1",...]

myslalem aby stworzyc klase klocek_slowo i klocek_slowko a nastepnie dla nich nalezace klocki(uzywam tego pojecia bo najlatwiej jest

wyobrazic sobie ten problem) ale nie wiem jak pozniej to polaczyc a do tego klocki sa roznej dlugosci

Z gory dziekuje. worriedsmiley.gif
Darti
Nie wiem czy dobrze zrozumiałem, ale może to o to chodzi?
  1. <?php
  2. $sek1 = array(
  3. 'slowo1',
  4. '',
  5. 'slowo2',
  6. '',
  7. '',
  8. 'slowo3'
  9. );
  10.  
  11. $sek2 = array(
  12. 'slowko1',
  13. '',
  14. '',
  15. '',
  16. 'slowko2',
  17. '',
  18. '',
  19. '',
  20. '',
  21. ''
  22. );
  23.  
  24. $sekwencja1 = $sek1;
  25. $sekwencja2 = $sek2;
  26.  
  27. $wystapienia = array();
  28. $pary = array();
  29. $i = 0;
  30. while (count($wystapienia) < 10){
  31. if (($sekwencja1[$i] != '') && ($sekwencja2[$i])<>''){
  32. $wystapienia[] = $i+1;
  33. $pary[] = $sekwencja1[$i].$sekwencja2[$i];
  34. }
  35. if($i == count($sekwencja1)-1){
  36. $sekwencja1 = array_merge($sekwencja1,$sek1);
  37. }
  38. if($i == count($sekwencja2)-1){
  39. $sekwencja2 = array_merge($sekwencja2,$sek2);
  40. }
  41. $i++;
  42. }
  43.  
  44. print_r($wystapienia);
  45. print_r($pary);
  46. ?>


produkuje mi to takie coś:
Kod
Array
(
    [0] => 1
    [1] => 15
    [2] => 21
    [3] => 25
    [4] => 31
    [5] => 45
    [6] => 51
    [7] => 55
    [8] => 61
    [9] => 75
)
Array
(
    [0] => slowo1slowko1
    [1] => slowo2slowko2
    [2] => slowo2slowko1
    [3] => slowo1slowko2
    [4] => slowo1slowko1
    [5] => slowo2slowko2
    [6] => slowo2slowko1
    [7] => slowo1slowko2
    [8] => slowo1slowko1
    [9] => slowo2slowko2
)
php programmer
Skrypt naprawdę nietypowy i raczej mało sensowny,
do czego to Ci jest potrzebne?
Wygląda jak zadanie z informatyki wymyślone
przez informatyka, którego potrącił samochód, a potem jeszcze wpadł pod pociąg,
Współczuje że musisz to robić? Sory za OT
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.