//edit wersja alternatywna pytanie.2
Co mi się wydaje : Pętla do while jest wykonywana do momentu w którym na koniec pętli zamienione = false. Żeby było to możliwe na początku każdej kolejki ustawiam zamienione=false a polecenie ewentualnej zmiany jest w petli for
pętla for oznacza jeżeli choć jeden element tablicy jest większy od kolejnego zamienia je miejscami i zamienione=true co skutkuje powtórzeniem do while.
W pewnym momencie tablica jest uporządkowana zamienione ma wartość null ale pętla się nie kończy dlaczego?
oO żadnych ostrzeżeń nie było do zignorowania :p a nawet gdyby były nie potrafiłbym ich ominąć inaczej niż naprawiając błędy a używam Dev c++ A objawem błędu była nieskończona pętla po wykonaniu for
mortan517 pisze:To dawaj stałą po lewej stronie, gdy zechcesz napisać kod typu:
chyba sprawa zmęczenia ale nie rozumiem co masz na myśli. Najpierw piszesz żeby pisać żeby zamienić kolejność stała<--> zmienna a następnie żeby tego nie robić bo będzie błąd chyba że zapomniałeś o "nie" . Jeśli tak to wtedy nie trzeba pisać "=="?
Usystematyzujmy, jeżeli chcesz porównać to zawsze piszesz podwójny znak "równa się". Ale załóżmy teraz, że się pomyliłeś i dajesz pojedynczy znak oznaczający przypisanie. I teraz jak po lewej stronie dawałbyś zawsze stałą, to kod się nie skompiluje, a jak dasz zmienną to niestety kompilator to puści, ale powinien zasygnalizować to jakimś ostrzeżeniem. Czyli generalnie po lewej stronie warto dawać stałe, bo jak się pomylisz to kompilacja nie przejdzie.