Napisz program, który wykorzystując metodę bąbelkową, wyznaczy i przesunie na początek ciągu liczbowego (reprezentowanego w programie jako tablica) najmniejszy jego element. Po wyznaczeniu i przesunięciu najmniejszego elementu na początek ciągu, wypisz go.
n – długość ciągu (rozmiar tablicy); liczba całkowita
Wynik:
najmniejszaLiczba – najmniejsza liczba ciągu; liczba całkowita
RAIgvsiDixtVz1
Przykładowe rozwiązanie zadania:
Linia 1. public class Main otwórz nawias klamrowy.
Linia 2. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy.
Linia 3. int otwórz nawias kwadratowy zamknij nawias kwadratowy ciąg znak równości otwórz nawias klamrowy 8 przecinek 13 przecinek 54 przecinek 9 przecinek 0 przecinek 3 zamknij nawias klamrowy średnik.
Linia 4. int n znak równości ciąg kropka length średnik.
Linia 5. int najmniejszaLiczba średnik.
Linia 7. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny n minus 1 średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 8. boolean zmieniono znak równości false średnik.
Linia 9. for otwórz nawias okrągły int j znak równości 0 średnik j otwórz nawias ostrokątny n minus i minus 1 średnik j plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 10. if otwórz nawias okrągły ciąg otwórz nawias kwadratowy j zamknij nawias kwadratowy zamknij nawias ostrokątny ciąg otwórz nawias kwadratowy j plus 1 zamknij nawias kwadratowy zamknij nawias okrągły otwórz nawias klamrowy.
Linia 11. zmieniono znak równości true średnik.
Linia 12. int pomocnicza znak równości ciąg otwórz nawias kwadratowy j zamknij nawias kwadratowy średnik.
Linia 13. ciąg otwórz nawias kwadratowy j zamknij nawias kwadratowy znak równości ciąg otwórz nawias kwadratowy j plus 1 zamknij nawias kwadratowy średnik.
Linia 14. ciąg otwórz nawias kwadratowy j plus 1 zamknij nawias kwadratowy znak równości pomocnicza średnik.
Linia 15. zamknij nawias klamrowy.
Linia 16. zamknij nawias klamrowy.
Linia 18. if otwórz nawias okrągły wykrzyknik zmieniono zamknij nawias okrągły otwórz nawias klamrowy.
Linia 19. break średnik.
Linia 20. zamknij nawias klamrowy.
Linia 21. zamknij nawias klamrowy.
Linia 23. najmniejszaLiczba znak równości ciąg otwórz nawias kwadratowy 0 zamknij nawias kwadratowy średnik.
Linia 25. System kropka out kropka print otwórz nawias okrągły najmniejszaLiczba zamknij nawias okrągły średnik.
Linia 26. zamknij nawias klamrowy.
Linia 27. zamknij nawias klamrowy.
21
Ćwiczenie 2
W przedstawionym programie zadeklarowano tablicę liczb całkowitych o nazwie tablica. Uzupełnij program tak, aby posortował zadeklarowaną tablicę w kolejności niemalejącej, a następnie wypisał jej elementy, oddzielając je znakiem spacji.
Specyfikacja problemu:
Dane:
tablica – tablica liczb całkowitych
n - rozmiar tablicy; liczba całkowita
Wynik:
tablica – tablica z posortowanymi niemalejąco liczbami całkowitymi
RiHd4RGMlHh1D1
Przykładowe rozwiązanie zadania:
Linia 1. public class Main otwórz nawias klamrowy.
Linia 2. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy.
Linia 3. int otwórz nawias kwadratowy zamknij nawias kwadratowy tablica znak równości otwórz nawias klamrowy 543 przecinek 65 przecinek 453 przecinek 43 przecinek 12 przecinek 4 przecinek 76 przecinek 8765 przecinek 843 przecinek 546 przecinek 52 przecinek 89 przecinek 73 przecinek 26 przecinek 89 przecinek 94 przecinek 368 przecinek 874 przecinek 78 przecinek 42 przecinek 15 przecinek 78 zamknij nawias klamrowy średnik.
Linia 4. int n znak równości tablica kropka length średnik.
Linia 5. boolean zmianyDokonane średnik.
Linia 7. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny n minus 1 średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 8. zmianyDokonane znak równości false średnik.
Linia 9. for otwórz nawias okrągły int j znak równości 0 średnik j otwórz nawias ostrokątny n minus i minus 1 średnik j plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 10. if otwórz nawias okrągły tablica otwórz nawias kwadratowy j zamknij nawias kwadratowy zamknij nawias ostrokątny tablica otwórz nawias kwadratowy j plus 1 zamknij nawias kwadratowy zamknij nawias okrągły otwórz nawias klamrowy.
Linia 11. zmianyDokonane znak równości true średnik.
Linia 12. int zmiennaTymczasowa znak równości tablica otwórz nawias kwadratowy j zamknij nawias kwadratowy średnik.
Linia 13. tablica otwórz nawias kwadratowy j zamknij nawias kwadratowy znak równości tablica otwórz nawias kwadratowy j plus 1 zamknij nawias kwadratowy średnik.
Linia 14. tablica otwórz nawias kwadratowy j plus 1 zamknij nawias kwadratowy znak równości zmiennaTymczasowa średnik.
Linia 15. zamknij nawias klamrowy.
Linia 16. zamknij nawias klamrowy.
Linia 18. if otwórz nawias okrągły wykrzyknik zmianyDokonane zamknij nawias okrągły otwórz nawias klamrowy.
Linia 19. break średnik.
Linia 20. zamknij nawias klamrowy.
Linia 21. zamknij nawias klamrowy.
Linia 23. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny tablica kropka length średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 24. System kropka out kropka print otwórz nawias okrągły tablica otwórz nawias kwadratowy i zamknij nawias kwadratowy plus cudzysłów cudzysłów zamknij nawias okrągły średnik.
Linia 25. zamknij nawias klamrowy.
Linia 26. zamknij nawias klamrowy.
Linia 27. zamknij nawias klamrowy.
31
Ćwiczenie 3
W pewnej kręgielni zapisywano najlepsze wyniki oraz imiona osób, które je osiągnęły. W celu ogłoszenia rankingu graczy, należy posortować tablicę imion według odpowiadających im wyników (od najwyższego do najniższego). Wykorzystaj sortowanie bąbelkowe z optymalizacją, aby wydrukować listę graczy w kolejności od najlepszego do najsłabszego (nierosnąco względem wyniku, rozpoczynając od gracza z najwyższym wynikiem), oddzielając ich imiona znakiem nowej linii.
Specyfikacja problemu:
Dane:
wyniki – tablica liczb całkowitych
imiona – tablica ciągów znaków
n - rozmiar tablicy (identyczny dla obu tablic); liczba całkowita
Wynik:
imiona – tablica ciągów znaków – imion graczy, posortowana według nierosnących wartości zdobytych przez nich punktów
RAsu5ooFYcbRs1
Przykładowe rozwiązanie zadania:
Linia 1. public class Main otwórz nawias klamrowy.
Linia 2. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy.
Linia 3. int otwórz nawias kwadratowy zamknij nawias kwadratowy wyniki znak równości otwórz nawias klamrowy.
Linia 4. 84 przecinek.
Linia 5. 102 przecinek.
Linia 6. 77 przecinek.
Linia 7. 121 przecinek.
Linia 8. 111 przecinek.
Linia 9. 190 przecinek.
Linia 10. 138.
Linia 11. zamknij nawias klamrowy średnik.
Linia 13. String otwórz nawias kwadratowy zamknij nawias kwadratowy imiona znak równości otwórz nawias klamrowy.
Linia 14. cudzysłów Aleks cudzysłów przecinek.
Linia 15. cudzysłów Bartek cudzysłów przecinek.
Linia 16. cudzysłów Czarek cudzysłów przecinek.
Linia 17. cudzysłów Darek cudzysłów przecinek.
Linia 18. cudzysłów Euzebiusz cudzysłów przecinek.
Linia 19. cudzysłów Franek cudzysłów przecinek.
Linia 20. cudzysłów Gabriel cudzysłów.
Linia 21. zamknij nawias klamrowy średnik.
Linia 23. int n znak równości wyniki kropka length średnik.
Linia 24. boolean zmianyDokonane średnik.
Linia 26. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny n minus 1 średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 27. zmianyDokonane znak równości false średnik.
Linia 28. for otwórz nawias okrągły int j znak równości 1 średnik j otwórz nawias ostrokątny n minus i średnik j plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 29. if otwórz nawias okrągły wyniki otwórz nawias kwadratowy j zamknij nawias kwadratowy zamknij nawias ostrokątny wyniki otwórz nawias kwadratowy j minus 1 zamknij nawias kwadratowy zamknij nawias okrągły otwórz nawias klamrowy.
Linia 30. zmianyDokonane znak równości true średnik.
Linia 32. int wynikTymczasowy znak równości wyniki otwórz nawias kwadratowy j zamknij nawias kwadratowy średnik.
Linia 33. wyniki otwórz nawias kwadratowy j zamknij nawias kwadratowy znak równości wyniki otwórz nawias kwadratowy j minus 1 zamknij nawias kwadratowy średnik.
Linia 34. wyniki otwórz nawias kwadratowy j minus 1 zamknij nawias kwadratowy znak równości wynikTymczasowy średnik.
Linia 36. String imieTymczasowe znak równości imiona otwórz nawias kwadratowy j zamknij nawias kwadratowy średnik.
Linia 37. imiona otwórz nawias kwadratowy j zamknij nawias kwadratowy znak równości imiona otwórz nawias kwadratowy j minus 1 zamknij nawias kwadratowy średnik.
Linia 38. imiona otwórz nawias kwadratowy j minus 1 zamknij nawias kwadratowy znak równości imieTymczasowe średnik.
Linia 39. zamknij nawias klamrowy.
Linia 40. zamknij nawias klamrowy.
Linia 42. if otwórz nawias okrągły wykrzyknik zmianyDokonane zamknij nawias okrągły otwórz nawias klamrowy.
Linia 43. break średnik.
Linia 44. zamknij nawias klamrowy.
Linia 45. zamknij nawias klamrowy.
Linia 47. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny n średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 48. System kropka out kropka println otwórz nawias okrągły imiona otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias okrągły średnik.
Linia 49. zamknij nawias klamrowy.
Linia 50. zamknij nawias klamrowy.
Linia 51. zamknij nawias klamrowy.