From d88e7acc2773f8d286be824901c1117c90b94047 Mon Sep 17 00:00:00 2001 From: Marcin Jalbrzykowski Date: Mon, 18 Nov 2013 19:03:48 +0100 Subject: [PATCH 1/4] Initial commit --- README | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 README diff --git a/README b/README new file mode 100644 index 0000000..e69de29 From c4acd769fa3a70f60fd78e53946a9fa40dc06085 Mon Sep 17 00:00:00 2001 From: Marcin Jalbrzykowski Date: Mon, 18 Nov 2013 19:04:36 +0100 Subject: [PATCH 2/4] initial commit --- README | 1 + 1 file changed, 1 insertion(+) diff --git a/README b/README index e69de29..1cdf286 100644 --- a/README +++ b/README @@ -0,0 +1 @@ +Marcin Jalbrzykowski From 6e5f6b3962e18d8d6fa6bc7506dafe95550c3e08 Mon Sep 17 00:00:00 2001 From: Marcin Jalbrzykowski Date: Mon, 18 Nov 2013 19:48:46 +0100 Subject: [PATCH 3/4] Wykonane zadanie --- vim-challenge/integral.c | 43 ++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/vim-challenge/integral.c b/vim-challenge/integral.c index e5049b4..89bac75 100644 --- a/vim-challenge/integral.c +++ b/vim-challenge/integral.c @@ -1,34 +1,39 @@ #include +#include -float integral(float a, float b, float (*f) (float), int n) { - int i; - float dx = (b - a) / n; - float value_of_integral = 0.0; - -for (i=0; i Date: Mon, 18 Nov 2013 20:21:52 +0100 Subject: [PATCH 4/4] Rozwiazanie zadania z argumentami --- vim-challenge/args.c | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 vim-challenge/args.c diff --git a/vim-challenge/args.c b/vim-challenge/args.c new file mode 100644 index 0000000..99f4f95 --- /dev/null +++ b/vim-challenge/args.c @@ -0,0 +1,50 @@ +#include +#include +#include +#include + +struct test { + int i1, i2; + double d; + char i3; +}; + +struct test* alloc(const char *fmt, ...) { + struct test *out = malloc(sizeof(struct test*)); + va_list args; + va_start(args, fmt); + + int i1_has_value = 0; + int i2_has_value = 0; + + for(int i = 0; i < strlen(fmt); i++) { + switch(fmt[i]) { + case 'i': + if(!i1_has_value) { + out->i1 = va_arg(args,int); + i1_has_value = 1; + } + else if(!i2_has_value) { + out->i2 = va_arg(args,int); + i2_has_value = 1; + } + else + out->i3 = va_arg(args,int); + break; + case 'd': + out->d = va_arg(args,double); + break; + } + } + + va_end(args); + + return out; +} + +int main() { + struct test *p = alloc("iidi", 33, 44, 3.14, 55); + printf("%d %d %f %d\n", p->i1, p->i2, p->d, p->i3); + + return 0; +}