}
/* number of occurences of an element in an unsorted array */
-int count_tab_element(int tab[], unsigned tab_size, int element) {
+unsigned count_tab_element(int tab[], unsigned tab_size, int element) {
unsigned el_count = 0;
+
for (unsigned i = 0; i < tab_size; i++) {
if (tab[i] == element) {
el_count++;
return el_count;
}
+unsigned count_tab_criteria(int tab[], unsigned tab_size, count_criteria_cb c_criteria) {
+ unsigned cr_count = 0;
+
+ for (unsigned i = 0; i < tab_size; i++) {
+ if (c_criteria(tab[i])) {
+ cr_count++;
+ }
+ }
+ return cr_count;
+}
+
+bool is_even(int a) {
+ return (a % 2 == 0);
+}
+
+bool is_odd(int a) {
+ return (a % 2 != 0);
+
+}
+
void sort_tab(int tab[], unsigned tab_size, criteria_cb criteria) {
sort_bubble_array(tab, tab_size, criteria);
}