Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int a[10] = {3,5,6,9,10,1,3,7,12,15};
- int a[10] = {4,5,3,4,9,7,12,10,42,0};
- int b[10];
- void scal(int poczatek, int koniec)
- {
- int srodek = (poczatek + koniec) / 2;
- printf("Poczatek: %d, Srodek: %d, Koniec: %d \n", poczatek, srodek, koniec);
- int dlugosc_pierwszej = srodek + 1;
- int dlugosc_drugiej = koniec + 1;
- int i = poczatek;
- int j = srodek + 1;
- int index_b = 0;
- while(i<dlugosc_pierwszej && j<dlugosc_drugiej)
- {
- if(a[i] <= a[j])
- {
- b[index_b] = a[i];
- i++;
- }
- else
- {
- b[index_b] = a[j];
- j++;
- }
- index_b++;
- }
- while(i<dlugosc_pierwszej)
- {
- b[index_b] = a[i];
- i++;
- index_b++;
- }
- while(j<dlugosc_drugiej)
- {
- b[index_b] = a[j];
- j++;
- index_b++;
- }
- }
- /*void sortowanie_przez_scalenie(int poczatek, int koniec)
- {
- if (poczatek < koniec)
- {
- int srodek = (poczatek + koniec) / 2;
- printf("Poczatek: %d, Srodek: %d, Koniec: %d \n", poczatek, srodek, koniec);
- sortowanie_przez_scalenie(poczatek, srodek);
- sortowanie_przez_scalenie(srodek + 1, koniec);
- scal(poczatek, srodek, koniec);
- }
- }*/
- int main()
- {
- /*scal(0,1);
- scal(2,3);
- scal(4,5);
- scal(6,7);
- scal(8,9);
- scal(0,2);
- scal(3,5);
- scal(6,8);
- scal(9,9);
- scal(0,3);
- scal(4,7);
- scal(8,9);
- scal(0,4);
- scal(5,9);
- */
- scal(0,9);
- int i;
- for (i=0; i<10; i++)
- {
- printf("%d ", b[i]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement