Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Pętla while zawiesza grę
#1
Quote:                    do
                    {
                        for(local i = 0; i < 5; ++i)
                        {
                                if(sort[i+1] < sort[i]) 
                                {
                                    
                                    sort2 = sort[i];
                                    sort[i] = sort[i+1];
                                    sort[i+1] = sort2;
                                
                                }
                                else checkSort[i]=true;
                        }        
                    }while(checkSort[0]==true && checkSort[1]==true && checkSort[2]==true ....)


Po zastosowaniu pętli while gra się zawiesza. Co jest nie tak?
Reply
#2
Squirrel Script
  1.                     do
  2.                     {
  3.                         for(local i = 0; i < 5; ++i)
  4.                         {
  5.                                 if(sort[i+1] < sort)  //Sort i sort? Przecież to nie może mieć takich samych nazw. Nawet, jeśli jeden sort jest tabelą/tablicą, drugie to zmienna
  6.                                 {
  7.                                     
  8.                                     sort2 = sort; //Czy tutaj właśnie chciałeś przypisać całą tabelę sory do zmiennej sort2?
  9.                                     sort = sort[i+1]..Wtf? PO lewo masz samo sort(skoro to tabela, to nie może egzystować bez indexu) i przypisujesz tutaj pole z tej tabeli.
  10.                                     sort[i+1] <- sort2; //Względnie dobrze, jak dodajesz coś do pola w tabeli, to musi być strzałeczka.
  11.                                 
  12.                                 }
  13.                                 else checkSort=true;
  14.                         }        
  15.                     }while(checkSort[0]==true && checkSort[1]==true && checkSort[2]==true ....)


Nie będzie mnie do sierpnia, jestem w Szkocji i zarabiam na studia. Do zobaczenia.
Reply
#3
Grzebałem w BBCode, bo chciałem podkreślić jedną rzecz i usunęło mi "[i]" z tego powodu, że BBCode kursywy to też "[i]".
Ale problem nie dotyczy kodu w pętli, który działa, tylko crashującej while.

//poprawiłem, jakby ktoś chciał użyć u siebie. Sortuje liczby z wybranej tablicy w kolejności rosnącej.
Reply
#4
While widocznie idzie w nieskończoność dlatego gra się zawiesza.
Ogółem sortowanie bąbelkowe,  nie jest zbyt dobre dla większej ilości danych. Za długo to trwa.
Reply
#5
Zrób coś dla mnie. Bo ja mam praktycznie to samo co ty. Wpisz jakieś 5 liczby od 1-10 i daj jedną dużą tak ponad 100.
Dobrze ci wtedy sortuje?
Nie będzie mnie do sierpnia, jestem w Szkocji i zarabiam na studia. Do zobaczenia.
Reply
#6
Działa.
Reply


Forum Jump:


Users browsing this thread: