Arkanjo 0.1
A tool for find code duplicated functions in codebases
Loading...
Searching...
No Matches
small.c
Go to the documentation of this file.
1#include <stdio.h>
2#include <stdlib.h>
3
4//break in small functions
5
6int* compute_v_sorted(int v[], int n){
7 int *v_sorted = (int*)malloc(n*sizeof(int));
8
9 for(int i = 0; i < n; i++){
10 v_sorted[i] = i;
11 }
12
13 for(int i = 0; i < n; i++){
14 for(int j = 0; j < n-1; j++){
15 if(v[v_sorted[j]] > v[v_sorted[j+1]]){
16 int aux = v_sorted[j];
17 v_sorted[j] = v_sorted[j+1];
18 v_sorted[j+1] = aux;
19 }
20 }
21 }
22 return v_sorted;
23}
24
25int *compute_dist_to_median(int v[], int n, int median){
26 int *dist_to_median = (int*)malloc(n*sizeof(int));
27
28 for(int i = 0; i < n; i++){
29 dist_to_median[i] = v[i]-median;
30 if(dist_to_median[i] < 0){
31 dist_to_median[i] *= -1;
32 }
33 }
34 return dist_to_median;
35}
36
37int *compute_p(int *dist_to_median, int n){
38 int *p = (int*)malloc(n*sizeof(int));
39
40 for(int i = 0; i < n; i++){
41 p[i] = i;
42 }
43
44 for(int i = 0; i < n; i++){
45 for(int j = 0; j < n-1; j++){
46 if(dist_to_median[p[j]] > dist_to_median[p[j+1]]){
47 int aux = p[j];
48 p[j] = p[j+1];
49 p[j+1] = aux;
50 }
51 }
52 }
53 return p;
54}
55
57 int *v_sorted;
58 int *dist_to_median;
59 int *p;
60 int median;
61
63 median = v[v_sorted[n/2]];
66
69 return p;
70}
71
72int main(int argc, char *argv[]){
73
74 int v[6];
75 v[0] = 5;
76 v[1] = 3;
77 v[2] = 4;
78 v[3] = 1;
79 v[4] = 2;
80 v[5] = 1;
81 int n = 6;
82
84
85
86 for(int i = 0; i < n; i++){
87 printf("%d ",p[i]);
88 }
89 printf("\n");
90
91 free(p);
92 return 0;
93}
free(p)
printf("\n")
int n
Definition main.c:10
v[0]
Definition main.c:4
int * p
Definition main.c:12
int * dist_to_median
return v_sorted
int * compute_dist_to_median(int v[], int n, int median)
Definition small.c:25
int main(int argc, char *argv[])
Definition small.c:72
int * compute_v_sorted(int v[], int n)
Definition small.c:6
int * sorted_by_distance_to_median(int v[], int n)
Definition small.c:56
int * compute_p(int *dist_to_median, int n)
Definition small.c:37