From 43718037d26edbedeaa3ef7c77f227ec3d724ee8 Mon Sep 17 00:00:00 2001 From: Super_JK Date: Sat, 5 Mar 2022 22:01:37 +0100 Subject: [PATCH] initial commit --- .gitignore | 1 + a.out | Bin 0 -> 16352 bytes mem.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++ sig.c | 38 +++++++++++++++++++++++++++++++++++ 4 files changed, 97 insertions(+) create mode 100644 .gitignore create mode 100755 a.out create mode 100644 mem.c create mode 100644 sig.c diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..485dee6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea diff --git a/a.out b/a.out new file mode 100755 index 0000000000000000000000000000000000000000..aa91c57872a09f41c5d8ac5981874108bb16fa35 GIT binary patch literal 16352 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 O?Pgo!QkQ|Nss01Q(4=7i literal 0 HcmV?d00001 diff --git a/mem.c b/mem.c new file mode 100644 index 0000000..ce6a6be --- /dev/null +++ b/mem.c @@ -0,0 +1,58 @@ +#include // p r i n t f ( . . ) +#include // EXIT_SUCCESS +#include // s i g n a l ( . . ) +#include + + +struct vector { + double *val; + int size; +}; + +struct vector * new ( unsigned int n ){ + struct vector* v = malloc(sizeof(struct vector)); + v->size = n; + v->val = calloc(n, sizeof(double)); + return v; +} + +void printVec(struct vector* v){ + printf("["); + for (int i = 0; i< v->size; i++){ + printf("%.2f,",v->val[i]); + } + printf("]"); +} + +struct vector * add ( struct vector * v , struct vector * w ){ + if (v->size != w->size) return NULL; + + struct vector *y = new(v->size); + for (int i = 0; i< v->size; i++){ + y->val[i] = v->val[i] + w->val[i]; + } + return y; +} + +struct vector * smul ( double s , struct vector * v ){ + struct vector *y = new(v->size); + for (int i = 0; i< v->size; i++){ + y->val[i] = v->val[i] * s; + } + return y; + +} + +int main ( int argc , char * argv []) { + struct vector *v = new(3); + v->val[0] = 23.0; + v->val[1] = 5.0; + + struct vector *w = new(3); + w->val[1] = 2.0; + w->val[2] = 54.0; + + + printVec(smul(3.0,add(v,w))); + return EXIT_SUCCESS ; +} diff --git a/sig.c b/sig.c new file mode 100644 index 0000000..d59fc90 --- /dev/null +++ b/sig.c @@ -0,0 +1,38 @@ +#include // p r i n t f ( . . ) +#include // EXIT_SUCCESS +#include // s i g n a l ( . . ) +#include + + +int signb = 1; + +void handler ( int signum ) { + if ( signum == SIGINT ){ + if (signb == 1 ) + printf ( "Just give me a moment.\n" ); + else if (signb == 2) + printf("I said I need a moment !\n"); + else { + printf("Fine. I’m out of here.\n"); + exit(EXIT_SUCCESS); + } + signb +=1; + } +} + +unsigned int string_length ( char string []){ + unsigned int i = 0; + while (string[i++] != '\0'); + return i-1; + +} + +int main ( int argc , char * argv []) { + signal ( SIGINT , handler ); + + while (1) { + pause(); + //printf("Waiting loop resumed .\n"); + } + return EXIT_SUCCESS ; +}