repositories
/
TD_C.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
TP 13 exo1: Implement a FIXME on array dynamic resizing
[TD_C.git]
/
TP_13
/
exo1
/
lib
/
array.c
diff --git
a/TP_13/exo1/lib/array.c
b/TP_13/exo1/lib/array.c
index 57c15def73cb8cebe2e6bbea5ec6d0bb2fc12a08..c4e227db1435dc6e9fd7c03880acbc384053e9d9 100644
(file)
--- a/
TP_13/exo1/lib/array.c
+++ b/
TP_13/exo1/lib/array.c
@@
-43,6
+43,7
@@
int* concat_tab(int tab1[], unsigned tab_size1, int tab2[], unsigned tab_size2)
int* resize_tab(int tab[], unsigned old_tab_size, unsigned new_tab_size) {
tab = realloc(tab, sizeof(int) * new_tab_size);
int* resize_tab(int tab[], unsigned old_tab_size, unsigned new_tab_size) {
tab = realloc(tab, sizeof(int) * new_tab_size);
+ /* zero by default the added cells */
if (old_tab_size < new_tab_size) {
for (unsigned i = old_tab_size; i < new_tab_size; i++) {
tab[i] = 0;
if (old_tab_size < new_tab_size) {
for (unsigned i = old_tab_size; i < new_tab_size; i++) {
tab[i] = 0;
@@
-63,7
+64,7
@@
unsigned count_tab_element(int tab[], unsigned tab_size, int element) {
return el_count;
}
return el_count;
}
-unsigned count_tab_criteria(int tab[], unsigned tab_size, c
ount
_criteria_cb c_criteria) {
+unsigned count_tab_criteria(int tab[], unsigned tab_size, c_criteria_cb c_criteria) {
unsigned cr_count = 0;
for (unsigned i = 0; i < tab_size; i++) {
unsigned cr_count = 0;
for (unsigned i = 0; i < tab_size; i++) {
@@
-83,6
+84,6
@@
bool is_odd(int a) {
}
}
-void sort_tab(int tab[], unsigned tab_size,
criteria_cb
criteria) {
- sort_bubble_array(tab, tab_size, criteria);
+void sort_tab(int tab[], unsigned tab_size,
s_criteria_cb sort_
criteria) {
+ sort_bubble_array(tab, tab_size,
sort_
criteria);
}
}