C/Zadanie5 2017From MJanik(Difference between revisions)
Revision as of 12:46, 11 April 2017Napisać program umożliwiający różnorakie działania na ciągu liczb: obliczenie średniej, odchylenia standardowego, sortowanie. Wartości ciągu powinny być losowane. Ilość liczb w ciągu powinna być podawana na początku działania programu (liczba N).
Sortowanie przez wstawianie (ang. Insert Sort, Insertion Sort) - jeden z najprostszych algorytmów sortowania, którego zasada działania odzwierciedla sposób w jaki ludzie ustawiają karty - kolejne elementy wejściowe są ustawiane na odpowiednie miejsca docelowe. Schemat działania algorytmu (za wikipedia) 1. Utwórz zbiór elementów posortowanych i przenieś do niego dowolny element ze zbioru nieposortowanego. 2. Weź dowolny element ze zbioru nieposortowanego. 3. Wyciągnięty element porównuj z kolejnymi elementami zbioru posortowanego póki nie napotkasz elementu równego lub elementu większego (jeśli chcemy otrzymać ciąg niemalejący) lub nie znajdziemy się na początku/końcu zbioru uporządkowanego. 4. Wyciągnięty element wstaw w miejsce gdzie skończyłeś porównywać. 5. Jeśli zbiór elementów nieuporządkowanych jest niepusty wróć do punkt 2. Pseudokod sortowania przez wstawianie sortujący tablicę A: for i = 1 to length(A) - 1 x = A[i] j = i while j > 0 and A[j-1] > x A[j] = A[j-1] j = j - 1 end while A[j] = x end for Należy dołączyć biblioteki: #include <stdlib.h> #include <time.h> W funkcji głównej main na początku należy dopisać: srand(time(NULL)); //ustawienie ziarna z zegara systemowego by uzyskać losowość ("wartości początkowej" dla generatora liczb losowych) Wylosowanie pojedynczej liczby z zakresu 0-99: int losowa = rand()%100;
Przykladowy plik: plik. |