Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Kolokwium_2011_z7
#include <iostream> using namespace std; int partition(int tablica[], int p, int r) // dzielimy tablice na dwie czesci, w pierwszej wszystkie liczby sa mniejsze badz rowne x, w drugiej wieksze lub rowne od x { int x = tablica[p]; // obieramy x int i = p, j = r, w; // i, j - indeksy w tabeli while (true) // petla nieskonczona - wychodzimy z niej tylko przez return j { while (tablica[j] > x) // dopoki elementy sa wieksze od x j--; while (tablica[i] < x) // dopoki elementy sa mniejsze od x i++; if (i < j) // zamieniamy miejscami gdy i < j { w = tablica[i]; tablica[i] = tablica[j]; tablica[j] = w; i++; j--; } else // gdy i >= j zwracamy j jako punkt podzialu tablicy return j; } } void quicksort(int tablica[], int p, int r) // sortowanie szybkie { int q; if (p < r) { q = partition(tablica,p,r); // dzielimy tablice na dwie czesci; q oznacza punkt podzialu quicksort(tablica, p, q); // wywolujemy rekurencyjnie quicksort dla pierwszej czesci tablicy quicksort(tablica, q+1, r); // wywolujemy rekurencyjnie quicksort dla drugiej czesci tablicy } } int main() { int ile = 0; scanf("%d",&ile); int wyrazy[1111]; for(int i=0;i<ile;i++) { scanf("%d",&wyrazy[i]); } quicksort(wyrazy,0,ile-1); int miejsce1 = 0; int miejsce2 = 0; float wynik = 0; if(ile%2==0) { miejsce1 = ile / 2 - 1; miejsce2 = (ile / 2); wynik = (wyrazy[miejsce1]+wyrazy[miejsce2]); wynik /= 2; printf("%.1f",wynik); } else { int miejsce1 = (ile) / 2; wynik = wyrazy[miejsce1]; printf("%.1f",wynik); } }
run
|
edit
|
history
|
help
0
Pointer to class members
How to get base class
Scemo
Find the max and min number in array
Two pointer - MUST DO
Dijkastra
Find the Duplicate Number in array of n+1 integers having elements from 1 to n
completeBubbleSort
p30
ignat