Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #define SIZE 16
- //самый большой эл массива - на 1 место, чуть менее - на посл, чуть менее - на 2,
- //чуть менее - на предпоследнее...
- //пока делаю промежуточную задачу, все равно не получается
- void pop_arr(int s,int *a);
- void small_big_arr(int s,int *a);
- int main()
- {
- int arr[SIZE]= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
- //int arr[SIZE] = {2,4,6,8,10,12,14,16,15,13,11,9,7,5,3,1};
- pr_arr(SIZE,arr);
- //small_big_arr(SIZE,arr);
- sort_arr(SIZE,arr);
- pr_arr(SIZE,arr);
- return 0;
- }
- void pop_arr(int s,int *a)
- {
- int i,j;
- for(i=0;i<s;i++)
- {
- a[i]= rand()%10;
- }
- }
- void pr_arr(int s,int *a)
- {
- int i,j;
- for(i=0;i<s;i++)
- {
- printf("%d\t",a[i]);
- }
- printf("\n\n");
- }
- void sort_arr(int s,int *a)
- {
- int i,j,temp_index,target_index,max_index,counter = 0;
- target_index=0;
- for(i=0;i<s;i++)
- {
- printf("from index %d,to %d\n",i,target_index);
- //target_index = (i%2)? i/2+1: s - i/2-1;
- target_index = (!(i%2))? s - i/2-1:i/2+1;
- max_index = s-i;
- for(j=i;j<s-i;j++)//find max_index for specific i
- {
- if(a[j]>a[max_index])
- {
- max_index = j;
- }
- //swap a[max_index] & a[target_index]
- {
- a[temp_index] = a[max_index];
- a[max_index] = a[target_index];
- a[target_index] = a[temp_index];
- }
- }//end for j
- }
- }
- void small_big_arr(int s,int *a)
- {
- int i,j,temp;
- for(i=0;i<s-1;i++)
- {
- for(j=i+1;j<s;j++)
- {
- if(a[i]>a[j])
- {
- temp = a[i];
- a[i] = a[j];
- a[j] = temp;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement