From 2fb0bd05f3fba9889932829c549104a23574a7c0 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 1 May 2026 01:14:15 +0200 Subject: [PATCH] IC --- qscr/c/a.out | Bin 0 -> 12584 bytes qscr/c/aptr.c | 39 ++++++++++++++++++++ qscr/c/bsort.c | 80 ++++++++++++++++++++++++++++++++++++++++ qscr/c/pascaltriangle.c | 36 ++++++++++++++++++ qscr/c/rec.c | 58 +++++++++++++++++++++++++++++ 5 files changed, 213 insertions(+) create mode 100755 qscr/c/a.out create mode 100644 qscr/c/aptr.c create mode 100644 qscr/c/bsort.c create mode 100644 qscr/c/pascaltriangle.c create mode 100644 qscr/c/rec.c diff --git a/qscr/c/a.out b/qscr/c/a.out new file mode 100755 index 0000000000000000000000000000000000000000..0ee1b0d3ab8e19287b524ab4390022de745ec07f GIT binary patch literal 12584 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 ANB{r; literal 0 HcmV?d00001 diff --git a/qscr/c/aptr.c b/qscr/c/aptr.c new file mode 100644 index 0000000..8ca0711 --- /dev/null +++ b/qscr/c/aptr.c @@ -0,0 +1,39 @@ +#include +#include + +int main() { + int i, j; + /* TODO: define the 2D pointer variable here */ + int ** pnumbers; + + /* TODO: complete the following line to allocate memory for holding three rows */ + pnumbers = (int **) malloc(sizeof(int)*6); + + /* TODO: allocate memory for storing the individual elements in a row */ + pnumbers[0] = (int *) malloc(1 * sizeof(int)); + pnumbers[1] = (int *) malloc(2 * sizeof(int)); + pnumbers[2] = (int *) malloc(3 * sizeof(int)); + + pnumbers[0][0] = 1; + pnumbers[1][0] = 1; + pnumbers[1][1] = 1; + pnumbers[2][0] = 1; + pnumbers[2][1] = 2; + pnumbers[2][2] = 1; + + for (i = 0; i < 3; i++) { + for (j = 0; j <= i; j++) { + printf("%d", pnumbers[i][j]); + } + printf("\n"); + } + + for (i = 0; i < 3; i++) { + /* TODO: free memory allocated for each row */ + free(pnumbers[i]); + } + + /* TODO: free the top-level pointer */ + free(pnumbers); + return 0; +} diff --git a/qscr/c/bsort.c b/qscr/c/bsort.c new file mode 100644 index 0000000..01cc282 --- /dev/null +++ b/qscr/c/bsort.c @@ -0,0 +1,80 @@ +#include +#include +#include + +struct Darray { + int size; + int data[]; //flexible array member +}; + +//randomized array +void rarr(struct Darray *darr) { + for (int i=0; isize; ++i) { + darr->data[i] = rand() % 32; + } + if (darr == NULL) { + printf("failed"); + exit(1); + } +} + +struct Darray *createdarray(int mysize){ + struct Darray *darrstruct = malloc(mysize * sizeof(int) + sizeof(*darrstruct)); + + if (darrstruct == NULL) { + printf("failed"); + exit(1); + } + + darrstruct->size = mysize; + rarr(darrstruct); + + return darrstruct; +} + +void msort(int *myarr, int mysize) { + for (int i = 0 ; i < mysize; i++) { + for (int j = 0 ; j < mysize ; j ++) + if (myarr[i] > myarr[j]) { + int k = myarr[i]; + myarr[i] = myarr[j]; + myarr[j] = k; + } + } +} + +void bsort(struct Darray *myarr) { + for (int i = 0; i < myarr->size; i++) { + for (int j = 0; j < myarr->size -1 ; j++ ) { + if (myarr->data[j] < myarr->data[j+1]) { + int k = myarr->data[j]; + myarr->data[j] = myarr->data[j+1]; + myarr->data[j+1] = k; + } + } + } + } + +int main() { + srand(time(NULL)); + int mysize = 7; + struct Darray *myarray; + myarray = createdarray(mysize); + + printf("myarr:\n"); + for (int i = 0 ; i < myarray->size; i++) { + printf("%d\n", myarray->data[i]); + } + + bsort(myarray); + + printf("sorted myarr:\n"); + for (int i = 0 ; i < myarray->size; i++) { + printf("%d\n", myarray->data[i]); + } + + free(myarray); + + return 0; + +} diff --git a/qscr/c/pascaltriangle.c b/qscr/c/pascaltriangle.c new file mode 100644 index 0000000..e8213bc --- /dev/null +++ b/qscr/c/pascaltriangle.c @@ -0,0 +1,36 @@ +#include +#include + +int *pascallarr(int iarrsize, int *ptr){ + int *mypascallar = malloc(sizeof(int) * iarrsize + 1); + /* declare edges, as they're always 1 anyways so we can start the loop at 1 (so i-1 = 0) */ + mypascallar[0] = 1; + mypascallar[iarrsize] = 1; + for (int i = 1; i <= iarrsize; i++) { + if (i < iarrsize) { + mypascallar[i] = ptr[i-1] + ptr[i]; + } + } + return mypascallar; +} + +int main() { + int trianglesize = 18; + int ** pnumbers; + + /* create pascals triangle, on row i, we have i numbers */ + + /* should create 2d array of ints, with an array of pointers to arrays*/ + + int **ptrtriangle = malloc(sizeof(int *)*trianglesize); + + /* need to create a function that returns the pointer to an array of i numbers filled with numbers */ + for (int i = 0; i < trianglesize; i++) { + ptrtriangle[i] = pascallarr(i,ptrtriangle[i-1]); + for (int j = 0; j <= i; j++) { + printf("%d|",ptrtriangle[i][j]); + } + printf("\n"); + } + return 0; +} diff --git a/qscr/c/rec.c b/qscr/c/rec.c new file mode 100644 index 0000000..5e74649 --- /dev/null +++ b/qscr/c/rec.c @@ -0,0 +1,58 @@ +#include +#include + +int recfact(int x){ + int y = 1; + if (x==1){ + return y; + } else { + return y *= x *recfact(x-1); + } +} + +int recfor(int x){ + int gaga = 1; + for (int i = 1; i < x;) { + gaga *= i++; + } + return gaga; +} + +/* + * i = 1, gaga = 1*2 + * i = 2, gaga = 1*2*3 = 6 + * i = 3, 1*2*3*4 = 24 + * + * wrong loop time condition + * wrong calculation + * + * --- + * + * recursion + * + * forgot to assign, forgot a number (multiplied by 0) + * misunderstood calculation + + wel exploren, maar wel naar een doel. + kijken naar auxililiaries. + curiosity wss, leren vragen. leren wat ik niet heb, weten wat ik niet weet. + + zoektocht heeft wat sturing nodig. + + hoe ik mijn probeer stel/vind + het probleem onderzoeken + + limiteer de pogingen + + + hardware / networking + * * */ + +int main () { + int i = 6; // we can not handle negative numbers + + printf("%d\n", recfor(i)); + printf("%d\n", recfact(i)); + + return 0; +}