From 19b5b201b0634da57a70c43664d31b16941266ca Mon Sep 17 00:00:00 2001 From: Huaqo Date: Thu, 28 Nov 2024 17:05:14 +0100 Subject: [PATCH] update --- 2023_CS50X/algorithms/Source/iteration.c | 28 --- 2023_CS50X/algorithms/Source/phonebook0.c | 25 --- 2023_CS50X/algorithms/Source/phonebook1.c | 36 ---- 2023_CS50X/algorithms/Source/recursion0.c | 23 --- 2023_CS50X/algorithms/Source/recursion1.c | 34 ---- 2023_CS50X/algorithms/Source/search0.c | 23 --- 2023_CS50X/algorithms/Source/search1.c | 24 --- 2023_CS50X/arrays/Source/ascii0.c | 15 -- 2023_CS50X/arrays/Source/ascii1.c | 14 -- 2023_CS50X/arrays/Source/buggy0.c | 11 -- 2023_CS50X/arrays/Source/buggy1.c | 24 --- 2023_CS50X/arrays/Source/greet0.c | 10 -- 2023_CS50X/arrays/Source/greet1.c | 10 -- 2023_CS50X/arrays/Source/greet2.c | 16 -- 2023_CS50X/arrays/Source/greet3.c | 12 -- 2023_CS50X/arrays/Source/hello0.c | 6 - 2023_CS50X/arrays/Source/hello1.c | 8 - 2023_CS50X/arrays/Source/hi0.c | 12 -- 2023_CS50X/arrays/Source/hi1.c | 12 -- 2023_CS50X/arrays/Source/hi2.c | 10 -- 2023_CS50X/arrays/Source/hi3.c | 10 -- 2023_CS50X/arrays/Source/hi4.c | 10 -- 2023_CS50X/arrays/Source/hi5.c | 13 -- 2023_CS50X/arrays/Source/hi6.c | 15 -- 2023_CS50X/arrays/Source/hi7.c | 14 -- 2023_CS50X/arrays/Source/length0.c | 18 -- 2023_CS50X/arrays/Source/length1.c | 25 --- 2023_CS50X/arrays/Source/length2.c | 13 -- 2023_CS50X/arrays/Source/scores0.c | 14 -- 2023_CS50X/arrays/Source/scores1.c | 16 -- 2023_CS50X/arrays/Source/scores2.c | 16 -- 2023_CS50X/arrays/Source/scores3.c | 17 -- 2023_CS50X/arrays/Source/scores4.c | 35 ---- 2023_CS50X/arrays/Source/status.c | 15 -- 2023_CS50X/arrays/Source/string0.c | 16 -- 2023_CS50X/arrays/Source/string1.c | 16 -- 2023_CS50X/arrays/Source/uppercase0.c | 23 --- 2023_CS50X/arrays/Source/uppercase1.c | 24 --- 2023_CS50X/arrays/Source/uppercase2.c | 17 -- 2023_CS50X/c/Source/agree.c | 20 --- 2023_CS50X/c/Source/calculator0.c | 16 -- 2023_CS50X/c/Source/calculator1.c | 16 -- 2023_CS50X/c/Source/calculator2.c | 16 -- 2023_CS50X/c/Source/calculator3.c | 17 -- 2023_CS50X/c/Source/calculator4.c | 17 -- 2023_CS50X/c/Source/calculator5.c | 17 -- 2023_CS50X/c/Source/calculator6.c | 17 -- 2023_CS50X/c/Source/compare0.c | 17 -- 2023_CS50X/c/Source/compare1.c | 21 --- 2023_CS50X/c/Source/compare2.c | 25 --- 2023_CS50X/c/Source/compare3.c | 25 --- 2023_CS50X/c/Source/countdown.c | 15 -- 2023_CS50X/c/Source/counter.c | 14 -- 2023_CS50X/c/Source/hello0.c | 8 - 2023_CS50X/c/Source/hello1.c | 10 -- 2023_CS50X/c/Source/hello2.c | 10 -- 2023_CS50X/c/Source/mario0.c | 8 - 2023_CS50X/c/Source/mario1.c | 12 -- 2023_CS50X/c/Source/mario2.c | 11 -- 2023_CS50X/c/Source/mario3.c | 15 -- 2023_CS50X/c/Source/mario4.c | 16 -- 2023_CS50X/c/Source/mario5.c | 18 -- 2023_CS50X/c/Source/mario6.c | 22 --- 2023_CS50X/c/Source/mario7.c | 25 --- 2023_CS50X/c/Source/mario8.c | 36 ---- 2023_CS50X/c/Source/meow0.c | 10 -- 2023_CS50X/c/Source/meow1.c | 13 -- 2023_CS50X/c/Source/meow2.c | 11 -- 2023_CS50X/c/Source/meow3.c | 19 -- 2023_CS50X/c/Source/meow4.c | 19 -- 2023_CS50X/c/Source/points0.c | 24 --- 2023_CS50X/c/Source/points1.c | 24 --- 2023_CS50X/c/Source/points2.c | 27 --- 2023_CS50X/{c => w1_c}/cash/cash.c | 0 2023_CS50X/{c => w1_c}/credit/credit.c | 0 2023_CS50X/{c => w1_c}/hello/hello.c | 0 2023_CS50X/{c => w1_c}/mario-more/mario.c | 0 .../{c => w1_c}/population/population.c | 0 .../{arrays => w2_arrays}/bulbs/bulbs.c | 0 .../readability/readability.c | 0 .../{arrays => w2_arrays}/scrabble/scrabble.c | 0 .../plurality/plurality.c | 0 .../runoff/runoff.c | 0 .../sort/answers.txt | 0 .../sort/random10000.txt | 0 .../sort/random5000.txt | 0 .../sort/random50000.txt | 0 .../sort/reversed10000.txt | 0 .../sort/reversed5000.txt | 0 .../sort/reversed50000.txt | 0 .../sort/sorted10000.txt | 0 .../sort/sorted5000.txt | 0 .../sort/sorted50000.txt | 0 .../sort/test.txt | 0 .../filter-less/Makefile | 0 .../{memory => w4_memory}/filter-less/bmp.h | 0 .../filter-less/filter.c | 0 .../filter-less/helpers.c | 0 .../filter-less/helpers.h | 0 .../{memory => w4_memory}/recover/recover.c | 0 .../{memory => w4_memory}/recover/test.c | 0 .../{memory => w4_memory}/smiley/Makefile | 0 2023_CS50X/{memory => w4_memory}/smiley/bmp.h | 0 .../{memory => w4_memory}/smiley/colorize.c | 0 .../{memory => w4_memory}/smiley/helpers.c | 0 .../{memory => w4_memory}/smiley/helpers.h | 0 2023_CS50X/{python => w6_python}/dna/dna.py | 0 .../{python => w6_python}/dna/sequences/1.txt | 0 .../dna/sequences/10.txt | 0 .../dna/sequences/11.txt | 0 .../dna/sequences/12.txt | 0 .../dna/sequences/13.txt | 0 .../dna/sequences/14.txt | 0 .../dna/sequences/15.txt | 0 .../dna/sequences/16.txt | 0 .../dna/sequences/17.txt | 0 .../dna/sequences/18.txt | 0 .../dna/sequences/19.txt | 0 .../{python => w6_python}/dna/sequences/2.txt | 0 .../dna/sequences/20.txt | 0 .../{python => w6_python}/dna/sequences/3.txt | 0 .../{python => w6_python}/dna/sequences/4.txt | 0 .../{python => w6_python}/dna/sequences/5.txt | 0 .../{python => w6_python}/dna/sequences/6.txt | 0 .../{python => w6_python}/dna/sequences/7.txt | 0 .../{python => w6_python}/dna/sequences/8.txt | 0 .../{python => w6_python}/dna/sequences/9.txt | 0 .../sentimental-cash/cash.py | 0 .../sentimental-hello/hello.py | 0 .../sentimental-mario-less/mario.py | 0 .../sentimental-readability/readability.py | 0 .../world-cup/answers.txt | 0 .../world-cup/tournament.py | 0 .../{web => w8_web}/homepage/about.html | 0 2023_CS50X/{web => w8_web}/homepage/art.html | 0 .../{web => w8_web}/homepage/contact.html | 0 .../{web => w8_web}/homepage/index.html | 0 .../{web => w8_web}/homepage/photography.html | 0 .../{web => w8_web}/homepage/styles.css | 0 2023_CS50X/{web => w8_web}/trivia/index.html | 0 2023_CS50X/{web => w8_web}/trivia/styles.css | 0 2024_Praxis_der_Programmierung/ue1/a.out | Bin 33432 -> 0 bytes .../ue1/loesung/for1.c | 47 ----- .../ue1/loesung/formatelemente.c | 21 --- .../ue1/loesung/gf.c | 21 --- .../ue1/loesung/pri.c | 8 - .../ue1/loesung/typengroesse.c | 39 ---- .../ue1/loesung/while1.c | 45 ----- 2024_Praxis_der_Programmierung/ue2/a.out | Bin 33480 -> 0 bytes .../ue2/loesung/pt1.c | 12 -- .../ue2/loesung/pt1.o | Bin 16608 -> 0 bytes .../ue2/loesung/quotient.c | 30 ---- .../ue2/loesung/quotient.o | Bin 16816 -> 0 bytes .../ue2/loesung/swap.c | 15 -- .../ue2/loesung/swap.o | Bin 16632 -> 0 bytes 2024_Praxis_der_Programmierung/ue3/a.out | Bin 33592 -> 0 bytes .../ue3/loesung/.array_1.c.swp | Bin 12288 -> 0 bytes .../ue3/loesung/.sqr_array_3.c.swp | Bin 12288 -> 0 bytes .../ue3/loesung/array_1.c | 49 ------ .../ue3/loesung/array_1.o | Bin 16656 -> 0 bytes .../ue3/loesung/array_2.c | 49 ------ .../ue3/loesung/array_2.o | Bin 16656 -> 0 bytes .../ue3/loesung/sqr_array_1.c | 12 -- .../ue3/loesung/sqr_array_1.o | Bin 16664 -> 0 bytes .../ue3/loesung/sqr_array_2.c | 20 --- .../ue3/loesung/sqr_array_2.o | Bin 16704 -> 0 bytes .../ue3/loesung/sqr_array_3.o | Bin 16672 -> 0 bytes .../ue3/loesung/sqr_array_3_recovering.c | 30 ---- .../ue3/loesung/table.c | 18 -- .../ue3/loesung/table.o | Bin 16664 -> 0 bytes .../ue4/loesung/.zeichenketten.c.swo | Bin 12288 -> 0 bytes .../ue4/loesung/.zeichenketten.c.swp | Bin 12288 -> 0 bytes .../ue4/loesung/Hallo.o | Bin 16608 -> 0 bytes .../ue4/loesung/Hallo_stat_dyn.c | 25 --- .../ue4/loesung/char_array.c | 25 --- .../ue4/loesung/char_array1.c | 34 ---- .../ue4/loesung/char_array1.o | Bin 16704 -> 0 bytes .../ue4/loesung/fehler.o | Bin 16712 -> 0 bytes .../ue4/loesung/fehler_syntax_log.c | 31 ---- .../ue4/loesung/vor_nachname.c | 58 ------ .../ue4/loesung/vor_nachname.o | Bin 16968 -> 0 bytes .../ue5/loesung/pkub.c | 21 --- .../ue5/loesung/pkub.o | Bin 16656 -> 0 bytes .../ue5/loesung/point_1.c | 37 ---- .../ue5/loesung/point_1.o | Bin 16656 -> 0 bytes .../ue5/loesung/point_2.c | 43 ----- .../ue5/loesung/point_2.o | Bin 16688 -> 0 bytes .../ue5/loesung/point_3.c | 47 ----- .../ue5/loesung/polygonenzug.c | 166 ------------------ .../ue5/loesung/polygonenzug.o | Bin 16968 -> 0 bytes .../ue5/loesung/typfehler.c | 31 ---- .../ue5/loesung/typfehler.o | Bin 16720 -> 0 bytes .../ue6/loesung/UE6_7.c | 18 -- .../ue6/loesung/UE6_7.o | Bin 249826 -> 0 bytes .../ue6/loesung/date.c | 17 -- .../ue6/loesung/date.h | 13 -- .../ue6/loesung/date.o | Bin 1720 -> 0 bytes .../ue6/loesung/highscore.c | 28 --- .../ue6/loesung/highscore.h | 18 -- .../ue6/loesung/highscore.o | Bin 1904 -> 0 bytes .../ue6/loesung/rec_count.c | 28 --- .../ue6/loesung/rec_count.o | Bin 16704 -> 0 bytes .../ue6/loesung/scores | Bin 16856 -> 0 bytes .../ue6/loesung/scores.c | 13 -- .../ue6/loesung/scores.o | Bin 1624 -> 0 bytes 205 files changed, 2340 deletions(-) delete mode 100644 2023_CS50X/algorithms/Source/iteration.c delete mode 100644 2023_CS50X/algorithms/Source/phonebook0.c delete mode 100644 2023_CS50X/algorithms/Source/phonebook1.c delete mode 100644 2023_CS50X/algorithms/Source/recursion0.c delete mode 100644 2023_CS50X/algorithms/Source/recursion1.c delete mode 100644 2023_CS50X/algorithms/Source/search0.c delete mode 100644 2023_CS50X/algorithms/Source/search1.c delete mode 100644 2023_CS50X/arrays/Source/ascii0.c delete mode 100644 2023_CS50X/arrays/Source/ascii1.c delete mode 100644 2023_CS50X/arrays/Source/buggy0.c delete mode 100644 2023_CS50X/arrays/Source/buggy1.c delete mode 100644 2023_CS50X/arrays/Source/greet0.c delete mode 100644 2023_CS50X/arrays/Source/greet1.c delete mode 100644 2023_CS50X/arrays/Source/greet2.c delete mode 100644 2023_CS50X/arrays/Source/greet3.c delete mode 100644 2023_CS50X/arrays/Source/hello0.c delete mode 100644 2023_CS50X/arrays/Source/hello1.c delete mode 100644 2023_CS50X/arrays/Source/hi0.c delete mode 100644 2023_CS50X/arrays/Source/hi1.c delete mode 100644 2023_CS50X/arrays/Source/hi2.c delete mode 100644 2023_CS50X/arrays/Source/hi3.c delete mode 100644 2023_CS50X/arrays/Source/hi4.c delete mode 100644 2023_CS50X/arrays/Source/hi5.c delete mode 100644 2023_CS50X/arrays/Source/hi6.c delete mode 100644 2023_CS50X/arrays/Source/hi7.c delete mode 100644 2023_CS50X/arrays/Source/length0.c delete mode 100644 2023_CS50X/arrays/Source/length1.c delete mode 100644 2023_CS50X/arrays/Source/length2.c delete mode 100644 2023_CS50X/arrays/Source/scores0.c delete mode 100644 2023_CS50X/arrays/Source/scores1.c delete mode 100644 2023_CS50X/arrays/Source/scores2.c delete mode 100644 2023_CS50X/arrays/Source/scores3.c delete mode 100644 2023_CS50X/arrays/Source/scores4.c delete mode 100644 2023_CS50X/arrays/Source/status.c delete mode 100644 2023_CS50X/arrays/Source/string0.c delete mode 100644 2023_CS50X/arrays/Source/string1.c delete mode 100644 2023_CS50X/arrays/Source/uppercase0.c delete mode 100644 2023_CS50X/arrays/Source/uppercase1.c delete mode 100644 2023_CS50X/arrays/Source/uppercase2.c delete mode 100644 2023_CS50X/c/Source/agree.c delete mode 100644 2023_CS50X/c/Source/calculator0.c delete mode 100644 2023_CS50X/c/Source/calculator1.c delete mode 100644 2023_CS50X/c/Source/calculator2.c delete mode 100644 2023_CS50X/c/Source/calculator3.c delete mode 100644 2023_CS50X/c/Source/calculator4.c delete mode 100644 2023_CS50X/c/Source/calculator5.c delete mode 100644 2023_CS50X/c/Source/calculator6.c delete mode 100644 2023_CS50X/c/Source/compare0.c delete mode 100644 2023_CS50X/c/Source/compare1.c delete mode 100644 2023_CS50X/c/Source/compare2.c delete mode 100644 2023_CS50X/c/Source/compare3.c delete mode 100644 2023_CS50X/c/Source/countdown.c delete mode 100644 2023_CS50X/c/Source/counter.c delete mode 100644 2023_CS50X/c/Source/hello0.c delete mode 100644 2023_CS50X/c/Source/hello1.c delete mode 100644 2023_CS50X/c/Source/hello2.c delete mode 100644 2023_CS50X/c/Source/mario0.c delete mode 100644 2023_CS50X/c/Source/mario1.c delete mode 100644 2023_CS50X/c/Source/mario2.c delete mode 100644 2023_CS50X/c/Source/mario3.c delete mode 100644 2023_CS50X/c/Source/mario4.c delete mode 100644 2023_CS50X/c/Source/mario5.c delete mode 100644 2023_CS50X/c/Source/mario6.c delete mode 100644 2023_CS50X/c/Source/mario7.c delete mode 100644 2023_CS50X/c/Source/mario8.c delete mode 100644 2023_CS50X/c/Source/meow0.c delete mode 100644 2023_CS50X/c/Source/meow1.c delete mode 100644 2023_CS50X/c/Source/meow2.c delete mode 100644 2023_CS50X/c/Source/meow3.c delete mode 100644 2023_CS50X/c/Source/meow4.c delete mode 100644 2023_CS50X/c/Source/points0.c delete mode 100644 2023_CS50X/c/Source/points1.c delete mode 100644 2023_CS50X/c/Source/points2.c rename 2023_CS50X/{c => w1_c}/cash/cash.c (100%) rename 2023_CS50X/{c => w1_c}/credit/credit.c (100%) rename 2023_CS50X/{c => w1_c}/hello/hello.c (100%) rename 2023_CS50X/{c => w1_c}/mario-more/mario.c (100%) rename 2023_CS50X/{c => w1_c}/population/population.c (100%) rename 2023_CS50X/{arrays => w2_arrays}/bulbs/bulbs.c (100%) rename 2023_CS50X/{arrays => w2_arrays}/readability/readability.c (100%) rename 2023_CS50X/{arrays => w2_arrays}/scrabble/scrabble.c (100%) rename 2023_CS50X/{algorithms => w3_algorithms}/plurality/plurality.c (100%) rename 2023_CS50X/{algorithms => w3_algorithms}/runoff/runoff.c (100%) rename 2023_CS50X/{algorithms => w3_algorithms}/sort/answers.txt (100%) rename 2023_CS50X/{algorithms => w3_algorithms}/sort/random10000.txt (100%) rename 2023_CS50X/{algorithms => w3_algorithms}/sort/random5000.txt (100%) rename 2023_CS50X/{algorithms => w3_algorithms}/sort/random50000.txt (100%) rename 2023_CS50X/{algorithms => w3_algorithms}/sort/reversed10000.txt (100%) rename 2023_CS50X/{algorithms => w3_algorithms}/sort/reversed5000.txt (100%) rename 2023_CS50X/{algorithms => w3_algorithms}/sort/reversed50000.txt (100%) rename 2023_CS50X/{algorithms => w3_algorithms}/sort/sorted10000.txt (100%) rename 2023_CS50X/{algorithms => w3_algorithms}/sort/sorted5000.txt (100%) rename 2023_CS50X/{algorithms => w3_algorithms}/sort/sorted50000.txt (100%) rename 2023_CS50X/{algorithms => w3_algorithms}/sort/test.txt (100%) rename 2023_CS50X/{memory => w4_memory}/filter-less/Makefile (100%) rename 2023_CS50X/{memory => w4_memory}/filter-less/bmp.h (100%) rename 2023_CS50X/{memory => w4_memory}/filter-less/filter.c (100%) rename 2023_CS50X/{memory => w4_memory}/filter-less/helpers.c (100%) rename 2023_CS50X/{memory => w4_memory}/filter-less/helpers.h (100%) rename 2023_CS50X/{memory => w4_memory}/recover/recover.c (100%) rename 2023_CS50X/{memory => w4_memory}/recover/test.c (100%) rename 2023_CS50X/{memory => w4_memory}/smiley/Makefile (100%) rename 2023_CS50X/{memory => w4_memory}/smiley/bmp.h (100%) rename 2023_CS50X/{memory => w4_memory}/smiley/colorize.c (100%) rename 2023_CS50X/{memory => w4_memory}/smiley/helpers.c (100%) rename 2023_CS50X/{memory => w4_memory}/smiley/helpers.h (100%) rename 2023_CS50X/{python => w6_python}/dna/dna.py (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/1.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/10.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/11.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/12.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/13.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/14.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/15.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/16.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/17.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/18.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/19.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/2.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/20.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/3.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/4.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/5.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/6.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/7.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/8.txt (100%) rename 2023_CS50X/{python => w6_python}/dna/sequences/9.txt (100%) rename 2023_CS50X/{python => w6_python}/sentimental-cash/cash.py (100%) rename 2023_CS50X/{python => w6_python}/sentimental-hello/hello.py (100%) rename 2023_CS50X/{python => w6_python}/sentimental-mario-less/mario.py (100%) rename 2023_CS50X/{python => w6_python}/sentimental-readability/readability.py (100%) rename 2023_CS50X/{python => w6_python}/world-cup/answers.txt (100%) rename 2023_CS50X/{python => w6_python}/world-cup/tournament.py (100%) rename 2023_CS50X/{web => w8_web}/homepage/about.html (100%) rename 2023_CS50X/{web => w8_web}/homepage/art.html (100%) rename 2023_CS50X/{web => w8_web}/homepage/contact.html (100%) rename 2023_CS50X/{web => w8_web}/homepage/index.html (100%) rename 2023_CS50X/{web => w8_web}/homepage/photography.html (100%) rename 2023_CS50X/{web => w8_web}/homepage/styles.css (100%) rename 2023_CS50X/{web => w8_web}/trivia/index.html (100%) rename 2023_CS50X/{web => w8_web}/trivia/styles.css (100%) delete mode 100755 2024_Praxis_der_Programmierung/ue1/a.out delete mode 100644 2024_Praxis_der_Programmierung/ue1/loesung/for1.c delete mode 100644 2024_Praxis_der_Programmierung/ue1/loesung/formatelemente.c delete mode 100644 2024_Praxis_der_Programmierung/ue1/loesung/gf.c delete mode 100644 2024_Praxis_der_Programmierung/ue1/loesung/pri.c delete mode 100644 2024_Praxis_der_Programmierung/ue1/loesung/typengroesse.c delete mode 100644 2024_Praxis_der_Programmierung/ue1/loesung/while1.c delete mode 100755 2024_Praxis_der_Programmierung/ue2/a.out delete mode 100644 2024_Praxis_der_Programmierung/ue2/loesung/pt1.c delete mode 100644 2024_Praxis_der_Programmierung/ue2/loesung/pt1.o delete mode 100644 2024_Praxis_der_Programmierung/ue2/loesung/quotient.c delete mode 100644 2024_Praxis_der_Programmierung/ue2/loesung/quotient.o delete mode 100644 2024_Praxis_der_Programmierung/ue2/loesung/swap.c delete mode 100644 2024_Praxis_der_Programmierung/ue2/loesung/swap.o delete mode 100755 2024_Praxis_der_Programmierung/ue3/a.out delete mode 100644 2024_Praxis_der_Programmierung/ue3/loesung/.array_1.c.swp delete mode 100644 2024_Praxis_der_Programmierung/ue3/loesung/.sqr_array_3.c.swp delete mode 100644 2024_Praxis_der_Programmierung/ue3/loesung/array_1.c delete mode 100644 2024_Praxis_der_Programmierung/ue3/loesung/array_1.o delete mode 100644 2024_Praxis_der_Programmierung/ue3/loesung/array_2.c delete mode 100644 2024_Praxis_der_Programmierung/ue3/loesung/array_2.o delete mode 100644 2024_Praxis_der_Programmierung/ue3/loesung/sqr_array_1.c delete mode 100644 2024_Praxis_der_Programmierung/ue3/loesung/sqr_array_1.o delete mode 100644 2024_Praxis_der_Programmierung/ue3/loesung/sqr_array_2.c delete mode 100644 2024_Praxis_der_Programmierung/ue3/loesung/sqr_array_2.o delete mode 100644 2024_Praxis_der_Programmierung/ue3/loesung/sqr_array_3.o delete mode 100644 2024_Praxis_der_Programmierung/ue3/loesung/sqr_array_3_recovering.c delete mode 100644 2024_Praxis_der_Programmierung/ue3/loesung/table.c delete mode 100644 2024_Praxis_der_Programmierung/ue3/loesung/table.o delete mode 100644 2024_Praxis_der_Programmierung/ue4/loesung/.zeichenketten.c.swo delete mode 100644 2024_Praxis_der_Programmierung/ue4/loesung/.zeichenketten.c.swp delete mode 100644 2024_Praxis_der_Programmierung/ue4/loesung/Hallo.o delete mode 100644 2024_Praxis_der_Programmierung/ue4/loesung/Hallo_stat_dyn.c delete mode 100644 2024_Praxis_der_Programmierung/ue4/loesung/char_array.c delete mode 100644 2024_Praxis_der_Programmierung/ue4/loesung/char_array1.c delete mode 100644 2024_Praxis_der_Programmierung/ue4/loesung/char_array1.o delete mode 100644 2024_Praxis_der_Programmierung/ue4/loesung/fehler.o delete mode 100644 2024_Praxis_der_Programmierung/ue4/loesung/fehler_syntax_log.c delete mode 100644 2024_Praxis_der_Programmierung/ue4/loesung/vor_nachname.c delete mode 100644 2024_Praxis_der_Programmierung/ue4/loesung/vor_nachname.o delete mode 100644 2024_Praxis_der_Programmierung/ue5/loesung/pkub.c delete mode 100644 2024_Praxis_der_Programmierung/ue5/loesung/pkub.o delete mode 100644 2024_Praxis_der_Programmierung/ue5/loesung/point_1.c delete mode 100644 2024_Praxis_der_Programmierung/ue5/loesung/point_1.o delete mode 100644 2024_Praxis_der_Programmierung/ue5/loesung/point_2.c delete mode 100644 2024_Praxis_der_Programmierung/ue5/loesung/point_2.o delete mode 100644 2024_Praxis_der_Programmierung/ue5/loesung/point_3.c delete mode 100644 2024_Praxis_der_Programmierung/ue5/loesung/polygonenzug.c delete mode 100644 2024_Praxis_der_Programmierung/ue5/loesung/polygonenzug.o delete mode 100644 2024_Praxis_der_Programmierung/ue5/loesung/typfehler.c delete mode 100644 2024_Praxis_der_Programmierung/ue5/loesung/typfehler.o delete mode 100644 2024_Praxis_der_Programmierung/ue6/loesung/UE6_7.c delete mode 100644 2024_Praxis_der_Programmierung/ue6/loesung/UE6_7.o delete mode 100644 2024_Praxis_der_Programmierung/ue6/loesung/date.c delete mode 100644 2024_Praxis_der_Programmierung/ue6/loesung/date.h delete mode 100644 2024_Praxis_der_Programmierung/ue6/loesung/date.o delete mode 100644 2024_Praxis_der_Programmierung/ue6/loesung/highscore.c delete mode 100644 2024_Praxis_der_Programmierung/ue6/loesung/highscore.h delete mode 100644 2024_Praxis_der_Programmierung/ue6/loesung/highscore.o delete mode 100644 2024_Praxis_der_Programmierung/ue6/loesung/rec_count.c delete mode 100644 2024_Praxis_der_Programmierung/ue6/loesung/rec_count.o delete mode 100644 2024_Praxis_der_Programmierung/ue6/loesung/scores delete mode 100644 2024_Praxis_der_Programmierung/ue6/loesung/scores.c delete mode 100644 2024_Praxis_der_Programmierung/ue6/loesung/scores.o diff --git a/2023_CS50X/algorithms/Source/iteration.c b/2023_CS50X/algorithms/Source/iteration.c deleted file mode 100644 index 10d3e42..0000000 --- a/2023_CS50X/algorithms/Source/iteration.c +++ /dev/null @@ -1,28 +0,0 @@ -// Draws a pyramid using iteration - -#include -#include - -void draw(int n); - -int main(void) -{ - // Get height of pyramid - int height = get_int("Height: "); - - // Draw pyramid - draw(height); -} - -void draw(int n) -{ - // Draw pyramid of height n - for (int i = 0; i < n; i++) - { - for (int j = 0; j < i + 1; j++) - { - printf("#"); - } - printf("\n"); - } -} diff --git a/2023_CS50X/algorithms/Source/phonebook0.c b/2023_CS50X/algorithms/Source/phonebook0.c deleted file mode 100644 index 20b830f..0000000 --- a/2023_CS50X/algorithms/Source/phonebook0.c +++ /dev/null @@ -1,25 +0,0 @@ -// Implements a phone book without structs - -#include -#include -#include - -int main(void) -{ - // Arrays of strings - string names[] = {"Carter", "David"}; - string numbers[] = {"+1-617-495-1000", "+1-949-468-2750"}; - - // Search for name - string name = get_string("Name: "); - for (int i = 0; i < 2; i++) - { - if (strcmp(names[i], name) == 0) - { - printf("Found %s\n", numbers[i]); - return 0; - } - } - printf("Not found\n"); - return 1; -} diff --git a/2023_CS50X/algorithms/Source/phonebook1.c b/2023_CS50X/algorithms/Source/phonebook1.c deleted file mode 100644 index 8bf62f1..0000000 --- a/2023_CS50X/algorithms/Source/phonebook1.c +++ /dev/null @@ -1,36 +0,0 @@ -// Implements a phone book with structs - -#include -#include -#include - -typedef struct -{ - string name; - string number; -} -person; - -int main(void) -{ - person people[2]; - - people[0].name = "Carter"; - people[0].number = "+1-617-495-1000"; - - people[1].name = "David"; - people[1].number = "+1-949-468-2750"; - - // Search for name - string name = get_string("Name: "); - for (int i = 0; i < 2; i++) - { - if (strcmp(people[i].name, name) == 0) - { - printf("Found %s\n", people[i].number); - return 0; - } - } - printf("Not found\n"); - return 1; -} diff --git a/2023_CS50X/algorithms/Source/recursion0.c b/2023_CS50X/algorithms/Source/recursion0.c deleted file mode 100644 index 225a50a..0000000 --- a/2023_CS50X/algorithms/Source/recursion0.c +++ /dev/null @@ -1,23 +0,0 @@ -// Draws a pyramid (incorrectly) using recursion, -// must be compiled with -Wno-infinite-recursion - -#include -#include - -void draw(int n); - -int main(void) -{ - draw(1); -} - -void draw(int n) -{ - for (int i = 0; i < n; i++) - { - printf("#"); - } - printf("\n"); - - draw(n + 1); -} diff --git a/2023_CS50X/algorithms/Source/recursion1.c b/2023_CS50X/algorithms/Source/recursion1.c deleted file mode 100644 index 3adf1a6..0000000 --- a/2023_CS50X/algorithms/Source/recursion1.c +++ /dev/null @@ -1,34 +0,0 @@ -// Draws a pyramid using recursion - -#include -#include - -void draw(int n); - -int main(void) -{ - // Get height of pyramid - int height = get_int("Height: "); - - // Draw pyramid - draw(height); -} - -void draw(int n) -{ - // If nothing to draw - if (n <= 0) - { - return; - } - - // Draw pyramid of height n - 1 - draw(n - 1); - - // Draw one more row of width n - for (int i = 0; i < n; i++) - { - printf("#"); - } - printf("\n"); -} diff --git a/2023_CS50X/algorithms/Source/search0.c b/2023_CS50X/algorithms/Source/search0.c deleted file mode 100644 index 46d1b89..0000000 --- a/2023_CS50X/algorithms/Source/search0.c +++ /dev/null @@ -1,23 +0,0 @@ -// Implements linear search for integers - -#include -#include - -int main(void) -{ - // An array of integers - int numbers[] = {20, 500, 10, 5, 100, 1, 50}; - - // Search for number - int n = get_int("Number: "); - for (int i = 0; i < 7; i++) - { - if (numbers[i] == n) - { - printf("Found\n"); - return 0; - } - } - printf("Not found\n"); - return 1; -} diff --git a/2023_CS50X/algorithms/Source/search1.c b/2023_CS50X/algorithms/Source/search1.c deleted file mode 100644 index a78b226..0000000 --- a/2023_CS50X/algorithms/Source/search1.c +++ /dev/null @@ -1,24 +0,0 @@ -// Implements linear search for strings - -#include -#include -#include - -int main(void) -{ - // An array of strings - string strings[] = {"battleship", "boot", "cannon", "iron", "thimble", "top hat"}; - - // Search for string - string s = get_string("String: "); - for (int i = 0; i < 6; i++) - { - if (strcmp(strings[i], s) == 0) - { - printf("Found\n"); - return 0; - } - } - printf("Not found\n"); - return 1; -} diff --git a/2023_CS50X/arrays/Source/ascii0.c b/2023_CS50X/arrays/Source/ascii0.c deleted file mode 100644 index bcdac9a..0000000 --- a/2023_CS50X/arrays/Source/ascii0.c +++ /dev/null @@ -1,15 +0,0 @@ -// Explicitly casts chars to ints - -#include -#include -#include - -int main(void) -{ - string s = get_string("String: "); - for (int i = 0; i < strlen(s); i++) - { - int c = (int) s[i]; - printf("%c %i\n", s[i], c); - } -} diff --git a/2023_CS50X/arrays/Source/ascii1.c b/2023_CS50X/arrays/Source/ascii1.c deleted file mode 100644 index 15208f7..0000000 --- a/2023_CS50X/arrays/Source/ascii1.c +++ /dev/null @@ -1,14 +0,0 @@ -// Implicitly casts chars to ints - -#include -#include -#include - -int main(void) -{ - string s = get_string("String: "); - for (int i = 0; i < strlen(s); i++) - { - printf("%c %i\n", s[i], s[i]); - } -} diff --git a/2023_CS50X/arrays/Source/buggy0.c b/2023_CS50X/arrays/Source/buggy0.c deleted file mode 100644 index 80e83fd..0000000 --- a/2023_CS50X/arrays/Source/buggy0.c +++ /dev/null @@ -1,11 +0,0 @@ -// Buggy example for printf - -#include - -int main(void) -{ - for (int i = 0; i <= 3; i++) - { - printf("#\n"); - } -} diff --git a/2023_CS50X/arrays/Source/buggy1.c b/2023_CS50X/arrays/Source/buggy1.c deleted file mode 100644 index 2082587..0000000 --- a/2023_CS50X/arrays/Source/buggy1.c +++ /dev/null @@ -1,24 +0,0 @@ -// Buggy example for debug50 - -#include -#include - -int get_negative_int(void); - -int main(void) -{ - int i = get_negative_int(); - printf("%i\n", i); -} - -// Prompt user for positive integer -int get_negative_int(void) -{ - int n; - do - { - n = get_int("Negative Integer: "); - } - while (n < 0); - return n; -} diff --git a/2023_CS50X/arrays/Source/greet0.c b/2023_CS50X/arrays/Source/greet0.c deleted file mode 100644 index 8151b6b..0000000 --- a/2023_CS50X/arrays/Source/greet0.c +++ /dev/null @@ -1,10 +0,0 @@ -// Uses get_string - -#include -#include - -int main(void) -{ - string answer = get_string("What's your name? "); - printf("hello, %s\n", answer); -} diff --git a/2023_CS50X/arrays/Source/greet1.c b/2023_CS50X/arrays/Source/greet1.c deleted file mode 100644 index 4faf634..0000000 --- a/2023_CS50X/arrays/Source/greet1.c +++ /dev/null @@ -1,10 +0,0 @@ -// Uses get_string with better-named variable - -#include -#include - -int main(void) -{ - string name = get_string("What's your name? "); - printf("hello, %s\n", name); -} diff --git a/2023_CS50X/arrays/Source/greet2.c b/2023_CS50X/arrays/Source/greet2.c deleted file mode 100644 index e88dd18..0000000 --- a/2023_CS50X/arrays/Source/greet2.c +++ /dev/null @@ -1,16 +0,0 @@ -// Prints a command-line argument - -#include -#include - -int main(int argc, string argv[]) -{ - if (argc == 2) - { - printf("hello, %s\n", argv[1]); - } - else - { - printf("hello, world\n"); - } -} diff --git a/2023_CS50X/arrays/Source/greet3.c b/2023_CS50X/arrays/Source/greet3.c deleted file mode 100644 index 868753c..0000000 --- a/2023_CS50X/arrays/Source/greet3.c +++ /dev/null @@ -1,12 +0,0 @@ -// Prints command-line arguments - -#include -#include - -int main(int argc, string argv[]) -{ - for (int i = 0; i < argc; i++) - { - printf("%s\n", argv[i]); - } -} diff --git a/2023_CS50X/arrays/Source/hello0.c b/2023_CS50X/arrays/Source/hello0.c deleted file mode 100644 index 927f7b6..0000000 --- a/2023_CS50X/arrays/Source/hello0.c +++ /dev/null @@ -1,6 +0,0 @@ -#include - -int main(void) -{ - printf("hello, world\n"); -} diff --git a/2023_CS50X/arrays/Source/hello1.c b/2023_CS50X/arrays/Source/hello1.c deleted file mode 100644 index 591dd57..0000000 --- a/2023_CS50X/arrays/Source/hello1.c +++ /dev/null @@ -1,8 +0,0 @@ -#include -#include - -int main(void) -{ - string name = get_string("What's your name? "); - printf("hello, %s\n", name); -} diff --git a/2023_CS50X/arrays/Source/hi0.c b/2023_CS50X/arrays/Source/hi0.c deleted file mode 100644 index 2284fa0..0000000 --- a/2023_CS50X/arrays/Source/hi0.c +++ /dev/null @@ -1,12 +0,0 @@ -// Prints chars - -#include - -int main(void) -{ - char c1 = 'H'; - char c2 = 'I'; - char c3 = '!'; - - printf("%c%c%c\n", c1, c2, c3); -} diff --git a/2023_CS50X/arrays/Source/hi1.c b/2023_CS50X/arrays/Source/hi1.c deleted file mode 100644 index ee1ae9c..0000000 --- a/2023_CS50X/arrays/Source/hi1.c +++ /dev/null @@ -1,12 +0,0 @@ -// Prints chars' ASCII codes - -#include - -int main(void) -{ - char c1 = 'H'; - char c2 = 'I'; - char c3 = '!'; - - printf("%i %i %i\n", c1, c2, c3); -} diff --git a/2023_CS50X/arrays/Source/hi2.c b/2023_CS50X/arrays/Source/hi2.c deleted file mode 100644 index 44cdc85..0000000 --- a/2023_CS50X/arrays/Source/hi2.c +++ /dev/null @@ -1,10 +0,0 @@ -// Prints string - -#include -#include - -int main(void) -{ - string s = "HI!"; - printf("%s\n", s); -} diff --git a/2023_CS50X/arrays/Source/hi3.c b/2023_CS50X/arrays/Source/hi3.c deleted file mode 100644 index 6e3e955..0000000 --- a/2023_CS50X/arrays/Source/hi3.c +++ /dev/null @@ -1,10 +0,0 @@ -// Prints string's ASCII codes - -#include -#include - -int main(void) -{ - string s = "HI!"; - printf("%i %i %i\n", s[0], s[1], s[2]); -} diff --git a/2023_CS50X/arrays/Source/hi4.c b/2023_CS50X/arrays/Source/hi4.c deleted file mode 100644 index d6ff6a1..0000000 --- a/2023_CS50X/arrays/Source/hi4.c +++ /dev/null @@ -1,10 +0,0 @@ -// Prints string's ASCII codes, including NUL - -#include -#include - -int main(void) -{ - string s = "HI!"; - printf("%i %i %i %i\n", s[0], s[1], s[2], s[3]); -} diff --git a/2023_CS50X/arrays/Source/hi5.c b/2023_CS50X/arrays/Source/hi5.c deleted file mode 100644 index 130afd6..0000000 --- a/2023_CS50X/arrays/Source/hi5.c +++ /dev/null @@ -1,13 +0,0 @@ -// Multiple strings - -#include -#include - -int main(void) -{ - string s = "HI!"; - string t = "BYE!"; - - printf("%s\n", s); - printf("%s\n", t); -} diff --git a/2023_CS50X/arrays/Source/hi6.c b/2023_CS50X/arrays/Source/hi6.c deleted file mode 100644 index 18af39e..0000000 --- a/2023_CS50X/arrays/Source/hi6.c +++ /dev/null @@ -1,15 +0,0 @@ -// Array of strings - -#include -#include - -int main(void) -{ - string words[2]; - - words[0] = "HI!"; - words[1] = "BYE!"; - - printf("%s\n", words[0]); - printf("%s\n", words[1]); -} diff --git a/2023_CS50X/arrays/Source/hi7.c b/2023_CS50X/arrays/Source/hi7.c deleted file mode 100644 index f14ce61..0000000 --- a/2023_CS50X/arrays/Source/hi7.c +++ /dev/null @@ -1,14 +0,0 @@ -#include -#include - - -int main(void) -{ - string words[2]; - - words[0] = "HI!"; - words[1] = "BYE!"; - - printf("%c%c%c\n", words[0][0], words[0][1], words[0][2]); - printf("%c%c%c%c\n", words[1][0], words[1][1], words[1][2], words[1][3]); -} diff --git a/2023_CS50X/arrays/Source/length0.c b/2023_CS50X/arrays/Source/length0.c deleted file mode 100644 index fb842a1..0000000 --- a/2023_CS50X/arrays/Source/length0.c +++ /dev/null @@ -1,18 +0,0 @@ -// Determines the length of a string - -#include -#include - -int main(void) -{ - // Prompt for user's name - string name = get_string("Name: "); - - // Count number of characters up until '\0' (aka NUL) - int n = 0; - while (name[n] != '\0') - { - n++; - } - printf("%i\n", n); -} diff --git a/2023_CS50X/arrays/Source/length1.c b/2023_CS50X/arrays/Source/length1.c deleted file mode 100644 index 034b57a..0000000 --- a/2023_CS50X/arrays/Source/length1.c +++ /dev/null @@ -1,25 +0,0 @@ -// Determines the length of a string using a function - -#include -#include - -int string_length(string s); - -int main(void) -{ - // Prompt for user's name - string name = get_string("Name: "); - int length = string_length(name); - printf("%i\n", length); -} - -int string_length(string s) -{ - // Count number of characters up until '\0' (aka NUL) - int n = 0; - while (s[n] != '\0') - { - n++; - } - return n; -} diff --git a/2023_CS50X/arrays/Source/length2.c b/2023_CS50X/arrays/Source/length2.c deleted file mode 100644 index 114911f..0000000 --- a/2023_CS50X/arrays/Source/length2.c +++ /dev/null @@ -1,13 +0,0 @@ -// Determines the length of a string using a function - -#include -#include -#include - -int main(void) -{ - // Prompt for user's name - string name = get_string("Name: "); - int length = strlen(name); - printf("%i\n", length); -} diff --git a/2023_CS50X/arrays/Source/scores0.c b/2023_CS50X/arrays/Source/scores0.c deleted file mode 100644 index 344a652..0000000 --- a/2023_CS50X/arrays/Source/scores0.c +++ /dev/null @@ -1,14 +0,0 @@ -// Averages three (hardcoded) numbers - -#include - -int main(void) -{ - // Scores - int score1 = 72; - int score2 = 73; - int score3 = 33; - - // Print average - printf("Average: %f\n", (score1 + score2 + score3) / 3.0); -} diff --git a/2023_CS50X/arrays/Source/scores1.c b/2023_CS50X/arrays/Source/scores1.c deleted file mode 100644 index f33a925..0000000 --- a/2023_CS50X/arrays/Source/scores1.c +++ /dev/null @@ -1,16 +0,0 @@ -// Averages three (hardcoded) numbers using an array - -#include -#include - -int main(void) -{ - // Scores - int scores[3]; - scores[0] = 72; - scores[1] = 73; - scores[2] = 33; - - // Print average - printf("Average: %f\n", (scores[0] + scores[1] + scores[2]) / 3.0); -} diff --git a/2023_CS50X/arrays/Source/scores2.c b/2023_CS50X/arrays/Source/scores2.c deleted file mode 100644 index b279f2d..0000000 --- a/2023_CS50X/arrays/Source/scores2.c +++ /dev/null @@ -1,16 +0,0 @@ -// Averages three numbers using an array - -#include -#include - -int main(void) -{ - // Get scores - int scores[3]; - scores[0] = get_int("Score: "); - scores[1] = get_int("Score: "); - scores[2] = get_int("Score: "); - - // Print average - printf("Average: %f\n", (scores[0] + scores[1] + scores[2]) / 3.0); -} diff --git a/2023_CS50X/arrays/Source/scores3.c b/2023_CS50X/arrays/Source/scores3.c deleted file mode 100644 index 9e52554..0000000 --- a/2023_CS50X/arrays/Source/scores3.c +++ /dev/null @@ -1,17 +0,0 @@ -// Averages three numbers using an array and a loop - -#include -#include - -int main(void) -{ - // Get scores - int scores[3]; - for (int i = 0; i < 3; i++) - { - scores[i] = get_int("Score: "); - } - - // Print average - printf("Average: %f\n", (scores[0] + scores[1] + scores[2]) / 3.0); -} diff --git a/2023_CS50X/arrays/Source/scores4.c b/2023_CS50X/arrays/Source/scores4.c deleted file mode 100644 index cb3177a..0000000 --- a/2023_CS50X/arrays/Source/scores4.c +++ /dev/null @@ -1,35 +0,0 @@ -// Averages three numbers using an array, a constant, and a helper function - -#include -#include - -// Constant -const int N = 3; - -// Prototype -float average(int length, int array[]); - -int main(void) -{ - // Get scores - int scores[N]; - for (int i = 0; i < N; i++) - { - scores[i] = get_int("Score: "); - } - - // Print average - printf("Average: %f\n", average(N, scores)); -} - -float average(int length, int array[]) -{ - // Calculate average - int sum = 0; - for (int i = 0; i < length; i++) - { - sum += array[i]; - } - return sum / (float) length; -} - diff --git a/2023_CS50X/arrays/Source/status.c b/2023_CS50X/arrays/Source/status.c deleted file mode 100644 index 2d74c79..0000000 --- a/2023_CS50X/arrays/Source/status.c +++ /dev/null @@ -1,15 +0,0 @@ -// Returns explicit value from main - -#include -#include - -int main(int argc, string argv[]) -{ - if (argc != 2) - { - printf("Missing command-line argument\n"); - return 1; - } - printf("hello, %s\n", argv[1]); - return 0; -} diff --git a/2023_CS50X/arrays/Source/string0.c b/2023_CS50X/arrays/Source/string0.c deleted file mode 100644 index 5045f8f..0000000 --- a/2023_CS50X/arrays/Source/string0.c +++ /dev/null @@ -1,16 +0,0 @@ -// Prints string char by char, using strlen - -#include -#include -#include - -int main(void) -{ - string s = get_string("Input: "); - printf("Output: "); - for (int i = 0; i < strlen(s); i++) - { - printf("%c", s[i]); - } - printf("\n"); -} diff --git a/2023_CS50X/arrays/Source/string1.c b/2023_CS50X/arrays/Source/string1.c deleted file mode 100644 index fe08b20..0000000 --- a/2023_CS50X/arrays/Source/string1.c +++ /dev/null @@ -1,16 +0,0 @@ -// Prints string char by char, using strlen, remembering string's length - -#include -#include -#include - -int main(void) -{ - string s = get_string("Input: "); - printf("Output: "); - for (int i = 0, n = strlen(s); i < n; i++) - { - printf("%c", s[i]); - } - printf("\n"); -} diff --git a/2023_CS50X/arrays/Source/uppercase0.c b/2023_CS50X/arrays/Source/uppercase0.c deleted file mode 100644 index 57b38a7..0000000 --- a/2023_CS50X/arrays/Source/uppercase0.c +++ /dev/null @@ -1,23 +0,0 @@ -// Uppercases a string - -#include -#include -#include - -int main(void) -{ - string s = get_string("Before: "); - printf("After: "); - for (int i = 0, n = strlen(s); i < n; i++) - { - if (s[i] >= 'a' && s[i] <= 'z') - { - printf("%c", s[i] - 32); - } - else - { - printf("%c", s[i]); - } - } - printf("\n"); -} diff --git a/2023_CS50X/arrays/Source/uppercase1.c b/2023_CS50X/arrays/Source/uppercase1.c deleted file mode 100644 index e17126d..0000000 --- a/2023_CS50X/arrays/Source/uppercase1.c +++ /dev/null @@ -1,24 +0,0 @@ -// Uppercases string using ctype library (and an unnecessary condition) - -#include -#include -#include -#include - -int main(void) -{ - string s = get_string("Before: "); - printf("After: "); - for (int i = 0, n = strlen(s); i < n; i++) - { - if (islower(s[i])) - { - printf("%c", toupper(s[i])); - } - else - { - printf("%c", s[i]); - } - } - printf("\n"); -} diff --git a/2023_CS50X/arrays/Source/uppercase2.c b/2023_CS50X/arrays/Source/uppercase2.c deleted file mode 100644 index 2a93c0f..0000000 --- a/2023_CS50X/arrays/Source/uppercase2.c +++ /dev/null @@ -1,17 +0,0 @@ -// Uppercases string using ctype library - -#include -#include -#include -#include - -int main(void) -{ - string s = get_string("Before: "); - printf("After: "); - for (int i = 0, n = strlen(s); i < n; i++) - { - printf("%c", toupper(s[i])); - } - printf("\n"); -} diff --git a/2023_CS50X/c/Source/agree.c b/2023_CS50X/c/Source/agree.c deleted file mode 100644 index dfc5db0..0000000 --- a/2023_CS50X/c/Source/agree.c +++ /dev/null @@ -1,20 +0,0 @@ -// Logical operators - -#include -#include - -int main(void) -{ - // Prompt user to agree - char c = get_char("Do you agree? "); - - // Check whether agreed - if (c == 'Y' || c == 'y') - { - printf("Agreed.\n"); - } - else if (c == 'N' || c == 'n') - { - printf("Not agreed.\n"); - } -} diff --git a/2023_CS50X/c/Source/calculator0.c b/2023_CS50X/c/Source/calculator0.c deleted file mode 100644 index 969ac0f..0000000 --- a/2023_CS50X/c/Source/calculator0.c +++ /dev/null @@ -1,16 +0,0 @@ -// Addition with int, allows for overflow - -#include -#include - -int main(void) -{ - // Prompt user for x - int x = get_int("x: "); - - // Prompt user for y - int y = get_int("y: "); - - // Perform addition - printf("%i\n", x + y); -} diff --git a/2023_CS50X/c/Source/calculator1.c b/2023_CS50X/c/Source/calculator1.c deleted file mode 100644 index 1987574..0000000 --- a/2023_CS50X/c/Source/calculator1.c +++ /dev/null @@ -1,16 +0,0 @@ -// Addition with long - -#include -#include - -int main(void) -{ - // Prompt user for x - long x = get_long("x: "); - - // Prompt user for y - long y = get_long("y: "); - - // Perform addition - printf("%li\n", x + y); -} diff --git a/2023_CS50X/c/Source/calculator2.c b/2023_CS50X/c/Source/calculator2.c deleted file mode 100644 index 6ce5ce6..0000000 --- a/2023_CS50X/c/Source/calculator2.c +++ /dev/null @@ -1,16 +0,0 @@ -// Division with longs, demonstrating truncation - -#include -#include - -int main(void) -{ - // Prompt user for x - long x = get_long("x: "); - - // Prompt user for y - long y = get_long("y: "); - - // Divide x by y - printf("%li\n", x / y); -} diff --git a/2023_CS50X/c/Source/calculator3.c b/2023_CS50X/c/Source/calculator3.c deleted file mode 100644 index 2e4f056..0000000 --- a/2023_CS50X/c/Source/calculator3.c +++ /dev/null @@ -1,17 +0,0 @@ -// Division with longs, demonstrating truncation - -#include -#include - -int main(void) -{ - // Prompt user for x - long x = get_long("x: "); - - // Prompt user for y - long y = get_long("y: "); - - // Divide x by y - float z = x / y; - printf("%f\n", z); -} diff --git a/2023_CS50X/c/Source/calculator4.c b/2023_CS50X/c/Source/calculator4.c deleted file mode 100644 index bb61dc7..0000000 --- a/2023_CS50X/c/Source/calculator4.c +++ /dev/null @@ -1,17 +0,0 @@ -// Division with longs, demonstrating type casting - -#include -#include - -int main(void) -{ - // Prompt user for x - long x = get_long("x: "); - - // Prompt user for y - long y = get_long("y: "); - - // Divide x by y - float z = (float) x / (float) y; - printf("%f\n", z); -} diff --git a/2023_CS50X/c/Source/calculator5.c b/2023_CS50X/c/Source/calculator5.c deleted file mode 100644 index 8f25209..0000000 --- a/2023_CS50X/c/Source/calculator5.c +++ /dev/null @@ -1,17 +0,0 @@ -// Division with longs, demonstrating floating-point imprecision - -#include -#include - -int main(void) -{ - // Prompt user for x - long x = get_long("x: "); - - // Prompt user for y - long y = get_long("y: "); - - // Divide x by y - float z = (float) x / (float) y; - printf("%.20f\n", z); -} diff --git a/2023_CS50X/c/Source/calculator6.c b/2023_CS50X/c/Source/calculator6.c deleted file mode 100644 index 7ea8f9b..0000000 --- a/2023_CS50X/c/Source/calculator6.c +++ /dev/null @@ -1,17 +0,0 @@ -// Division with longs, demonstrating double - -#include -#include - -int main(void) -{ - // Prompt user for x - long x = get_long("x: "); - - // Prompt user for y - long y = get_long("y: "); - - // Divide x by y - double z = (double) x / (double) y; - printf("%.20f\n", z); -} diff --git a/2023_CS50X/c/Source/compare0.c b/2023_CS50X/c/Source/compare0.c deleted file mode 100644 index 74f33ca..0000000 --- a/2023_CS50X/c/Source/compare0.c +++ /dev/null @@ -1,17 +0,0 @@ -// Conditionals, Boolean expressions, relational operators - -#include -#include - -int main(void) -{ - // Prompt user for integers - int x = get_int("What's x? "); - int y = get_int("What's y? "); - - // Compare integers - if (x < y) - { - printf("x is less than y\n"); - } -} diff --git a/2023_CS50X/c/Source/compare1.c b/2023_CS50X/c/Source/compare1.c deleted file mode 100644 index f373ba7..0000000 --- a/2023_CS50X/c/Source/compare1.c +++ /dev/null @@ -1,21 +0,0 @@ -// Conditionals, Boolean expressions, relational operators - -#include -#include - -int main(void) -{ - // Prompt user for integers - int x = get_int("What's x? "); - int y = get_int("What's y? "); - - // Compare integers - if (x < y) - { - printf("x is less than y\n"); - } - else - { - printf("x is not less than y\n"); - } -} diff --git a/2023_CS50X/c/Source/compare2.c b/2023_CS50X/c/Source/compare2.c deleted file mode 100644 index b1138aa..0000000 --- a/2023_CS50X/c/Source/compare2.c +++ /dev/null @@ -1,25 +0,0 @@ -// Conditionals, Boolean expressions, relational operators - -#include -#include - -int main(void) -{ - // Prompt user for integers - int x = get_int("What's x? "); - int y = get_int("What's y? "); - - // Compare integers - if (x < y) - { - printf("x is less than y\n"); - } - else if (x > y) - { - printf("x is greater than y\n"); - } - else if (x == y) - { - printf("x is equal to y\n"); - } -} diff --git a/2023_CS50X/c/Source/compare3.c b/2023_CS50X/c/Source/compare3.c deleted file mode 100644 index 8351a6b..0000000 --- a/2023_CS50X/c/Source/compare3.c +++ /dev/null @@ -1,25 +0,0 @@ -// Conditionals, Boolean expressions, relational operators - -#include -#include - -int main(void) -{ - // Prompt user for integers - int x = get_int("What's x? "); - int y = get_int("What's y? "); - - // Compare integers - if (x < y) - { - printf("x is less than y\n"); - } - else if (x > y) - { - printf("x is greater than y\n"); - } - else - { - printf("x is equal to y\n"); - } -} diff --git a/2023_CS50X/c/Source/countdown.c b/2023_CS50X/c/Source/countdown.c deleted file mode 100644 index 7d82510..0000000 --- a/2023_CS50X/c/Source/countdown.c +++ /dev/null @@ -1,15 +0,0 @@ -// Counting - -#include -#include -#include - -int main(void) -{ - int i = 0; - while (true) - { - printf("\r%i", i); - i++; - } -} diff --git a/2023_CS50X/c/Source/counter.c b/2023_CS50X/c/Source/counter.c deleted file mode 100644 index 90d3730..0000000 --- a/2023_CS50X/c/Source/counter.c +++ /dev/null @@ -1,14 +0,0 @@ -// Counting - -#include -#include - -int main(void) -{ - int i = 0; - while (true) - { - printf("\r%i", i); - i++; - } -} diff --git a/2023_CS50X/c/Source/hello0.c b/2023_CS50X/c/Source/hello0.c deleted file mode 100644 index 68e40b6..0000000 --- a/2023_CS50X/c/Source/hello0.c +++ /dev/null @@ -1,8 +0,0 @@ -// A program that says hello to the world - -#include - -int main(void) -{ - printf("hello, world\n"); -} diff --git a/2023_CS50X/c/Source/hello1.c b/2023_CS50X/c/Source/hello1.c deleted file mode 100644 index 0fdfef2..0000000 --- a/2023_CS50X/c/Source/hello1.c +++ /dev/null @@ -1,10 +0,0 @@ -// get_string and printf with incorrect placeholder - -#include -#include - -int main(void) -{ - string answer = get_string("What's your name? "); - printf("hello, answer\n"); -} diff --git a/2023_CS50X/c/Source/hello2.c b/2023_CS50X/c/Source/hello2.c deleted file mode 100644 index e55eb61..0000000 --- a/2023_CS50X/c/Source/hello2.c +++ /dev/null @@ -1,10 +0,0 @@ -// get_string and printf with %s - -#include -#include - -int main(void) -{ - string answer = get_string("What's your name? "); - printf("hello, %s\n", answer); -} diff --git a/2023_CS50X/c/Source/mario0.c b/2023_CS50X/c/Source/mario0.c deleted file mode 100644 index 1aad0c7..0000000 --- a/2023_CS50X/c/Source/mario0.c +++ /dev/null @@ -1,8 +0,0 @@ -// Prints a row of 4 question marks - -#include - -int main(void) -{ - printf("????\n"); -} diff --git a/2023_CS50X/c/Source/mario1.c b/2023_CS50X/c/Source/mario1.c deleted file mode 100644 index ef446bc..0000000 --- a/2023_CS50X/c/Source/mario1.c +++ /dev/null @@ -1,12 +0,0 @@ -// Prints a row of 4 question marks with a loop - -#include - -int main(void) -{ - for (int i = 0; i < 4; i++) - { - printf("?"); - } - printf("\n"); -} diff --git a/2023_CS50X/c/Source/mario2.c b/2023_CS50X/c/Source/mario2.c deleted file mode 100644 index a8b102c..0000000 --- a/2023_CS50X/c/Source/mario2.c +++ /dev/null @@ -1,11 +0,0 @@ -// Prints a column of 3 bricks with a loop - -#include - -int main(void) -{ - for (int i = 0; i < 3; i++) - { - printf("#\n"); - } -} diff --git a/2023_CS50X/c/Source/mario3.c b/2023_CS50X/c/Source/mario3.c deleted file mode 100644 index 97efbad..0000000 --- a/2023_CS50X/c/Source/mario3.c +++ /dev/null @@ -1,15 +0,0 @@ -// Prints a 3-by-3 grid of bricks with nested loops - -#include - -int main(void) -{ - for (int i = 0; i < 3; i++) - { - for (int j = 0; j < 3; j++) - { - printf("#"); - } - printf("\n"); - } -} diff --git a/2023_CS50X/c/Source/mario4.c b/2023_CS50X/c/Source/mario4.c deleted file mode 100644 index 52a664c..0000000 --- a/2023_CS50X/c/Source/mario4.c +++ /dev/null @@ -1,16 +0,0 @@ -// Prints a 3-by-3 grid of bricks with nested loops using a constant - -#include - -int main(void) -{ - const int n = 3; - for (int i = 0; i < n; i++) - { - for (int j = 0; j < n; j++) - { - printf("#"); - } - printf("\n"); - } -} diff --git a/2023_CS50X/c/Source/mario5.c b/2023_CS50X/c/Source/mario5.c deleted file mode 100644 index 881839c..0000000 --- a/2023_CS50X/c/Source/mario5.c +++ /dev/null @@ -1,18 +0,0 @@ -// Prints an n-by-n grid of bricks with nested loops - -#include -#include - -int main(void) -{ - int n = get_int("Size: "); - - for (int i = 0; i < n; i++) - { - for (int j = 0; j < n; j++) - { - printf("#"); - } - printf("\n"); - } -} diff --git a/2023_CS50X/c/Source/mario6.c b/2023_CS50X/c/Source/mario6.c deleted file mode 100644 index ae6541c..0000000 --- a/2023_CS50X/c/Source/mario6.c +++ /dev/null @@ -1,22 +0,0 @@ -// Prints an n-by-n grid of bricks, re-prompting user for positive integer - -#include -#include - -int main(void) -{ - int n = get_int("Size: "); - while (n < 1) - { - n = get_int("Size: "); - } - - for (int i = 0; i < n; i++) - { - for (int j = 0; j < n; j++) - { - printf("#"); - } - printf("\n"); - } -} diff --git a/2023_CS50X/c/Source/mario7.c b/2023_CS50X/c/Source/mario7.c deleted file mode 100644 index 47bf453..0000000 --- a/2023_CS50X/c/Source/mario7.c +++ /dev/null @@ -1,25 +0,0 @@ -// Prints an n-by-n grid of bricks, re-prompting user for positive integer - -#include -#include - -int main(void) -{ - // Get size of grid - int n; - do - { - n = get_int("Size: "); - } - while (n < 1); - - // Print grid of bricks - for (int i = 0; i < n; i++) - { - for (int j = 0; j < n; j++) - { - printf("#"); - } - printf("\n"); - } -} diff --git a/2023_CS50X/c/Source/mario8.c b/2023_CS50X/c/Source/mario8.c deleted file mode 100644 index 12ca24a..0000000 --- a/2023_CS50X/c/Source/mario8.c +++ /dev/null @@ -1,36 +0,0 @@ -// Prints an n-by-n grid of bricks, re-prompting user for positive integer - -#include -#include - -int get_size(void); -void print_grid(int n); - -int main(void) -{ - int n = get_size(); - print_grid(n); -} - -int get_size(void) -{ - int n; - do - { - n = get_int("Size: "); - } - while (n < 1); - return n; -} - -void print_grid(int n) -{ - for (int i = 0; i < n; i++) - { - for (int j = 0; j < n; j++) - { - printf("#"); - } - printf("\n"); - } -} diff --git a/2023_CS50X/c/Source/meow0.c b/2023_CS50X/c/Source/meow0.c deleted file mode 100644 index 457aa39..0000000 --- a/2023_CS50X/c/Source/meow0.c +++ /dev/null @@ -1,10 +0,0 @@ -// Opportunity for better design - -#include - -int main(void) -{ - printf("meow\n"); - printf("meow\n"); - printf("meow\n"); -} diff --git a/2023_CS50X/c/Source/meow1.c b/2023_CS50X/c/Source/meow1.c deleted file mode 100644 index 88ce846..0000000 --- a/2023_CS50X/c/Source/meow1.c +++ /dev/null @@ -1,13 +0,0 @@ -// Better design - -#include - -int main(void) -{ - int i = 0; - while (i < 3) - { - printf("meow\n"); - i++; - } -} diff --git a/2023_CS50X/c/Source/meow2.c b/2023_CS50X/c/Source/meow2.c deleted file mode 100644 index 023f307..0000000 --- a/2023_CS50X/c/Source/meow2.c +++ /dev/null @@ -1,11 +0,0 @@ -// Better design - -#include - -int main(void) -{ - for (int i = 0; i < 3; i++) - { - printf("meow\n"); - } -} diff --git a/2023_CS50X/c/Source/meow3.c b/2023_CS50X/c/Source/meow3.c deleted file mode 100644 index d118657..0000000 --- a/2023_CS50X/c/Source/meow3.c +++ /dev/null @@ -1,19 +0,0 @@ -// Abstraction - -#include - -void meow(void); - -int main(void) -{ - for (int i = 0; i < 3; i++) - { - meow(); - } -} - -// Meow once -void meow(void) -{ - printf("meow\n"); -} diff --git a/2023_CS50X/c/Source/meow4.c b/2023_CS50X/c/Source/meow4.c deleted file mode 100644 index 4a3d500..0000000 --- a/2023_CS50X/c/Source/meow4.c +++ /dev/null @@ -1,19 +0,0 @@ -// Abstraction with parameterization - -#include - -void meow(int n); - -int main(void) -{ - meow(3); -} - -// Meow some number of times -void meow(int n) -{ - for (int i = 0; i < n; i++) - { - printf("meow\n"); - } -} diff --git a/2023_CS50X/c/Source/points0.c b/2023_CS50X/c/Source/points0.c deleted file mode 100644 index dccb81c..0000000 --- a/2023_CS50X/c/Source/points0.c +++ /dev/null @@ -1,24 +0,0 @@ -// Conditionals, Boolean expressions, relational operators - -#include -#include - -int main(void) -{ - // Prompt user for points - int points = get_int("How many points did you lose? "); - - // Compare points against mine - if (points < 2) - { - printf("You lost fewer points than me.\n"); - } - else if (points > 2) - { - printf("You lost more points than me.\n"); - } - else if (points == 2) - { - printf("You lost the same number of points as me.\n"); - } -} diff --git a/2023_CS50X/c/Source/points1.c b/2023_CS50X/c/Source/points1.c deleted file mode 100644 index 5914c9d..0000000 --- a/2023_CS50X/c/Source/points1.c +++ /dev/null @@ -1,24 +0,0 @@ -// Design - -#include -#include - -int main(void) -{ - // Prompt user for points - int points = get_int("How many points did you lose? "); - - // Compare points against mine - if (points < 2) - { - printf("You lost fewer points than me.\n"); - } - else if (points > 2) - { - printf("You lost more points than me.\n"); - } - else - { - printf("You lost the same number of points as me.\n"); - } -} diff --git a/2023_CS50X/c/Source/points2.c b/2023_CS50X/c/Source/points2.c deleted file mode 100644 index 621a7c9..0000000 --- a/2023_CS50X/c/Source/points2.c +++ /dev/null @@ -1,27 +0,0 @@ -// Constants - -#include -#include - -int main(void) -{ - // Number of points that I lost - const int MINE = 2; - - // Prompt user for points - int points = get_int("How many points did you lose? "); - - // Compare points against mine - if (points < MINE) - { - printf("You lost fewer points than me.\n"); - } - else if (points > MINE) - { - printf("You lost more points than me.\n"); - } - else - { - printf("You lost the same number of points as me.\n"); - } -} diff --git a/2023_CS50X/c/cash/cash.c b/2023_CS50X/w1_c/cash/cash.c similarity index 100% rename from 2023_CS50X/c/cash/cash.c rename to 2023_CS50X/w1_c/cash/cash.c diff --git a/2023_CS50X/c/credit/credit.c b/2023_CS50X/w1_c/credit/credit.c similarity index 100% rename from 2023_CS50X/c/credit/credit.c rename to 2023_CS50X/w1_c/credit/credit.c diff --git a/2023_CS50X/c/hello/hello.c b/2023_CS50X/w1_c/hello/hello.c similarity index 100% rename from 2023_CS50X/c/hello/hello.c rename to 2023_CS50X/w1_c/hello/hello.c diff --git a/2023_CS50X/c/mario-more/mario.c b/2023_CS50X/w1_c/mario-more/mario.c similarity index 100% rename from 2023_CS50X/c/mario-more/mario.c rename to 2023_CS50X/w1_c/mario-more/mario.c diff --git a/2023_CS50X/c/population/population.c b/2023_CS50X/w1_c/population/population.c similarity index 100% rename from 2023_CS50X/c/population/population.c rename to 2023_CS50X/w1_c/population/population.c diff --git a/2023_CS50X/arrays/bulbs/bulbs.c b/2023_CS50X/w2_arrays/bulbs/bulbs.c similarity index 100% rename from 2023_CS50X/arrays/bulbs/bulbs.c rename to 2023_CS50X/w2_arrays/bulbs/bulbs.c diff --git a/2023_CS50X/arrays/readability/readability.c b/2023_CS50X/w2_arrays/readability/readability.c similarity index 100% rename from 2023_CS50X/arrays/readability/readability.c rename to 2023_CS50X/w2_arrays/readability/readability.c diff --git a/2023_CS50X/arrays/scrabble/scrabble.c b/2023_CS50X/w2_arrays/scrabble/scrabble.c similarity index 100% rename from 2023_CS50X/arrays/scrabble/scrabble.c rename to 2023_CS50X/w2_arrays/scrabble/scrabble.c diff --git a/2023_CS50X/algorithms/plurality/plurality.c b/2023_CS50X/w3_algorithms/plurality/plurality.c similarity index 100% rename from 2023_CS50X/algorithms/plurality/plurality.c rename to 2023_CS50X/w3_algorithms/plurality/plurality.c diff --git a/2023_CS50X/algorithms/runoff/runoff.c b/2023_CS50X/w3_algorithms/runoff/runoff.c similarity index 100% rename from 2023_CS50X/algorithms/runoff/runoff.c rename to 2023_CS50X/w3_algorithms/runoff/runoff.c diff --git a/2023_CS50X/algorithms/sort/answers.txt b/2023_CS50X/w3_algorithms/sort/answers.txt similarity index 100% rename from 2023_CS50X/algorithms/sort/answers.txt rename to 2023_CS50X/w3_algorithms/sort/answers.txt diff --git a/2023_CS50X/algorithms/sort/random10000.txt b/2023_CS50X/w3_algorithms/sort/random10000.txt similarity index 100% rename from 2023_CS50X/algorithms/sort/random10000.txt rename to 2023_CS50X/w3_algorithms/sort/random10000.txt diff --git a/2023_CS50X/algorithms/sort/random5000.txt b/2023_CS50X/w3_algorithms/sort/random5000.txt similarity index 100% rename from 2023_CS50X/algorithms/sort/random5000.txt rename to 2023_CS50X/w3_algorithms/sort/random5000.txt diff --git a/2023_CS50X/algorithms/sort/random50000.txt b/2023_CS50X/w3_algorithms/sort/random50000.txt similarity index 100% rename from 2023_CS50X/algorithms/sort/random50000.txt rename to 2023_CS50X/w3_algorithms/sort/random50000.txt diff --git a/2023_CS50X/algorithms/sort/reversed10000.txt b/2023_CS50X/w3_algorithms/sort/reversed10000.txt similarity index 100% rename from 2023_CS50X/algorithms/sort/reversed10000.txt rename to 2023_CS50X/w3_algorithms/sort/reversed10000.txt diff --git a/2023_CS50X/algorithms/sort/reversed5000.txt b/2023_CS50X/w3_algorithms/sort/reversed5000.txt similarity index 100% rename from 2023_CS50X/algorithms/sort/reversed5000.txt rename to 2023_CS50X/w3_algorithms/sort/reversed5000.txt diff --git a/2023_CS50X/algorithms/sort/reversed50000.txt b/2023_CS50X/w3_algorithms/sort/reversed50000.txt similarity index 100% rename from 2023_CS50X/algorithms/sort/reversed50000.txt rename to 2023_CS50X/w3_algorithms/sort/reversed50000.txt diff --git a/2023_CS50X/algorithms/sort/sorted10000.txt b/2023_CS50X/w3_algorithms/sort/sorted10000.txt similarity index 100% rename from 2023_CS50X/algorithms/sort/sorted10000.txt rename to 2023_CS50X/w3_algorithms/sort/sorted10000.txt diff --git a/2023_CS50X/algorithms/sort/sorted5000.txt b/2023_CS50X/w3_algorithms/sort/sorted5000.txt similarity index 100% rename from 2023_CS50X/algorithms/sort/sorted5000.txt rename to 2023_CS50X/w3_algorithms/sort/sorted5000.txt diff --git a/2023_CS50X/algorithms/sort/sorted50000.txt b/2023_CS50X/w3_algorithms/sort/sorted50000.txt similarity index 100% rename from 2023_CS50X/algorithms/sort/sorted50000.txt rename to 2023_CS50X/w3_algorithms/sort/sorted50000.txt diff --git a/2023_CS50X/algorithms/sort/test.txt b/2023_CS50X/w3_algorithms/sort/test.txt similarity index 100% rename from 2023_CS50X/algorithms/sort/test.txt rename to 2023_CS50X/w3_algorithms/sort/test.txt diff --git a/2023_CS50X/memory/filter-less/Makefile b/2023_CS50X/w4_memory/filter-less/Makefile similarity index 100% rename from 2023_CS50X/memory/filter-less/Makefile rename to 2023_CS50X/w4_memory/filter-less/Makefile diff --git a/2023_CS50X/memory/filter-less/bmp.h b/2023_CS50X/w4_memory/filter-less/bmp.h similarity index 100% rename from 2023_CS50X/memory/filter-less/bmp.h rename to 2023_CS50X/w4_memory/filter-less/bmp.h diff --git a/2023_CS50X/memory/filter-less/filter.c b/2023_CS50X/w4_memory/filter-less/filter.c similarity index 100% rename from 2023_CS50X/memory/filter-less/filter.c rename to 2023_CS50X/w4_memory/filter-less/filter.c diff --git a/2023_CS50X/memory/filter-less/helpers.c b/2023_CS50X/w4_memory/filter-less/helpers.c similarity index 100% rename from 2023_CS50X/memory/filter-less/helpers.c rename to 2023_CS50X/w4_memory/filter-less/helpers.c diff --git a/2023_CS50X/memory/filter-less/helpers.h b/2023_CS50X/w4_memory/filter-less/helpers.h similarity index 100% rename from 2023_CS50X/memory/filter-less/helpers.h rename to 2023_CS50X/w4_memory/filter-less/helpers.h diff --git a/2023_CS50X/memory/recover/recover.c b/2023_CS50X/w4_memory/recover/recover.c similarity index 100% rename from 2023_CS50X/memory/recover/recover.c rename to 2023_CS50X/w4_memory/recover/recover.c diff --git a/2023_CS50X/memory/recover/test.c b/2023_CS50X/w4_memory/recover/test.c similarity index 100% rename from 2023_CS50X/memory/recover/test.c rename to 2023_CS50X/w4_memory/recover/test.c diff --git a/2023_CS50X/memory/smiley/Makefile b/2023_CS50X/w4_memory/smiley/Makefile similarity index 100% rename from 2023_CS50X/memory/smiley/Makefile rename to 2023_CS50X/w4_memory/smiley/Makefile diff --git a/2023_CS50X/memory/smiley/bmp.h b/2023_CS50X/w4_memory/smiley/bmp.h similarity index 100% rename from 2023_CS50X/memory/smiley/bmp.h rename to 2023_CS50X/w4_memory/smiley/bmp.h diff --git a/2023_CS50X/memory/smiley/colorize.c b/2023_CS50X/w4_memory/smiley/colorize.c similarity index 100% rename from 2023_CS50X/memory/smiley/colorize.c rename to 2023_CS50X/w4_memory/smiley/colorize.c diff --git a/2023_CS50X/memory/smiley/helpers.c b/2023_CS50X/w4_memory/smiley/helpers.c similarity index 100% rename from 2023_CS50X/memory/smiley/helpers.c rename to 2023_CS50X/w4_memory/smiley/helpers.c diff --git a/2023_CS50X/memory/smiley/helpers.h b/2023_CS50X/w4_memory/smiley/helpers.h similarity index 100% rename from 2023_CS50X/memory/smiley/helpers.h rename to 2023_CS50X/w4_memory/smiley/helpers.h diff --git a/2023_CS50X/python/dna/dna.py b/2023_CS50X/w6_python/dna/dna.py similarity index 100% rename from 2023_CS50X/python/dna/dna.py rename to 2023_CS50X/w6_python/dna/dna.py diff --git a/2023_CS50X/python/dna/sequences/1.txt b/2023_CS50X/w6_python/dna/sequences/1.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/1.txt rename to 2023_CS50X/w6_python/dna/sequences/1.txt diff --git a/2023_CS50X/python/dna/sequences/10.txt b/2023_CS50X/w6_python/dna/sequences/10.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/10.txt rename to 2023_CS50X/w6_python/dna/sequences/10.txt diff --git a/2023_CS50X/python/dna/sequences/11.txt b/2023_CS50X/w6_python/dna/sequences/11.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/11.txt rename to 2023_CS50X/w6_python/dna/sequences/11.txt diff --git a/2023_CS50X/python/dna/sequences/12.txt b/2023_CS50X/w6_python/dna/sequences/12.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/12.txt rename to 2023_CS50X/w6_python/dna/sequences/12.txt diff --git a/2023_CS50X/python/dna/sequences/13.txt b/2023_CS50X/w6_python/dna/sequences/13.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/13.txt rename to 2023_CS50X/w6_python/dna/sequences/13.txt diff --git a/2023_CS50X/python/dna/sequences/14.txt b/2023_CS50X/w6_python/dna/sequences/14.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/14.txt rename to 2023_CS50X/w6_python/dna/sequences/14.txt diff --git a/2023_CS50X/python/dna/sequences/15.txt b/2023_CS50X/w6_python/dna/sequences/15.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/15.txt rename to 2023_CS50X/w6_python/dna/sequences/15.txt diff --git a/2023_CS50X/python/dna/sequences/16.txt b/2023_CS50X/w6_python/dna/sequences/16.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/16.txt rename to 2023_CS50X/w6_python/dna/sequences/16.txt diff --git a/2023_CS50X/python/dna/sequences/17.txt b/2023_CS50X/w6_python/dna/sequences/17.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/17.txt rename to 2023_CS50X/w6_python/dna/sequences/17.txt diff --git a/2023_CS50X/python/dna/sequences/18.txt b/2023_CS50X/w6_python/dna/sequences/18.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/18.txt rename to 2023_CS50X/w6_python/dna/sequences/18.txt diff --git a/2023_CS50X/python/dna/sequences/19.txt b/2023_CS50X/w6_python/dna/sequences/19.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/19.txt rename to 2023_CS50X/w6_python/dna/sequences/19.txt diff --git a/2023_CS50X/python/dna/sequences/2.txt b/2023_CS50X/w6_python/dna/sequences/2.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/2.txt rename to 2023_CS50X/w6_python/dna/sequences/2.txt diff --git a/2023_CS50X/python/dna/sequences/20.txt b/2023_CS50X/w6_python/dna/sequences/20.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/20.txt rename to 2023_CS50X/w6_python/dna/sequences/20.txt diff --git a/2023_CS50X/python/dna/sequences/3.txt b/2023_CS50X/w6_python/dna/sequences/3.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/3.txt rename to 2023_CS50X/w6_python/dna/sequences/3.txt diff --git a/2023_CS50X/python/dna/sequences/4.txt b/2023_CS50X/w6_python/dna/sequences/4.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/4.txt rename to 2023_CS50X/w6_python/dna/sequences/4.txt diff --git a/2023_CS50X/python/dna/sequences/5.txt b/2023_CS50X/w6_python/dna/sequences/5.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/5.txt rename to 2023_CS50X/w6_python/dna/sequences/5.txt diff --git a/2023_CS50X/python/dna/sequences/6.txt b/2023_CS50X/w6_python/dna/sequences/6.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/6.txt rename to 2023_CS50X/w6_python/dna/sequences/6.txt diff --git a/2023_CS50X/python/dna/sequences/7.txt b/2023_CS50X/w6_python/dna/sequences/7.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/7.txt rename to 2023_CS50X/w6_python/dna/sequences/7.txt diff --git a/2023_CS50X/python/dna/sequences/8.txt b/2023_CS50X/w6_python/dna/sequences/8.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/8.txt rename to 2023_CS50X/w6_python/dna/sequences/8.txt diff --git a/2023_CS50X/python/dna/sequences/9.txt b/2023_CS50X/w6_python/dna/sequences/9.txt similarity index 100% rename from 2023_CS50X/python/dna/sequences/9.txt rename to 2023_CS50X/w6_python/dna/sequences/9.txt diff --git a/2023_CS50X/python/sentimental-cash/cash.py b/2023_CS50X/w6_python/sentimental-cash/cash.py similarity index 100% rename from 2023_CS50X/python/sentimental-cash/cash.py rename to 2023_CS50X/w6_python/sentimental-cash/cash.py diff --git a/2023_CS50X/python/sentimental-hello/hello.py b/2023_CS50X/w6_python/sentimental-hello/hello.py similarity index 100% rename from 2023_CS50X/python/sentimental-hello/hello.py rename to 2023_CS50X/w6_python/sentimental-hello/hello.py diff --git a/2023_CS50X/python/sentimental-mario-less/mario.py b/2023_CS50X/w6_python/sentimental-mario-less/mario.py similarity index 100% rename from 2023_CS50X/python/sentimental-mario-less/mario.py rename to 2023_CS50X/w6_python/sentimental-mario-less/mario.py diff --git a/2023_CS50X/python/sentimental-readability/readability.py b/2023_CS50X/w6_python/sentimental-readability/readability.py similarity index 100% rename from 2023_CS50X/python/sentimental-readability/readability.py rename to 2023_CS50X/w6_python/sentimental-readability/readability.py diff --git a/2023_CS50X/python/world-cup/answers.txt b/2023_CS50X/w6_python/world-cup/answers.txt similarity index 100% rename from 2023_CS50X/python/world-cup/answers.txt rename to 2023_CS50X/w6_python/world-cup/answers.txt diff --git a/2023_CS50X/python/world-cup/tournament.py b/2023_CS50X/w6_python/world-cup/tournament.py similarity index 100% rename from 2023_CS50X/python/world-cup/tournament.py rename to 2023_CS50X/w6_python/world-cup/tournament.py diff --git a/2023_CS50X/web/homepage/about.html b/2023_CS50X/w8_web/homepage/about.html similarity index 100% rename from 2023_CS50X/web/homepage/about.html rename to 2023_CS50X/w8_web/homepage/about.html diff --git a/2023_CS50X/web/homepage/art.html b/2023_CS50X/w8_web/homepage/art.html similarity index 100% rename from 2023_CS50X/web/homepage/art.html rename to 2023_CS50X/w8_web/homepage/art.html diff --git a/2023_CS50X/web/homepage/contact.html b/2023_CS50X/w8_web/homepage/contact.html similarity index 100% rename from 2023_CS50X/web/homepage/contact.html rename to 2023_CS50X/w8_web/homepage/contact.html diff --git a/2023_CS50X/web/homepage/index.html b/2023_CS50X/w8_web/homepage/index.html similarity index 100% rename from 2023_CS50X/web/homepage/index.html rename to 2023_CS50X/w8_web/homepage/index.html diff --git a/2023_CS50X/web/homepage/photography.html b/2023_CS50X/w8_web/homepage/photography.html similarity index 100% rename from 2023_CS50X/web/homepage/photography.html rename to 2023_CS50X/w8_web/homepage/photography.html diff --git a/2023_CS50X/web/homepage/styles.css b/2023_CS50X/w8_web/homepage/styles.css similarity index 100% rename from 2023_CS50X/web/homepage/styles.css rename to 2023_CS50X/w8_web/homepage/styles.css diff --git a/2023_CS50X/web/trivia/index.html b/2023_CS50X/w8_web/trivia/index.html similarity index 100% rename from 2023_CS50X/web/trivia/index.html rename to 2023_CS50X/w8_web/trivia/index.html diff --git a/2023_CS50X/web/trivia/styles.css b/2023_CS50X/w8_web/trivia/styles.css similarity index 100% rename from 2023_CS50X/web/trivia/styles.css rename to 2023_CS50X/w8_web/trivia/styles.css diff --git a/2024_Praxis_der_Programmierung/ue1/a.out b/2024_Praxis_der_Programmierung/ue1/a.out deleted file mode 100755 index d0f3ff0ce2c6291ca07ba3598a13c7c9f4d1072f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33432 zcmeI5T}&KR6vyxGLdyabG*w$cn2^*^twpVAAx-NbAT*jnpc*2|?E(Y40TyI;BVW<2 zNt>zt4v$3WY z$EL1}SZ9h(lyYB5^}g7$TCd0Egc&DNI_i9elzyYr&$Ecd>$U8T+{~0&=a}zn#S%nt zWlj?*ef~h5ZzUD4SNupsj~FTA*s7Og>P72P*0*_ms}08MRhW9|rXI%*bAF?N^nCsf zkGIJz#_R1j^@`0p$5ylU%6TaR-se5u2I=uOwy8Mwc?_9))usr?@fv1H4g6gD$)zkV z+*c@z%J)`9o~~}bR5U7!8~L8u`PnlIDVy3>sr|iP5}m6|kL9+8lGgWd^}T&!&)&yN ziuXji68!XI-ZzTb`pui3hK9-^E^9=T>3&C=9d@n2h$a4%)l{n5xqy$4x`e>Ya+>*kYlErP0)ewMb?UZ|g{ zE}!3M-TLTO>dR9XS$z);tlu9Lf}h=HGiF|Fcay8@AE0w0O{zQ&AOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4ea|2=_ahi!7H$1$=L7JcW!*`afe?9ky&!OG!qR_L%j zSUHm+&QKReL~vK%eL}oJ+dg3$?;^7PdPa*CUUZ79HP%@ z6AQDBM0tb`{|o-$V;?; z_1$#4z98(`mpU@fKbLv_Cvz9Ju0Q5-cNku`;qhxut;lHcc>=!NCZi+ZZ7}?sEjgpp z)l7+GvB{%3otiq*&`25H7Mp249_z^aaCx7uP9r<-O=r{9arMA^eN#y#T`8%2!fI8` zf^jiI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI z5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sHf&ZC+M%Sw# zuO{dJ8eor_^^XGh+uu=BbDh4ru17QGTDuv`cKT|)zj38%lj1fGxb6^hy)=`pZfSHH z^#Q*j-G-~d=n&3Um&YsC33WpB^fa6LLb&Sd4oap`gZ#e-(f>uDaiwLJXV>V9^4H5t zC2wtQ@rTq2T7Hz4L^ak^jwEa^2s_=qUCGr_o$;_ag*YHIyZRJ+B=gV5DYI;IZEXwq z#oODuFBTlS@Y%;ZzVOW#|B`zm$zAa4wf%FQS9{va&wlvb=!>V`uWtKvws9ii^5kT* zy}UYcxp%C$`{1{qyju41mJ>ItzaH8-R{VL6XQ8I9f8*NDnb8L`-Wgo~&Dp&!_eZyf z-yEC%`nN+@jx{<4x2)NItvpT g -#include - -int main() { - int i; - printf("\n"); - for (i=12; i>=0; i=i-2) { - if (i==0){ - - printf("%d \n", i); - } - else { - printf("%d, ", i); - } - } - - for (i=-1; i>=-13; i=i-2){ - if (i==-13){ - printf("%d \n", i); - } - else { - printf("%d, ", i); - } - } - - - for (i=0; i<=9; i++){ - if (i == 9){ - printf("%d \n", (int)pow(i,(double)2)); - } - else{ - printf("%d, ", (int)pow(i,(double)2)); - } - } - - for (i=0; i<=9; i++){ - if (i==9){ - printf("%d \n", i*i); - } - else{ - printf("%d, ", i*i); - } - } - - return 0; -} - diff --git a/2024_Praxis_der_Programmierung/ue1/loesung/formatelemente.c b/2024_Praxis_der_Programmierung/ue1/loesung/formatelemente.c deleted file mode 100644 index 4c30bce..0000000 --- a/2024_Praxis_der_Programmierung/ue1/loesung/formatelemente.c +++ /dev/null @@ -1,21 +0,0 @@ -/* formatelemente.c - * - * ACHTUNG: Enthaelt Fehler, die Sie bereinigen sollen! - * - */ - -#include - - main()i { - int i = 66; - double x = .000007; - double y = 123.45; - - printf("\ni:\n%d \n%o \n%x \n%X", i, i, i, i); - - printf("\nx:\n%f \n%e \n%E \n%g \n%G", x, x, x, x, x); - - printf("\ny:\n%g \n%G \n", y,y); - - return 0; -} diff --git a/2024_Praxis_der_Programmierung/ue1/loesung/gf.c b/2024_Praxis_der_Programmierung/ue1/loesung/gf.c deleted file mode 100644 index 736b245..0000000 --- a/2024_Praxis_der_Programmierung/ue1/loesung/gf.c +++ /dev/null @@ -1,21 +0,0 @@ -#include -#include - -int main() { - int fahrenheit = 0; - int stepsize = 20; - int maxF = 300; - - double celsius; - - printf("\n%s %s %s \n", "Fahrenheit","Celsius (gerundet)","Celsius (exakt)"); - - while (fahrenheit <= maxF) { - celsius = (5.0/9.0) * (fahrenheit - 32); - printf("%d\t\t%d\t\t%f\n", fahrenheit, (int)celsius, celsius); - fahrenheit += stepsize; - } - - return 0; -} - diff --git a/2024_Praxis_der_Programmierung/ue1/loesung/pri.c b/2024_Praxis_der_Programmierung/ue1/loesung/pri.c deleted file mode 100644 index ddb6cf5..0000000 --- a/2024_Praxis_der_Programmierung/ue1/loesung/pri.c +++ /dev/null @@ -1,8 +0,0 @@ -#include - -int main (){ - - printf("\n Ich kenn die Formatelemente zu 100%% \n"); - return 0; -} - diff --git a/2024_Praxis_der_Programmierung/ue1/loesung/typengroesse.c b/2024_Praxis_der_Programmierung/ue1/loesung/typengroesse.c deleted file mode 100644 index 87db467..0000000 --- a/2024_Praxis_der_Programmierung/ue1/loesung/typengroesse.c +++ /dev/null @@ -1,39 +0,0 @@ -/* typengroesse.c - * - * Bestimmung der Groesse der einfachen typen mit sizeof - */ - -#include - -int main() { - char c = 127; - unsigned char uc = 255; - - printf("\n"); - - //Ganzzahltypen - printf("char: \t\t%2d\n", (int) sizeof c); - printf("uns. char: \t%2d\n", (int) sizeof uc); - - printf("short: \t\t%2d\n", (int) sizeof (short)); - printf("uns. short: \t%2d\n", (int) sizeof (unsigned short)); - - printf("int: \t\t%2d\n", (int) sizeof (int)); - printf("uns. int: \t%2d\n", (int) sizeof (unsigned int)); - - printf("long: \t\t%2d \n", (int) sizeof (long)); - printf("uns. long: \t%2d \n", (int) sizeof (unsigned long)); - - printf("long long: \t%2d \n", (int) sizeof (long long)); - printf("uns. long long: %2d \n", (int) sizeof (unsigned long long)); - - // Gleitpunkttypen - printf("float: \t\t%2d\n", (int) sizeof (float)); - printf("double: \t%2d\n", (int) sizeof (double)); - printf("long double: \t%2d\n", (int) sizeof (long double)); - - - printf("\n"); - - return 0; -} diff --git a/2024_Praxis_der_Programmierung/ue1/loesung/while1.c b/2024_Praxis_der_Programmierung/ue1/loesung/while1.c deleted file mode 100644 index a9bd834..0000000 --- a/2024_Praxis_der_Programmierung/ue1/loesung/while1.c +++ /dev/null @@ -1,45 +0,0 @@ -#include -#include - -int main(){ - int i; - - printf("\n"); - - i=12; - while(i>=0){ - if (i==0){ - - printf("%d \n", i); - } - else { - printf("%d, ", i); - } - i=i-2; - } - - i=-1; - do{ - if (i==-13){ - printf("%d \n", i); - } - else { - printf("%d, ", i); - } - i=i-2; - } - while(i>=-13); - - i=0; - while(i<=9){ - if (i==9){ - printf("%d \n", i*i); - } - else{ - printf("%d, ", i*i); - } - i++; - } - - return 0; -} diff --git a/2024_Praxis_der_Programmierung/ue2/a.out b/2024_Praxis_der_Programmierung/ue2/a.out deleted file mode 100755 index 548b327c3158af6f937e7c365d403f0ad0775a49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33480 zcmeI5T}WI<6vt=xYN}DY)`(58!A;r}D^^WfN?M4yCXpBtq8N*kfKxx#xHPWf?xI$0 zHxWZZg=(-L5K1hCx`uwFB~T?aH3(_n#I{MH4{d~m#-+#Cw+v}nIJ^Ja8gZ(b);paQdX4gE- zqB^g1-D7c{6Vy=3s?wUOm0{IiU+EL3ok(t0nvxPJeXdTQX;2ZLZ=l#%%w4ky+q|xr zB#1z)P8BJ=K7YM8=8DgEV!M%#7%5@fnlH)B7mZ8V;Pth;J%`Qq@%e_$d>Lk(ZL3&w zvtLTTr^D@Olx|N`tFl+}3!3?A%p`2b=P*O6;C*<9RLWf?RV8v~`ThgOZs_JApi)U( zsgaYF_bQ!K%EPUeZTQE0Nz_(}ZuB=Tv5G3zbF+NT_U+lfw{+K@=otyb&5LZ7ugyhr z4r`ugg$VHcc$b^0c*eAw$=1o{Zfi-;1&lKlqOyqW6w(S(t60};^;_!;fxqYdFg0?L z^0_GVd)o_-xa$iWyN)!H&5}*Z^GF-KbS0yDTXBDV^Tq4)1IM?J&q->m$w4)Ts;jv? zbSNQ@JZgPZvgFeGIL`u|bF1*UTS+-)pxRA8Bir&^Xg&wJygpY;!Hxo&m%HBR{UjBf zKNt{#_wFgvW?n4oNjYA0l+KYcNp?d(00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY{(hXf*1VrHq^KDN{+hDQ2wLbE9%9PE>!B%3~Q(;+7298_w_XXi9Alxq`VLNF*Q ziib7}F?=&c4|BUQYELn0uTRX8kLyd_JH{yY(4;1>Ml>6Zp^Yt(9b6-3C~r7d1S*45 zIpe{{$)+*O*zO~HN{;`cC7q?5RXx!XHbL^LjheouV5Z##{o~5y_IrQ*!B=Yu% zCPVk@OBZp6>Dq4PQuod=nva?n-Kjm7Zr8)Yo^y4Rd$s6%!MVwu@9g4YH7%5{+CFCP zxwYiGy?n=Ar;?TLr?cqlyZqt%!>N=dU1d`K=#_dl0?LCA2!H?xfB*=900@8p2!H?x zfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=9 z00@8p2!H?xfB*=900@8p2!H?xfB*=9z<)--Nh4Q~){yf53|OD_w*E-~za<_ORoCei zcRlJc``S%gwza!GzNT2zCdH#{a9k4$z4RIArK)Ucmaa}$gWug^59|;bs@P8t(z0qhFTT=8*cPG7AfA7dr zjV#s3@e80tBzJyHoutgCs2a_gNj{pE?NwnXT6VR_Pdqt`zCtfuwyT+?L2 z_cJpu+skVbBR%JPUg`hgi`UCe=8rxozU55P#f;>R4SyWGkoozI>V~}0Uw<#?alAOY z?N)Er6WiDQbmi9Z#W$O@_wrXg_gh0w(_&i6_;>T~e{<;AwHv4G=WjnK|G$lAX1A>U k_T!CjJYRk3^xy{n<#*>dU)bjtPiK5^{mW5(V5>pvFNJNIE&u=k diff --git a/2024_Praxis_der_Programmierung/ue2/loesung/pt1.c b/2024_Praxis_der_Programmierung/ue2/loesung/pt1.c deleted file mode 100644 index 1f7f12d..0000000 --- a/2024_Praxis_der_Programmierung/ue2/loesung/pt1.c +++ /dev/null @@ -1,12 +0,0 @@ -#include - -int main(){ - int i; - int *ptr = &i; - i = 1; - printf("ptr = %p \n", ptr); // ptr = 0x7fffc953d9f4 - printf("*ptr = %d \n", *ptr); // *ptr = 1 - printf("i = %d \n", i); - *ptr = 2; - printf("i = %d \n", i); -} diff --git a/2024_Praxis_der_Programmierung/ue2/loesung/pt1.o b/2024_Praxis_der_Programmierung/ue2/loesung/pt1.o deleted file mode 100644 index a5af7eb00b8355e05dcec8fba872852c2430a8e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16608 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 diff --git a/2024_Praxis_der_Programmierung/ue2/loesung/quotient.c b/2024_Praxis_der_Programmierung/ue2/loesung/quotient.c deleted file mode 100644 index e5278db..0000000 --- a/2024_Praxis_der_Programmierung/ue2/loesung/quotient.c +++ /dev/null @@ -1,30 +0,0 @@ -#include -#include - -int y; - -int f(int param1, int param2){ - if (param2 == 0) { - printf("Fehler: Division durch %d nicht möglich \n", param2); - exit(EXIT_FAILURE); - } - else { - int res = (2*(param1*param1)) / param2; - return res; - } -} - -int main(){ - int x = 4; - while (1) { - scanf("%d", &y); // scanf erwartet Speicheradresse - if (y != 0){ - break; - } - else { - printf("Fehler: Division durch 0 nicht möglich \n"); - } -} - printf("%d \n",f(x,y)); -} - diff --git a/2024_Praxis_der_Programmierung/ue2/loesung/quotient.o b/2024_Praxis_der_Programmierung/ue2/loesung/quotient.o deleted file mode 100644 index ce80910ae174ac25eaebe587d63bcccce6320a3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16816 zcmeHOeQaA-6~DHdChb}$?OK+tK;KFuWuQ1|x2EZ)P&&Q0ED;Y)N4<>;?LSi5UbV5UgKUk`amLY*!1Y;^p3R5S!qth}zM#t8g-?{f5 z=lR6}AtC;NcO<`a&+mNPd(XS?`Cj|phogi2exFY;1;j@MNynQM64r{2J9PmpEV{%E zxPDN4KrDv5NMcGKRt#E2Nq;qO(0Blx{Jy32ZvK94$DCV8octD|4r&mHxzPO}zdBNA z+07?)JD9V+QlCN2AVXd&{ADr#F?ae=Q%Y@8ElS_;&9UDbY9wIA~tT_1DK zC*_1bFX*^#-Ul5KbFwAc^_m^0a?&7aK4*L8?DsMF=~OGne{tos@7DD#l$U1Re&)Kn zqCK4&>b#>p9dApgGKKNB@vhFc&O1W+Y-pqGH^nF0Z9DeKmeBapp`?BlWWq>)*OEO$ z*@=g~^X`2=e(vguU!+?edF~?FF2RRlsD3?ylER2zNc?h)_(C)Ug;7Jf7TC%f`1%EK zddzCse-^lbkDI99wd`+L0G|YI;Nzx`09fY+Nk-m>Db1ZCF`lx8Wu@}j;VoON{BSHY zA`Tbqyf~aoW$Y2ChR0*pNGcOcr;a8dlB<=sV>#Ozi={GR+u%S?ueC9>xl-B~+9a%j zz1yvLB9|CV5{9GMcq3~J#95QZbJRDYf##w%OtHNn4QT$4eF?u5@@8rNbGYEE{45rR2c_aw0`SMAkkevry&{*v-c zCa4W-l{Obo+sq+R&v^5|^`e??CB0z<$gxKM3VM_#n|n@z|AOp)_%< zBnrlfXsLJ>t(yo6ahh6OdiHv`{5&PHbPlBx(JPJLk6!UjJ^i<1rDF8G6VdlxoYsMw z&PCs&#e+Gy=?QB1WOuR>pd%Qcp3zg3s5XKS27PVAB`;(O~ma zfoRZ}Toetqe!k8Oc09h=40cV_ZwrP$9qft(J0ii>o}keaY=(VLut9DcxCHmph@(?P z(LC}p;AOzefR_O;16~Ha40svvGT>$4|2PA@kCFE+@>+rUGR{qtDqxeOq(}AU(wnu+ z`yJ>qa9EYL_4eLrwDu*2Qn8HD z6}mmt(bjpJDzNE-Jb)dty#L>6MEiJoAA2<(5SRD{I}`!z^lqq;&;WM+^SE-DV;AsZ z!Q-zQuNQous__QF_qQ5fB6!?X<4XmPuWB5l*_B7q2gEXA)WnyI!!_|><(x)!{6@jg zZ8eS{h7(ccfLKx4|L@cWu(SMBP5T=w`=qPwR|$UptMS#M);J4@_X*x7U2Tu2GweiE zIUt%vS55q8Vb;X?tuz;lp2tPvt@0eAO7#Boi=a5=$}@IGNPNbH->PwbpQB{ro(C8F;PsFVwHE$v7*;uc^T=s4fg`H{bU!u2JIs~FDf>;kwS?|162JAM$j;S8Y5t-#mS zz{POR&fA5Nk}(E3+G#^?c&1f`^1jO_JQ7NjXY8V2xpnBsHr2EeY=IVZE$B#WYF5#-@hli*V-HD z8H`d?c@SqfUyv>Srw4B6JWn{x2X*A}oJ2fk#{`c0$WuNprTdJJTTQ;|_zs#;eU`_H z=d)HamWk6jpMjmQil;JGA)i3E=UPmOgFKYa>oD>pQS~XLxk@+7LrQb9?0|(MMVw$d zYgF?9QT5@a>Ifo~KQd;=hQRHd;z=&yP@!WhPPt%vL1$7tPv zM;`BbMLh3g&g%xPmbP3b{vmv5uFn2EKV)t|=Olh#F}48(r$5glnXhL<&E5Wez~9E) zo$KfMCUf@Z^$o8hIP4A-Xf4D3JTGNFs}1?w82j_OgU+eZ6qo&Z{>uCr?az#I?WBVc zXl=s&JkMp$>m+VJ+cCcn{^c6}(K2Flzt3XARoc@OPW4^0msS2*};!7@n zp4T(y{&E~ z^0O#7pZ}zxG|cTlGFjmb>b-w-BNB3zdx1$t)*&DAe*_ NzeQQpyBu7i_y - -void swap(int *a1, int *a2){ - int s = *a1; - *a1 = *a2; - *a2 = s; -} -- -int main() { - int var1 = 4; - int var2 = 5; - printf("var1: %d, var2: %d \n", var1, var2); - swap(&var1, &var2); - printf("swapped var1: %d, swapped var2: %d \n", var1, var2); -} diff --git a/2024_Praxis_der_Programmierung/ue2/loesung/swap.o b/2024_Praxis_der_Programmierung/ue2/loesung/swap.o deleted file mode 100644 index 9503b3a745b320dfebd746fec43af13b1d57c8c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16632 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 OgEqn+#&Wyo?SBJx6Fyu3 diff --git a/2024_Praxis_der_Programmierung/ue3/loesung/.sqr_array_3.c.swp b/2024_Praxis_der_Programmierung/ue3/loesung/.sqr_array_3.c.swp deleted file mode 100644 index e79bcfcad76ba66b46897d3b6e2c8ac083f57b9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI%&1w@-6bJBATaa1!fd$v62}=5v%ruk+)3`E-U?ouEqBfM9nLEyf^iG@)N-EVS z=*##3;uH7+cB8oU9eQq>x^PkHGVmYxb2D@AJ@?FS7iQ?ceYMA}dO&hLB-#kJ~cwJq{SFX}b=-DV^IkR7QkQo>+7o@sh5T-No}F>`j+qSkav=pk#-xTD6e$bmqi|Vd8q94SUL0QbW)D{ z+s#Wo)Ry;+W^JtI_sX7XK2XVsPftu9CNddtX(N`lm1|o%aQmlixs&Ag)t&S%bAvXy ksbgg<*Q5ceMmlztWsU>i_o-@ZI4UE}yLl0rw4OYtOT8R?egFUf diff --git a/2024_Praxis_der_Programmierung/ue3/loesung/array_1.c b/2024_Praxis_der_Programmierung/ue3/loesung/array_1.c deleted file mode 100644 index 233d74f..0000000 --- a/2024_Praxis_der_Programmierung/ue3/loesung/array_1.c +++ /dev/null @@ -1,49 +0,0 @@ -/* array_1.c - * - * Adressierung von Array-Elementen - * Indizes vs. Pointer - */ - -// ACHTUNG: Datei enthaelt zu beseitigende Fehler!!! - -#include - -int main() -{ - - int i = 0; - int ar[4]; - ar[0] = 10; - ar[1] = 20; - ar[2] = 30; - ar[3] = 40; - int len = (int) sizeof(ar)/sizeof(int); - printf("%d \n", len); - - printf("\nar: %p\t &ar[0]: %p", ar, &ar[0]); - -// i) Array-Syntax - printf("\n\nElemente von ar, indiziert:\n"); - for (i=0; i<=(len-1) ; i++){ // hier ergaenzen!!! - printf("%d\t",ar[i] ); // hier ergaenzen!!! - } - - printf("\n\nAdressen:\n"); - for (i=0; i<=(len-1); i++){ // hier ergaenzen!!! - printf("%p\t",&ar[i] ); // hier ergaenzen!!! - } - -// ii) Pointer-Syntax - printf("\n\nElemente von ar, referenziert:\n"); - for (i=0; i<=(len-1); i++){ // hier ergaenzen!!! - printf("%d\t", *(ar+i) ); // hier ergaenzen!!! - } - - printf("\n\nAdressen:\n"); - for (i=0; i<=(len-1); i++){ // hier ergaenzen!!! - printf("%p\t", ar+i ); // hier ergaenzen!!! - } - - printf("\n\n"); - return 0; -} diff --git a/2024_Praxis_der_Programmierung/ue3/loesung/array_1.o b/2024_Praxis_der_Programmierung/ue3/loesung/array_1.o deleted file mode 100644 index c1f599eb181e707d3e71959dbd03bfcda75c6376..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16656 zcmeHOeQX>@6`%9P@kf%gn~&lo&@3UYoDy%Gq;Z|3Ztv_nXHA_CQac2-$>!`^+gHwa z?%iIolZpg6sd_SQ{Ra|NB_!G+C=x; z%i#Mi@fooc_$3mvRFGRp@3&yVlb_2%&Xyp7|LIM z`>oc8u9kR?yr#Zno_h9$ro**AMcoqkpbx8GUx%87A-!V!q7Ug}B?tngfN&XLD+}Nl zZz25dMeyT*EAVla1OSQ?1pZU-*;oJ$sjK z3}8`BPnqGQsrQAWak00pwW(R(u5MR%3ca;`pB^!iMo%Xb*SB(6Xm5 z5hqLCQZ1+`V=IDdWL+h`Rvx$l9+2^PNw15R;gxKlzVLm-AVB4QsGgppjnH$>BmhB7L}RGhVvVsgGwN|Kqp4=K5{Fsn{UeGJk8!+zMts3}jdTRvS9!(RN)= zzmNCEBS!;|295@f1#}n#0`C-g59Qr8vU&H*&48N$Hv?`4+zhxGa5La$z|DZ00XGBx zR~hioTd3-YQZCBF$=ynIf0=T3IQdB3QLKyd@=(m^GvcP9Jdubi;p7%28jnOzM2)1m zTU1BNKqC-I8mW{K2fiQP)?q1NmNdHIonf3TVTJ5j@7;s%_3*vfcR$Q#an<$~&>sSw z1lkVt(sVX^9%$sx+3Y0H^FX)2zYVyu#^O0~NO%S+J?od3l#Y5zDiOy$15bnf=TU)5 zVSOPsfgJU#K)()keU&Y~sxMS5`)cWF@!+~W_w3lT5n;3s!bbr;ewT34MzQ9rduplX zYZxlo>+?V6YY6!20=}9ipVH*30{tdmseB)bc^Cyh*o<4;47eF^GvH>x&48N$Hv?`4 z+zhxGa5J!226&$&?~CL$1k>egNEvI0&kaPk!w1r@%oSVV&eW- zEd3M+Xr*Ga8O74eAcHuC{)&RbkadsTX$K@_v82k{AAq z;C<`)xK~W_1+@vhu=BgLKmxt6)1SwYO&#`sFBLrA^6?VE*Cih>6?{GO@iM{VBp)x& zji-DZMz14}DEErxLMe!^5C;q5zTCNteE$`K@6&u7oG5n0s(axf!2A8}QZMXCf4!jo zs@(a7eErpe@ArIsjVLs(yy8y5`>yl#;coQX5v%TnyRD`mzE(68#Q7;S?+fq0CE}y( zJYv=Gc~>NSV$_jm*xw-WF$exx!uk1Wc@g41sCdMDJbb^mNPJ;_`p8f2c}$K5rT)S^ zKL>cB_!sNfi_*_Z@dgI$D24pIB6U_RxQ^q1d&I))_$KM|?*KP(T~-#3t7++H;q@JZ z4iw>2-I3>|fUkt>;-}voU}d=zDhk!@=5qJGiB`{3wY$NWrC=j4BiVDtujDq$S@ z{ZO%$Go*i<^34BEZN%=t}hU#|+bmsQ2yI4ku6w zDdF*zs2)xx!-G2fU!5Ej-N|sDp-0kveS=_P<8;t8^HeRfZ4i~Nw;T%W3+bW#K^+dT zSIS@qtQ5`*!O6a}ecm$8}v>pJh zNHngeQwDT;K3>cm@SUj?xsk_%bRA9samw&`P{A`l`KOHXLlbIhu+I#40yUEs?d2LA zQ8JSKLX9U(Lk%>w)|%lS;(Fp~wKE-sb79elP?75mr+S4N8H|HJi<(JG@`RC0MHBHn zMh98ah=tLBYW*=&sIr?XRMnmYu%0sH+w;7Q=_Xbr>a-66ehcQt96!(Rn6f>uA9$Y5Zudh4*9vUU^FXF! zq=@Sc%oE%5y#6p?IHhEJo-Z=x^$4iQf%5+cVGf+YbBV)Bw|WIkDt`+h>0-IqZ2} z&Xm`Ytncjq56C{(j6#}3PZG<7<7WQHP{I7MJw - -int main() -{ - - int i = 0; - int ar[3]; - ar[0] = 10; - ar[1] = 20; - ar[2] = 30; - ar[3] = 40; - int len = (int) sizeof(ar)/sizeof(int); - printf("%d \n", len); - - printf("\nar: %p\t &ar[0]: %p", ar, &ar[0]); - -// i) Array-Syntax - printf("\n\nElemente von ar, indiziert:\n"); - for (i=0; i<=(len+1) ; i++){ // hier ergaenzen!!! - printf("%d\t",ar[i] ); // hier ergaenzen!!! - } - - printf("\n\nAdressen:\n"); - for (i=0; i<=(len+1); i++){ // hier ergaenzen!!! - printf("%p\t",&ar[i] ); // hier ergaenzen!!! - } - -// ii) Pointer-Syntax - printf("\n\nElemente von ar, referenziert:\n"); - for (i=0; i<=(len+1); i++){ // hier ergaenzen!!! - printf("%d\t", *(ar+i) ); // hier ergaenzen!!! - } - - printf("\n\nAdressen:\n"); - for (i=0; i<=(len+1); i++){ // hier ergaenzen!!! - printf("%p\t", ar+i ); // hier ergaenzen!!! - } - - printf("\n\n"); - return 0; -} diff --git a/2024_Praxis_der_Programmierung/ue3/loesung/array_2.o b/2024_Praxis_der_Programmierung/ue3/loesung/array_2.o deleted file mode 100644 index 90b314ed41d5238abbead07be35807554e49a36c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16656 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 -#define LEN 10 - -int main (){ - int ar[LEN]; - for (int i = 1; i<=LEN; i++){ - ar[i-1] = i*i; - printf("%d ",ar[i-1]); - } - printf("\n"); -} - diff --git a/2024_Praxis_der_Programmierung/ue3/loesung/sqr_array_1.o b/2024_Praxis_der_Programmierung/ue3/loesung/sqr_array_1.o deleted file mode 100644 index 4d5da2c7fdcf9c792509ab2438e82f0b33172593..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16664 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 diff --git a/2024_Praxis_der_Programmierung/ue3/loesung/sqr_array_2.c b/2024_Praxis_der_Programmierung/ue3/loesung/sqr_array_2.c deleted file mode 100644 index 29a674c..0000000 --- a/2024_Praxis_der_Programmierung/ue3/loesung/sqr_array_2.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#define LEN 10 - - -void rev_print(int * p){ - for (int i = LEN-1; i>= 0; i--){ - printf("%d ", *(p+i)); - } - printf("\n"); -} - - -int main (){ - int ar[LEN]; - for (int i = 1; i<=LEN; i++){ - ar[i-1] = i*i; - } - rev_print(ar); -} - diff --git a/2024_Praxis_der_Programmierung/ue3/loesung/sqr_array_2.o b/2024_Praxis_der_Programmierung/ue3/loesung/sqr_array_2.o deleted file mode 100644 index 7c4badb7eea721bd7474b672c763f7d47b33ca0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16704 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 NH`p2_E&~@U{te -#define LEN 1000 - -int main (){ - int ar[LEN]; - - for (int i = 0; i<=LEN; ++i){ - ar[i] = i*i; - } - - int input; - printf("Geben Sie eine ganze Zahl zwischen 1 und %d an: ", LEN); - - while (1){ - scanf("%d", &input); - printf("%d \n",input); - - if (input == 0){ - break; - } - if (input < 1 || input > LEN){ - continue; - } - - else{ - printf("%d \n", ar[input]); - } - } -} - diff --git a/2024_Praxis_der_Programmierung/ue3/loesung/table.c b/2024_Praxis_der_Programmierung/ue3/loesung/table.c deleted file mode 100644 index c0ea134..0000000 --- a/2024_Praxis_der_Programmierung/ue3/loesung/table.c +++ /dev/null @@ -1,18 +0,0 @@ -#include -#define zv printf("\n") - -int main(){ - int ar[3][4] = {{0, 1, 2, 3}, {10, 11, 12}}; - - int len_ar = (int) sizeof(ar)/sizeof(int); - int col = (int) sizeof(ar[0])/sizeof(int); - int row = len_ar/col; - - for (int i = 0; iC>y&oFq#5}!i2@obOhQANP!UKVgw%vqO(z6uL1=|B6siuTqp%E0$)L^Socqpk zo?jeo(gfniyORCg^WAgKJ@35xoO|=`eM*hAcs(A$#V0-?P&!&^F(GO=vy&xbYMFL#%Q<0+)US6cGJ6yv7P!mM96k1qTMXn&5|AC6!pi*`NW*y z=OX!YVl%X1VMJXl?XMd#tgi^7v=AS$Xu-&Kp8`9K^W7Fs`vK~2vAk4M{ET$DVoQIb ztNx)a{ju8qL@GB}JJ?WPTmO)fO)J~vb)$dOZQa)?L&EXJsl}M9;Da2tKY9L%ONUag zR3CdV_KTl=^Wc^5C|^yWZaI9=hjm>~L(Sq4uf~6wL|m*ahlW)p8e4%2mf%+dS4w~L zB78USLHIaJ28f`O1bHodHk9B6ThJYI5Z6U$I<7hMZKM?CIB_gf7!^qep+h_4G-?aZ@$ zZI8v{z2=aP1H&Zq(hW#qtbPW8xs*#5-stp8xEXLW;AX(hfSUm~18xS~47eF^Gw>cV;DNVan_@wD#|Eq0 zb-rBH%$|khlNsFAN+y_>VFCJ>rgvT*%GM!WX1B&`%j2HYj=HQ`^F7O zqkS`c#z2qX?IDl0kHIGi@%{mcaG>%TZ_~=9-rqt*md$aX8{j$)V|!zu@+)37Q2ne= z4FpG*sDYZ(Wm=%_nWb8wVYs|C5PCe&5DwIZ12v6-U}K;f^cw?y`F;}f&<=iZ4eu5= z18xS~47eF^GvH>x&48N$Hv?`4+zkA`WPtZc^1eu3voPY@MOi8>SV`h@v`O^=l6n8- zI+A(qh5Jph@IFjjhhgFNf6SR_Dbwag-a|P^HYcHQ^dU1~L;O zWHIyf4^UDSUY*M88zXyo zD=cNsFDyr;e4N_fCb1rjG|}n&VxGXe!vCY**@P z>o;2!R$UZ*u)~-4``eX#@V^M&w_eQq#0|cowgw;U{PvefpbvKX^Ek4p!~XB3g2!7i zUoQB*6!U(;_p_K^CU~3_^Y<0TQ!x*t*O5nT_lXrESdw2U+Dr0*!nurM{}qCt(_$W+ z1nrDf_rZ?<@AtR2`d~-8R#Jbp;OD+rzpC)O7xQaGsd42K?-RW5x>z5c#*m${>OOed zYD)4Ch=!6p{|e3f!sl;^c*~q;tQ!8_c||~sIr0o!BqTrX;6Fq>|9)Ctgm@S#9x)#e zKkqG)Uzi^}M1cJkeviq~kknt8=QF^Uihr@|IxGFG5)lm8QA+vwp43^r;69!Q-Xj*? z$IGPe91pKbe&M+KtMs$*{!YLJc=1==k>@4AufqF6e|PXYu~bRks@uOe10S>#RDW9X z3&)QNd?k!4=lBT#zskGtIf@`(!vE1l_@~IfbKIT=zEqsw0RDb&wcy`X?&?M4F*#&J ze>TLAfXDpQQBd-Km|*l1_*B9;427U#E2l{RDCL>|2RjKo>O1rBYtmQg{Dk};D)_qw zJjUtNzX5#E)*n~rfZxD^9lJ9|*2wkrDBWWI{D^KO^=>>tl7-VFv9#XXpYDqG>oFsp z$?DPEpy*B~2m0eiJf=LneH$Db22*d!e^ zjUrV8kFG#Wy54diyjRuLea$+YT`5+K3BCC<`@(zMnu=TGAsL|HaFMQRE@b-`~>msM?`-gc~C&dX-0Oy0bYMG9SbVh2HfEn|Lg0MCss;!_0YX$JvaQ*4Z40 zqxhhX9?PcnzGy0jhj`ldgH|k&(sS83T=#s)m^zTVvRQH?4+rTwoB`sj;o+c?Cw_|0 z7!`*ml{;5e7wS6d2)27`66C<-OE#eh!Zy{Ki^^ z=Ua?CKc{A?%XP#L!w2WYY|ryD#vruW3;#Ybw-qXOd!D~BZe&G5r+qWFFEBCb0yPi)Wg`-8yY)ROIa-pI)75>Sx^eb~zp5O58^ z_B_92umP8mU7xZ3moQz*LC=(Ocp}4u@{WhUh*K=?So{;$o;d8!@YRUVbAkvMvj;5S!R6R zVSki5VBE@yB?sI;`+LD*&+~IeUQe>V^ZLI__JwYOq)GTr_TP8d^L(H25pu`i?BAOI z&5s|A`epPx20Z7D{k;s80DO3P#`8r!_v_SWnejJZTVb>3|0~SY0ttonENNb5{*Tar zV~_ji^$4G?H=xCCFG8eRXW={9|J`BF z^T`^r=Qzphf_%IU4Hyf@&-1nhvgbJ2p3=dhn1dQ}q+a0JezCtF><6(hb_>=*93qF+ tlz8-mx0K`I-(MWx9J|e24Aff^o+7Xp?w2{7zLv88a)YH&?l5qO;y>}1WySyi diff --git a/2024_Praxis_der_Programmierung/ue4/loesung/.zeichenketten.c.swo b/2024_Praxis_der_Programmierung/ue4/loesung/.zeichenketten.c.swo deleted file mode 100644 index 87687acd6d3a461cc68008362968cc1701fb0c87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2Pe@cj9LL8zEoDW8*M2JMZvNT#ohMA%qsF#O`~uyN}jcdGj_hG1H<` zm!fOfp{|{SC<0FvQk?^@b&9S*LEm}4rzT-`=n(uK`{C`({AT9&`^;PxEm~t|hpE5U z7I^jx@#<^7bSO8__-R#$qMVUIzZuy63AM9*KsZeD%9B#ZzMZ<`e^pL z^xcY7S7aDU)$8tPH4b6}Y+%O*>S3v;ziG73u`M&Ft+j;?9vI#6bPi+#Y=8~00XDz} z*Z><~18m^`HxN!Yh<~ z1OK6cf+xh2-9jwvLGt+ffAahP%RV7Kg16uecnMyBr(g-(1vkMwxCl;wX7FRL5Z}Qn zcnuzbhu{Gy0}m8|1->;2@d2!W=inJw1Ph=H20$w~44OeB_>4T?gLhyB+z0o-9dH}m z0;U%8UIg=iA2z@S*Z><~18jf|umLu}2L6qKxj7+HA{EH69w@SMXiW#c3QOtMbIXra zS&}C;oi9vDJwWXqP5f=VYVD>p7R=}{s7jSqSSmw37{5g6xPOQ& z>gb@Yfry+?of(=%unH*-&QqMaHd~2QHcN@3a!^}dDogEF0$&!Tk^xk?6;lIj#TDtO zRFjy=a@MV>&{uVtGd%{vqn&YIdGeacHnO#;r-%9+q#xzKW^z4vC{M?aktt=%z+j$i z$H}0OQY|opSQ|@QIZCJ3_sUR_OJx~qLIvG~ zyMXS{^OZUOB+WB81>9I)VbA0w6cyA!oN6jsAzJd!3yjqQbCR3quVomi!me(m5JVSt zJi42cNf!)b^^K+-H-#y0s^F_MY87psEFn=-3E7q<+I;0!>z*7$-EiGo8QR?C`8Ct? E6UeVpDgXcg diff --git a/2024_Praxis_der_Programmierung/ue4/loesung/.zeichenketten.c.swp b/2024_Praxis_der_Programmierung/ue4/loesung/.zeichenketten.c.swp deleted file mode 100644 index f505fae57e47efe85dca6e1553fbbbe78409186b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2O=}ZT6oyZAHH)gWuH`gYbcUwMOd=ARMi3Nn(Nd5E(RMMJxswbgH(_QXeo$Qt zqB{k*{sY0C8(r!@u%Q3Ih4=$}Z#s?jgPN64I2Rr!bMKk=p8M>=Ovi0s+u(ZHBaAad zkH0jdvyHWrpZ174>YhsKX5r|OrPZSg^3{j?ftAa{U_4MdODkL9R;6|2eC581gPzj2 zRhB7T4rWS|A~7HaW;QU+qSg9*t5)?~^Gva@#ET29nID%zF(3xSfEW-1Vn7Ut0Wly3 zj=zCyG)Iqcj1&1$&gIv+->&(sT*QDF5CdXB42S_SAO^&M7!U(uKn#e1V`#t+iC)eV zl~190y#GJ=|Nr$g(H{5+K7jY&9e531ffwL8(4Y-kpad4d0{D)+Z{Ra{3*LZd;3;?l zZh{M-20Y*b(?bQw5CdXB42S_SAO^&M7!U(uKn#e1|7u|OFN4S;YnLo5t=@`tsP67? zlkHe%4*#542czN4hb{agXSXpr%AetD%8YKvf?85a7 zKe{QWDB-d0_RUw~1*bu5seY<{E#CC;N%?;1p+dIei0$N#-ybV(q7BC!0P%b<$7z-X zgOQzjB^&|aXuPYkl+kU8H!j`4bQZ=ME7QiVs*d7N#Tq+q`aw@m_V)D}Z)?+E9x=)M zcS3uZ{25?coS4D3LC;T&UPSFoZ@v7M27at<*rQ^oBD7?BX3ur080(-v4%IqN2#@97 M#lur!JTx;u0LtaU>;M1& diff --git a/2024_Praxis_der_Programmierung/ue4/loesung/Hallo.o b/2024_Praxis_der_Programmierung/ue4/loesung/Hallo.o deleted file mode 100644 index bd5cdc564a2212745403b882bfb1556839a37909..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16608 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 diff --git a/2024_Praxis_der_Programmierung/ue4/loesung/Hallo_stat_dyn.c b/2024_Praxis_der_Programmierung/ue4/loesung/Hallo_stat_dyn.c deleted file mode 100644 index 2d8513a..0000000 --- a/2024_Praxis_der_Programmierung/ue4/loesung/Hallo_stat_dyn.c +++ /dev/null @@ -1,25 +0,0 @@ -#include - -int main() { - -char *statS = "Hallo PdP"; -char dynS[10] = "Hallo PdP"; - -printf("stat Buchstabe an 2. Stelle: %c \n", dynS[1]); -printf("dyn. Buchstabe an 2. Stelle: %c \n", statS[1]); - -//dynS[1] = 'e'; -//printf("dyn Buchstabe an 2. Stelle verändert: %c \n", dynS[1]); - -//statS[1] = 'e'; -//printf("stat Buchstabe an 2. Stelle verändert: %c \n", statS[1]); - -statS = "neuer String"; -printf("stat Buchstabe an 2. Stelle verändert: %c \n", statS[1]); - -dynS = "neuer String"; -printf("dyn. Buchstabe an 2. Stelle verändert: %c \n", dynS[1]); - -return 0; - -} diff --git a/2024_Praxis_der_Programmierung/ue4/loesung/char_array.c b/2024_Praxis_der_Programmierung/ue4/loesung/char_array.c deleted file mode 100644 index 3efb60c..0000000 --- a/2024_Praxis_der_Programmierung/ue4/loesung/char_array.c +++ /dev/null @@ -1,25 +0,0 @@ -/* char_array.c - * - * Entscheidung, ob eine Zeichenkette ein 'a' enthaelt - */ - -#include -#define MAX 40 - -int main() { - int index; - char eingabe [MAX]; - - printf("Bitte String eingeben (max. %d Zeichen): ", MAX-1); - fgets(eingabe, MAX, stdin); - - printf("\nEingabe: %s", eingabe); - - for (index = 0; eingabe[index] != '\0'; index++) - if (eingabe[index] == 'a') - break; - - - return 0; -} - diff --git a/2024_Praxis_der_Programmierung/ue4/loesung/char_array1.c b/2024_Praxis_der_Programmierung/ue4/loesung/char_array1.c deleted file mode 100644 index 85a1cc7..0000000 --- a/2024_Praxis_der_Programmierung/ue4/loesung/char_array1.c +++ /dev/null @@ -1,34 +0,0 @@ -/* char_array.c - * - * Entscheidung, ob eine Zeichenkette ein 'a' enthaelt - */ - -#include -#define MAX 40 - -int main() { - int index; - char eingabe [MAX]; - - printf("Bitte String eingeben (max. %d Zeichen): ", MAX-1); - fgets(eingabe, MAX, stdin); - - printf("\nEingabe: %s", eingabe); - - for (index = 0; eingabe[index] != '\0'; index++){ - if (eingabe[index] == 'a'){ - printf("Der String enthält an Position %d ein 'a' \n", index ); - break; - } - else { - if (eingabe[++index] == '\0'){ - printf("Der String enthält kein 'a'"); - } - else {continue;} - } - } - - - return 0; -} - diff --git a/2024_Praxis_der_Programmierung/ue4/loesung/char_array1.o b/2024_Praxis_der_Programmierung/ue4/loesung/char_array1.o deleted file mode 100644 index b3b72796318297b1717e9121d7569b1a209e4357..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16704 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 diff --git a/2024_Praxis_der_Programmierung/ue4/loesung/fehler.o b/2024_Praxis_der_Programmierung/ue4/loesung/fehler.o deleted file mode 100644 index aaaf40710fe1feab058ca6bc85de8a17b4c3f809..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16712 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 AJpcdz diff --git a/2024_Praxis_der_Programmierung/ue4/loesung/fehler_syntax_log.c b/2024_Praxis_der_Programmierung/ue4/loesung/fehler_syntax_log.c deleted file mode 100644 index 5e3c0b7..0000000 --- a/2024_Praxis_der_Programmierung/ue4/loesung/fehler_syntax_log.c +++ /dev/null @@ -1,31 +0,0 @@ -/* fehler.c - * - * Ein Programm, dass Compilerfehler, - * Laufzeitfehler und logische Fehler demonstriert. - */ - -#include - -int main() { - - int num1, num2; - num1 = 0; - num2 = 1; - int temp; - - printf("Der Quotient der Variablen ist: "); //Sytnaxfehler ; einfügen - printf("%d\n", num1/num2); - printf("\n"); // Syntaxfehler: Anführungzeichen fehlten - - printf("Jetzt werden die Variablenwerte vertauscht.\n"); - - // Dies muss korrigiert werden. (logischer Fehler!!!) - temp = num1; - num1 = num2; - num2 = temp; - - printf("Der Quotient der Vaiablen ist nun: "); - printf("%d\n", num1/num2); - - return 0; -} diff --git a/2024_Praxis_der_Programmierung/ue4/loesung/vor_nachname.c b/2024_Praxis_der_Programmierung/ue4/loesung/vor_nachname.c deleted file mode 100644 index 1271a94..0000000 --- a/2024_Praxis_der_Programmierung/ue4/loesung/vor_nachname.c +++ /dev/null @@ -1,58 +0,0 @@ -#include -#include -#define MAX 100 - -int main(){ - - char s1[MAX]; - char s2[MAX]; - char name[2*MAX]; - int index; - - // AUffordeurng Eingabe Name - printf("Gebe deinen Vornamen an: \n"); - fgets(s1, MAX, stdin); - printf("Gebe deinen Nachnamen an: \n"); - fgets (s2, MAX, stdin); - - // ob Vorund Nachname verschieden oder gleich sind - int rvalue = strcmp(s1, s2); - if (rvalue == 0){ - printf("Namen sind gleich \n"); - } - else { - printf("Strings sind ungleich \n"); - } - - // Großschreibung Nachname - for (index = 0; ((s2[index]) != '\0'); ++index){ - if ((int)s2[index] >= 97 && (int)s2[index] <= 122){ - s2[index] = (int) s2[index] - 32; - } - else{continue;} - } - // printf("großgeschriebener Nachname: %s \n", s2); - - // Vorname NACHNAME String - int len_s1 = strlen(s1); - if (len_s1 > 0 && s1[len_s1 - 1] == '\n') { - s1[len_s1 - 1] = ' '; - } - else {} - strcpy(name, s1); - strncat(name, s2, 2*MAX); - printf("%s", name); - - // Länge von Namen - int len_letters = 0; - for (index = 0; name[index] != '\0'; ++index){ - if ((name[index] >= 'A' && name[index] <= 'Z') || (name[index] >= 'a' && name[index] <= 'z')){ - len_letters ++; - } - else{continue;} - } - printf("Länge des Names: %d \n", len_letters); - - return 0; - -} diff --git a/2024_Praxis_der_Programmierung/ue4/loesung/vor_nachname.o b/2024_Praxis_der_Programmierung/ue4/loesung/vor_nachname.o deleted file mode 100644 index 34355f64a588dc2ae197b86c6b3c52f11e1b3b1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16968 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 diff --git a/2024_Praxis_der_Programmierung/ue5/loesung/pkub.c b/2024_Praxis_der_Programmierung/ue5/loesung/pkub.c deleted file mode 100644 index 1c9a4a9..0000000 --- a/2024_Praxis_der_Programmierung/ue5/loesung/pkub.c +++ /dev/null @@ -1,21 +0,0 @@ - -#include -#include - - - - -int main(int argc, char * argv[]){ - if (argc == 2) { - printf("bitte argument übergeben"); //argv ist programmname, - //argv[1] ist zhl daher 2 stk argc=2 - } - else { - double zahl = atof(argv[1]); //covert to float - printf("%s³ = %f\n", argv[1], zahl*zahl*zahl); - } - - return 0; -} - - diff --git a/2024_Praxis_der_Programmierung/ue5/loesung/pkub.o b/2024_Praxis_der_Programmierung/ue5/loesung/pkub.o deleted file mode 100644 index 2c267a6b70b0d16b1523fdf8ea30026725848a28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16656 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 D&|Og7 diff --git a/2024_Praxis_der_Programmierung/ue5/loesung/point_1.c b/2024_Praxis_der_Programmierung/ue5/loesung/point_1.c deleted file mode 100644 index da8ffab..0000000 --- a/2024_Praxis_der_Programmierung/ue5/loesung/point_1.c +++ /dev/null @@ -1,37 +0,0 @@ -/* point_1.c - * - * Datentyp eines zweidimensionalen Punktes - * verschiedene Methoden der Komponentenselektion - */ - -#include - - struct point { - float x; - float y; - }; - -int main() { - struct point p1, p2; - struct point * ptr; - - ptr = &p1; - - // Pfeil- VS. Punktschreibweise - p1.x = 3; // Hier .x da p1 ein struct point ist - ptr->y = 4; // Hier ->y da ptr ein POINTER auf struct point ist - - printf("\nx-Koordinate von p1: %f", ptr->x); - printf("\ny-Koordinate von p1: %f", (*ptr).y); - - p2 = p1; - - printf("\nx-Koordinate von p2: %f", p2.x); - printf("\ny-Koordinate von p2: %f", (&p2)->y); - - printf("\n\n"); - return 0; -} - - - diff --git a/2024_Praxis_der_Programmierung/ue5/loesung/point_1.o b/2024_Praxis_der_Programmierung/ue5/loesung/point_1.o deleted file mode 100644 index 783675c1b230c5df28e4c78171c09f89a17bff9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16656 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 - - struct point { - float x; - float y; - }; - -void move(struct point * p, float newx, float newy){ - p->x = newx; - p->y = newy; -} - -int main() { - struct point p1, p2; - struct point * ptr; - - ptr = &p1; - - // Pfeil- VS. Punktschreibweise - p1.x = 3; // Hier .x da p1 ein struct point ist - ptr->y = 4; // Hier ->y da ptr ein POINTER auf struct point ist - - printf("\nx-Koordinate von p1: %f", ptr->x); - printf("\ny-Koordinate von p1: %f", (*ptr).y); - - p2 = p1; - - move(ptr, -5, -3); - printf("\n Nach dem verschieben von p1:"); - printf("\n x-Koordinate von p1 %f", p1.x); - printf("\ny-Koordinate von p1: %f", (&p1)->y); - printf("\nx-Koordinate von p2: %f", p2.x); - printf("\ny-Koordinate von p2: %f", (&p2)->y); - - printf("\n\n"); - return 0; -} diff --git a/2024_Praxis_der_Programmierung/ue5/loesung/point_2.o b/2024_Praxis_der_Programmierung/ue5/loesung/point_2.o deleted file mode 100644 index 048ea0aea8a42ba48bb08b4d4ba2d40d598f45b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16688 zcmeHOeQX>@6`#Aa6X)yfd=)2wW)qUi0r}#5IZjK+o$Yhh)cGKFLV+fmv+o>V>$@{| zd#N3u1i4h45*H&?6{lY8+~5ZfxEd%4I_9t$ve#(%rsuuN4xFFG(%Mya*RzB!6S>v!{>u=Kt_w z?1{~9e(S!+L-U@EknT)eAG8 zPx31lizusqO*~DZubj2`7r^(8iGy{2>@1u+pch`(M=nk7?(Q0`K7whlK00rqMYdjp zVsY_4*j%q&jzyF{y7jAI^wH|)h-|rOE=G7Esw2Ev#f!DekCN|GOrie?OMla&MAqEV zPu>aWg-QM7#5Ub`Mn8AQTm%Qz?4YK2vCnEp?2m3;2a(FJ-K&pmeKUlrUbt+|)sJmm z0DPhmU7F~}&zb63;C=hWPUw|SLbw+;dg0SI->ID+y^fz9llrkJxH^kd!c0OGt{U5a z%F-XXs_CQANxficRxhtritNR-dVvjutJoaUkBy_ddxA=RpYlC%^iHwJ!f+K!ca)?( zwv-x}V6AySh7@5{{}5C!{A8jH!NcWdGJ;3+7e*8}LbV$EK*`-gmY{!@Z`s_LHDkV+b%fL2gE0JH*;y); z^_5x$4bngRr(&^*w1agW!TJx?&Uw7%sM@ylf%k1#wUS`6r*FmQp(o!Y2`5{M_q%A% zvX2Dop7OWNoADR|V)>^)Ux9oHt^P$GSmYxO^7&<4zYCYKW)C@h?GBR^}F#Kq+B@%3k1RGj|T5GT#`mMnl>$~eEn4gCqYQ`&G2D}V- z8SpaTWx&gTmjN#WUIx4j{O@Hz_DRaVNSWIUohx19jhFbkXO-)`Np%VHvj1`!^Rk9n z%Dn8ur1cCHk^kjRF=O$(xl#5|PBJfhC!3g`ZCPXe#+3HaQmMCzTFg`kn_)+Wi4&sp9LX)xR;e$A?vmm;7Qm zW${N?evA21-0c6qO=MrWyWM6U2OUgBF8gPOICF89epQ+@&l;br@ z?q@kZOUXDX$7h$uQ#p>&>&hd^18T0)D&q6h?uvM@bS|UZf31?|v>b;M&579c0A2#J z-`^<>(2n#KPDJzgB6dB1r@f&fzC^WD z#N{n?*B3p1Rq9&tE@Ic{edkv}HRj4QHY8a1xC^JWkiNV>Z7)h~M#ZP@#zXB<>A>Zy zkRLikKz>T^V^T&L#^qB}^ZX^?mExbSUoTjG7AX6_O<)|QlAjZneBqS)coMh|Z&~+! z{3+|Z$HN5+pE|B4Ek9H5?>IW($0;KBb1?(>0_10s|L#yfsoaB#X4T4nj#~KCak3sb zyC^eg2VRG90ER2=0=)<4MOS^k%K1~}=v^Y9DS&-3{S>wk^#_Zo1D z)2;soaLv)4RBr=cDU5?I@!Ro7<$Q+7db4KE%=h($dez;dC5D+Ydg*XU4hKu(8RO7E zrYAOF#LY}LXT2ZnN2YTFMvb0a_Ac*oKJVrd1G5TZaI34fl+yyOsB{1^21Uh{;UdkN!o?MRISjUD8 z1E+%|Wpr$);#r{b(?{i@r80*TN`-R6DKpjsYG!TPFE!ksM0QYx(it-minMk%nz2L7 z9ZKgzJ^3UKjV0qML|lI?*RMkH;WYf&)Xdrv`g)Pfq{|osvTR}?Mh09P957YL>T3wq z(4h=iGckl;8f8$*Soa{5=;v|OABPj+Y*TxH*%neq3$awP7tLo(@{HioyVou<4-+c$b{1Q@QYZReT+Xvg?sJA3DLIO~w**>;iql@^bwXE( zB2%}0JMbHrJ4^gB{}U?qvc8acytv(o3aur?Ugn8H$61lqBa|nxmwEp_U^L|vdznuP zmGuf#tU^AV?bY;oSfL diff --git a/2024_Praxis_der_Programmierung/ue5/loesung/point_3.c b/2024_Praxis_der_Programmierung/ue5/loesung/point_3.c deleted file mode 100644 index c7475b1..0000000 --- a/2024_Praxis_der_Programmierung/ue5/loesung/point_3.c +++ /dev/null @@ -1,47 +0,0 @@ -/* point_3.c - * - * Datentyp eines zweidimensionalen Punktes - * mit Funktion zum Verschieben - * und dynamischer Speicherverwaltung - */ - -#include -#include - -struct point { - float x; - float y; -}; - - -void move(struct point * punkt, float dx, float dy) { - punkt->x += dx; - punkt->y += dy; -} - - -int main() { - struct point * ptr; - - ptr = malloc(sizeof(struct point)); // impl. Typcast des Pointers - - if (ptr != NULL) { - ptr->x = 10; - ptr->y = 20; - - printf("\nx-Koordinate von p: %f", ptr->x); - printf("\ny-Koordinate von p: %f", ptr->y); - - free(ptr); - - printf("\n"); - printf("\nnach free():"); - - // Dangling Pointer! - printf("\nx-Koordinate von p: %f", ptr->x); - printf("\ny-Koordinate von p: %f", ptr->y); - - printf("\n\n"); - } - return 0; -} diff --git a/2024_Praxis_der_Programmierung/ue5/loesung/polygonenzug.c b/2024_Praxis_der_Programmierung/ue5/loesung/polygonenzug.c deleted file mode 100644 index 8fe9cf7..0000000 --- a/2024_Praxis_der_Programmierung/ue5/loesung/polygonenzug.c +++ /dev/null @@ -1,166 +0,0 @@ -#include -#include - -// Definition eines Punktes -typedef struct Point { - int x; - int y; - struct Point* next; -} Point; - -// Funktion zum Erstellen eines neuen Punktes -Point* create_point(int x, int y) { - Point* new_point = (Point*)malloc(sizeof(Point)); - if (new_point == NULL) { - printf("Memory allocation failed\n"); - return NULL; - } - new_point->x = x; - new_point->y = y; - new_point->next = NULL; - return new_point; -} - -// Funktion zum Anhängen eines Punktes an das Ende der Liste -void append(Point** head, int x, int y) { - Point* new_point = create_point(x, y); - if (*head == NULL) { - *head = new_point; - return; - } - Point* temp = *head; - while (temp->next != NULL) { - temp = temp->next; - } - temp->next = new_point; -} - -// Funktion zum Entfernen des letzten Punktes aus der Liste -int shorten(Point** head) { - if (*head == NULL) { - return -1; // Liste ist leer - } - if ((*head)->next == NULL) { - free(*head); - *head = NULL; - return 0; - } - Point* temp = *head; - while (temp->next->next != NULL) { - temp = temp->next; - } - free(temp->next); - temp->next = NULL; - return 0; -} - -// Funktion zum Ausgeben der Punkte in der Liste -void pretty_print(Point* head) { - Point* temp = head; - while (temp != NULL) { - printf("(%d, %d) -> ", temp->x, temp->y); - temp = temp->next; - } - printf("NULL\n"); -} - -// Funktion zum Einfügen eines Punktes an einer bestimmten Position -int insert(Point** head, int pos, int x, int y) { - if (pos < 0) { - return -1; // Ungültige Position - } - Point* new_point = create_point(x, y); - if (pos == 0) { - new_point->next = *head; - *head = new_point; - return 0; - } - Point* temp = *head; - for (int i = 0; i < pos - 1; i++) { - if (temp == NULL) { - free(new_point); - return -1; // Position außerhalb der Liste - } - temp = temp->next; - } - new_point->next = temp->next; - temp->next = new_point; - return 0; -} - -// Funktion zum Spiegeln der Liste -int mirror(Point** head) { - if (*head == NULL || (*head)->next == NULL) { - return -1; // Leere Liste oder nur ein Element - } - Point* prev = NULL; - Point* current = *head; - Point* next = NULL; - while (current != NULL) { - next = current->next; - current->next = prev; - prev = current; - current = next; - } - *head = prev; - return 0; -} - -// Hauptfunktion zum Testen der Implementierung -int main() { - Point* head = NULL; - - // Testen der append-Funktion - append(&head, 1, 2); - append(&head, 3, 4); - pretty_print(head); - - // Testen der shorten-Funktion - shorten(&head); - pretty_print(head); - shorten(&head); - pretty_print(head); - shorten(&head); // Sollte -1 zurückgeben, da die Liste leer ist - - // Testen der insert-Funktion - insert(&head, 0, 5, 6); - insert(&head, 1, 7, 8); - pretty_print(head); - - // Testen der mirror-Funktion - mirror(&head); - pretty_print(head); - - return 0; -} - -/* - -punkt (x,y) - -shorten(input: head, output: int (-1 nihctvgekalppt (bei leerer Liste, 0 hat geklappt) - free(speicherdresse von letztes element), vorletzten next auf null setzen, - -next von next (übernächstes) -wenn liste nur noch ein element: head von nächstes auf null - - -insert: (input: head, pos, le), output: 0,-1( --liste leer --position außerhalb liste pos> len(head) -- erstes, -- insert: nur elemente an position einfügen, die zurzeit schin besetzsind -- nihct letzte Element+1 als position möglich keine verlängerung sondern nur zwischen vorhanden elementen! möglich muss zwischen elemente gepackt werden -- - -mirror: input:head, ouput: int (-1(leere liste),0) -randfalle (ranfälle als komentar: wenn nru ein element, oer leer kein mirror möglich) -1. leere liste -> -1 -2. 1 element -> -1 - -nxt pointer auf vorherigr le setzen - -pretty print - -*/ - diff --git a/2024_Praxis_der_Programmierung/ue5/loesung/polygonenzug.o b/2024_Praxis_der_Programmierung/ue5/loesung/polygonenzug.o deleted file mode 100644 index c10245fce005dc86bed2e05ee1eac27bb1315317..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16968 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 KjmN;lihlz%agSgC diff --git a/2024_Praxis_der_Programmierung/ue5/loesung/typfehler.c b/2024_Praxis_der_Programmierung/ue5/loesung/typfehler.c deleted file mode 100644 index 03ed20a..0000000 --- a/2024_Praxis_der_Programmierung/ue5/loesung/typfehler.c +++ /dev/null @@ -1,31 +0,0 @@ -// typfehler.c -// -// Benutzereingaben mit Typfehler abfangen - -#include -#include - -int main() { - - float zahl; - int status; - char c; - - - while (1) { - printf("Geben Sie eine Zahl ein: "); - status = scanf("%f", &zahl); - if (status != 0){ - break; - } - do { - // - c = getchar(); - } - while (c != '\n'); - printf(" Typfehler bei Benutzeingabe"); - } - - printf("Die Zahl ist %f\n", zahl); - return 0; -} diff --git a/2024_Praxis_der_Programmierung/ue5/loesung/typfehler.o b/2024_Praxis_der_Programmierung/ue5/loesung/typfehler.o deleted file mode 100644 index 28fe9b0bdc732aef723b45fc73e477a287541f7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16720 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 - - -unsigned long long explode(unsigned int m, unsigned short n); - -int main(){ - printf("2* 2^n: %llu", explode(2,3)); -} - -unsigned long long explode(unsigned int m, unsigned short n){ - return m << n; // n mal nach links shiften m*2^n -} - -struct Node { -int data; -struct Node *next; -}; diff --git a/2024_Praxis_der_Programmierung/ue6/loesung/UE6_7.o b/2024_Praxis_der_Programmierung/ue6/loesung/UE6_7.o deleted file mode 100644 index 69ef5b07c677d1cea73dfd2573d62d94dbe0034e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249826 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%0A41H|r)?2>_-T}IOa$^`ymX|XJ1O~A_wt<= zG&k|q1nW<=oJZu#oU5E6=7C%r;VS1RNU!mwKXHDIbW)z3|F!c6q&>d$55OE^_P5iH zk$6nePl{TkUQ;3|PP{hmsJGp3V=f}Nz*K(Fz90k}JX3-Z%nV+{U|H}9 z1`9*p2yyo0OI9o_68chpxW5s+ZpEQ?xxRyZtM6PV@FNS3i0tftSIt)^T&D;;<@(7L zHq5Pwpjx*z9&rT15ot}dpw4B^2zA`Eu^n6F)cb=o3a8y#Eypmte$~@|M zI~bX72d@YYw#mv@D}uKWx+VD2V6VSQzWOxyE5g4D{wCOCwV$uPA-B4NTgyWHli$x0 zdkoYG^*hD|!+_rQ0RPd;9_pg|X-sSNbkOV|_kSFjjtco|c2IthN8;5(^D#i^Sq}^l z8tI|3L!Jx?%T#tJMmnnHt0zMy1NQGCu*o3{LoAx0H1!9~FQl4V=)!MVWM<{7Wg#Dg zK$7KS>PI<|39`DO)jdH7_5>XalA;GmMK?_aFrceclzh39%rYISpIp=2Mshwz@LRX( zL4?C%G|5*-Ju`z%PnCQK*fKmP74ue#-^!TjvG?lW40k*F?Z72-ca~ zX`*arH4ZsHYS=6%>6qm#bV3ob4L!Bh55`y%zv3%}urzj6Q3KG}V5I#T81<7oBCBI3 z{~8IHqb6WAn;01m)ue?#M>(2cwG)VM^(^h|t4ghQS6k*YT@llY# z7KI{Hr_eGT9hU@&l7$gD~M*_1?LAAxBM6oQ@w|PC+}imLNM1@ z4g*7dVjN^})cA$LZ^lz(Tdp~u!Hecw2rwC}MS+V%;J-t;hLE8XoLhylTM^2X{sLI(wCP=_?Y-(InpZoZ4%JPajizKh*F z0MdLHyLkYl`7U>zqNr4Ch-;EZ1*2 z-*+169vJp}i46IBiA5_%B2f!b0yMDz`nT7)kEwkuBs#fjKM7H=Wim37d!z1Itn7iJ ztd_ZV1cAUELBAm2ly#_M?wlYP>^T61{ZF&$%2OrYQ>Etrz`9`WmY{R~tq0Pl-PnqC z#)f7?P*G>Xzru2?= z%|ye*!&$Hgp&(AV<)9is--e>Nau3I ze0^7ra5NBJPm6%iTLfYe5-g?SwB(evN;6M|$Dw}NdU`<1*7FZ%(#^=YIa_N5L8ETI z8=$+hoslm%yH@vc0tr3OZW|?o1GmP_DWF=VWZjzXxT0wFXuWx=P$Y+`3hgQ^9_C3{ zJgod;N4|qE6$_mApw$tL_M=-sbF^q>%e-^~8C_I#L$I_VGkj{FHBwY`G89}gGc1J+ zR1I&!B)_R8YP4(xs{dQHSYy@_tk&FooP0Qb^Vyq$NdLoI8CwQ&;VRs^^-(eR8fz&Ygjzfd;{yf&yckpi5($oNHp{Egof;)U*~c z1-O*RM{kUEp8mGB${J@+;N0H?ecRvU=q*5f^p;b%Aa&}NF}H$}F}F^;6~Jk?9%bt2 ztv}w1yqu=*wm|CL7F)>PEiF#8L+V7k)9sKt-EL7wq!x92r=yu==Bsx)uIY#>YdUTs zcvHt+02}#gSH}YcA7F3~f>RoNs^dk1FLr#Z6TokETGL68tm(9+6Tn+Kfn{QD>z?7; z>Z32s2>NxdiIG=D9cp^CsrjEc_^O(1ZU)*mH`~$7dA~Z|>{q6KZ8oksQu%FHwnb`X z+f8ke`nm0ewo>KA+m_rWkzKd#)sabeymSX7=Wx3d?aa(@?61&a^FN+^HMbL}?E>mf zAt;feBINz)1V#o@(HUdC@D_;Iid!&FUDZ#wOuZGsv|Hb2kkj;FQv^qwE^LNiVY3y@ zg3}$ICh?voHS^VuW@iZ<*L-nv1dE%$(L5k?U2_a3_8KjIWN@zKoMZ&6lGid=oBU03 zK+*4#$Fu@;ZmahgeBA1L1{YeLZjB(f?c%lwHnly@;6mFuw;@<^+b0b6-u4}X?`}JB zTL8A7Zd-UepvQ0De+Pn>+r82b!7J_FX%|rDbi2!hE@}T^djy}hKg8f<`w1Noo~d-f~PrBmhW$JlbPi0Oqoz?Mnbt3`4pK_ zMf22p3N`Fz~l$OuI0s+&R*(b%eRxwCom0HC4Z2N^amJcN$0lBZ_DNu zVb&UrV4`Av8jbVO;6+Klg^5Tng5Ej$8@gHy4TCq-AK*xWVer8Lg&Vla;R)O6JzDu6k3c=h~n;3lD>Kua$t)6O&Ah+#W2AkTRVQ``C3%4Oy za@$S@dohm?$o#oaExi5s?Pgx#NKB*!cL4m-9bnRZVA3uI!X(sezpOn{GJ);`lMZ!2 z>QIN{9aLWKsC;$2!=#P?%;2C5Y0S35RKRIr>;(TpH@dmdjhxlZ(Z{X{hI!x=$@^Gviyy?mFu3b^}vYA zuDhfzI=-at%6gdnE9Uw7gI8*PO1vpnPyFLKf^aMB>npfBRnSo&H4iq2ON8X3^Kdld-)VI(3RDRtT>zaAk z@V{7h4H2xVTPSJER6zc_NcYZH?=ruqmEW6NM6{ZZJ{gaNqf_tKH8R7g&GS*t$gNt0 zK9!xYFadp8nDBi9`tp6k@dVwM;|Z4uznn0yHsJGW=hrS~S*}ailK`srBpgcs>6a6x z)JAGb?fJDaB6>QgXA|ZnNDt;EtYX7&tHZ#da#W7J*|AZ2hW1CpvS_etLn~t z(DzP4P^M0>FVCWezb|S*?Jc!I?UvfV*8#P^*STD$7_}#AkEsI+#?;wc2h{GZbBd`` zb^eQ#P0iZc8*2--8*3k8Uk=qiA!&d99;89-9_IJ7@@;C@f&%h;OYLuJTl`*&a+*dE zJgLr$ByAZ9pomx?@%R(Sh&3{5SCAx?2COh2G!zbIC)L`oCnn#HLNX_Fl(a&==&)1Z>jhyo}F9GDk zg~pz%g|0qV>q0HC?Lw{J+4S$4pq^UN#D~dd->vygP5KYNA&y>ZVXcL=fPG=DH)^4+ zH)@@)WoE*3I1e0n+q~UZUsC}QwXM=il~L!V%3oB5IsZlFpPBl(^1D@$dbjGzs=^Jm zvg(nl>_yeWYJeA3+gwed6|D*yTwzU#?kfE8uS!?Ov>e z{#~quc6;b{yP(}ARgqd*^^>Z|`=sioYDh^NJXZuKO_4b=eHpxFe#=4z;HD=Sq1 zZkfYDNMZcPWZTE_yCiLKM`Z`E4F-5^@Tp+U4u7rZwl|HRxaa7H$^hza2{|18mK7X~W!j~0{%xJZz z!odp2K3L(q3T8UE{z|3ySx$e{_6jE|7+E-2s_ zS6qQWssePrf;Wq&zSbUYa>b<;0|C}X1%xcuEibRI5|MNW2uLfH8Erc@Z?KkrY1Kgo zPTXWCw9#beG^b|6G#pC=Fikl|VyH$=cA9xBN7=9phformo>+-Uxfs!%J?j#IU|do%oIo$5Z>St{=l`jRX|4@h5d7OC-q^8;s* zIv;?zqLuv3IaJ-I5b}?l1@veaI5&a|{nSQ!s&NDX7d4WBrMDTs(!cntfs-TnHE=`{ zlI6G|{&7dO>QJT2)W=AV@})1SZ*YkwpgyB&oADDo_v$B{-avQAAyjX5NxjaS2CutT z@&?aJR{>K6F4Xs*D5B;Gv}#5fE2U8)H2VfyifHht|$P}QO^%d z{opz2DTB4q?EH+r34(Z1g9N7|HY#78^qggxv!3&)VdFsvR3Cf5l8-&#^U}ljM3o|_ z&_9@cCt0DWT1BM;F8pRzS2f@L4sTJs!&??zam!*IQw2c>m^u*j6cIj!D_1p!*3l!sAEps zzk{^e?)}CKr^+|p@4Ohm@4UZy&7simQ$pv3Lf_9rcja7mL#aKbP;5`B6Quw?Q7StO zoXrlK90o7J2VrZ&%u%ScHf%l9>%(@0Nu{NwH5lNj;Xrzr97|OTBVLUFaC5}|2mtp-9E$*OT;#Y&2_{BLOA{k!Mh0buPFK+S zYG&jt4V@D?CsG=IKe8|ql?x-c>h#vgldL`~YF3owuZ~(Dh5YqVg;D7A&Zs>aJSloo zwB#>|UJ~t0B@=~JssJ)TM^-`Txlo2v!&ijUZFD?*VFW@JRK~=Tj-9^=!}wbc7z@ctv=F`G!i?}_@p{gzIr54WE4el6g1Q*v0&c7>8eO; z7s4-vm)zQ=@Tn13v=&!FYf~c@MqJUF6fEAF^d1}#r#o2irk5+04q{>wB4 z4Y^aI^P;76Ui2J9kUu9npBXPw{<^Cr(MzMHk)_eg5a9|My_^}VqM-z+@Nrp7f53RP zirwvr4q|fl)P2EyKTfBfAR7v(rzW!}$l4jDT}Q%O^-jn^uM0NGGaiWe@={jx-BR1_ z=+y96BQ(?+EVhejVd<#JUg)TT&~2dzI5!X+55IuG;k4`{J4BrVJ(WVf3^7{gt1m-P zxwEd^8I`BX#F`rZVz|)`o&+N6tda4IQ_BL7O!m@!%O)Ahd_>4bk+vj;5~*fWRo$n# zai3-byp9~L`!pLY2jGsd@572LLubQgmJS3++iGd)wWVbl`ndE3iD>p)-)dX*lo*K2 zl$d#C!Gn2amz0He$C9(8>-;%xOv9gaR3 z%LPa;3LTE7!ap2+DcZOL7G*R_V;uw~*agXCI1CWI34|e(5m3j=WXA;xk(wO$dJzDM z!MIr$_jMc^|2}RSq{I&rK_f80*FwB1yTRfHVC3Qks~V%)s>TJ4Ayoy9H#CN{!A987 z`0blXJ+@PR=%3FXn{7{22iExIDNqj32gZx(FdZyMVewn1Rzf3xigeCJp z(s2NuNBQGP=aRsQb4f>e(tNbx4-HZNhlW2f^;5$O4Ml%lX!u@Zq&GA^$>3z;3yo3e zLgR%uA+_+PZ*J1Kzqx7B%>Ycgc>#}=7u@{%%^Lpt&FBs2m86wE~p`sk*>CO^7q^G$yGHe)>fEL{LO2qMTk@#UEARi{KO*GTn!|p{ZR@Q2WJhB9JXN}tDC0Wwwt43IZziRaIjaYmx zG@g1Byb-=hDiO7$(Y8jYzpc?1je>_eY(K&mjrKHxdn%p2&^?WgGy=It8XafBbB)e7 zf-jT@AL@LgCvWumWGvz@-Y~5p6!HrVS2EbpcuQjhTN;1XxQJHT)%aV&zioW92;A{C z=3LS1Cg8De%QZzo@lR1RtV@nF)F}Xp@DF95=U)DKW0{FAFEigW&CEyg)qCbDR>H!# zN`0%4^DXK!hqZmWN{u&W@kY=rTnsWEi^k2MrxcPi6don&j<0W(@$YD<3R_6nXHRSi z)ly@(0WZXE;}pFDr;HhG#a7Ci=Y9JYbp`03R?9Gkw^+MAyX(P*%(} zq26FGdZ8EZm|f-8H7jzRSx}cr?3VHj%J`XNXRH<tP^Lqx;QCsGbdyX!l&Tt8hCZ^47K1KJy_OYooPU{-@5hqF>!EJB|2aXSHjV}dc zkhVB?;hGmlYnKyc;Y&wZH_G0qoqx77E_n#@hK%O*%hAqRbOOwAE@!}NVga5GmD~%! zUT^cV=i4ZuWl{>+UJR9-33@Xn4@;}$$$h}l#HhP~M)3GhihA0)6dkZkH+6?p98IMD ziaeXAsH!`9aU*D#%no(TCU`Dti zh%*8viK-Zng5)28z!VWLh6U1fZ$S19H`7@NjS+v z!>*XO31eylFsAmGJS_y^%i2c?I9mHK599ziTqnOS0Qq&7*VTaKb(huyU}?SMJYz+P zd?&72;>cWWH)goZye~(BiA(5zTLSJ$#!lA(oiW$_ z3htt+SKPn2CF2+OB|hMD$-TX_RGbq1QM5z~z(t8{uQ;!gL>5*$T2&&at8T9*k=*L9 zSC_~suuCFjlSIfKiI6Q4Av+|pyzZoW63MCef{q-o_i=qf{!G{ZWLe=9{E5!l_|nP^C31%n zQ=<3A0I)aaaEvZ-IA%jE02^X+%EE<|Q}z_MbSQYLY<4*Svdb+fkL(5IMNR?VS0S$o z0C`o8QceM&#G;^xD~QwL3b=?Xu1{)l1t2H>R6J^)ivOyHuK87si#1U5VhxdBlqjfm zAps>WU|4jCF|}vaMu}OqS6hJ9wYL$lt#&@e6;<-*^k{07vQ`Bj8xwpDe&n zbuZK-(t2}wD*#pI)`vj%um#$8J@ikGl~r7ZtS5#HY9SR8y#v37u6F1l!!e2sS*kr` z0L*o-<0Fjg+#f`t{0Dkm0G|@QE*5}wv8&3Od8bFJReB(h!+{V`cDXaWfE17+Kx29cP(X$t)gA%>L}P&CdI$jc3cQ!P1+}0lQbkipS`-CvLs3Zja2+r$ zRhY)~HJGIw^rt zN5VbPr|2R&6@3O%9L3K>zs#-Z%P|`<(^w}hPeA+2VhCS`hM=(743lqE8dpW?X?+3&T6-XJGT|K52qMet z9)!|B!Fx$#c8zC>MbZl*bY>G2tIS~bd#{1c+MKhU)*~m z5y*P+fI1v=IR>fhas}lOhyXmGr``j4v~h6}Y7Tj_7CfL=fCseRM|EoZ2S6}%`~zCE zKR_yAP-+i5ZyMSkn`S$-;p#H}z@is|Uf?0i3qi|+%)A35)w-ZvP|t`QFMXc&GwSRSO^(RE3KJ>{WPZhUI=?jg-3 zoDrYJX?HC!6fq1~hp|%cbpL|ULWI&M5lWmyH0j8qjuD9FJRq7>L^P?0Xi^c;q#{BI zlvLsjA;_X|_D^Iva4_gc1qqQg0K`^1t>(HO*@auI7>X;+p zKP#wnm>E0jU#gEFr@^cAbiE26j1((qu&sd<+ty%GBFt}?xN@qcehL08#Auigk(pDC zA@p?u!!Zf3B=CsFJ}J=Cx9HP^4#j)E>I%WujD%)h>ycxjwVsVU%H8Ps47V_F6ZNx@ z{7~!_sVOCYZ>hbJlA&iUN}Pexlq^eY9*+5e%KC?x)mXBS|3kS+<;}cjN2y8W7s5UR zgnCtKyiuu;mx&51bMZpP>8b^CwWgrjL99ps9HcROj~KI(rZiD6(wG&%Q5XRdq46rM zEXSgcDnE&E0mUX5v668di$5~v!iHsy03{~^^h+=o2UO77UZ|n+uM6@s?qGuT* zM5?jD$z~LLf>ZDYaFz{#4?bQN=Uf0^xZt3uUT_f6Bp{+mKtz*(h$i9LQI24?rw5oG zzv4sfPc!CEIaCxDYcO@LJ6{g4c85M6#q{%0%c8_RyDaLHC^K)3Rsqb}0?UyP!5@xU zT9)ahFjS<#sj{zCAYfmG@zoj943P|K2m*5A->=2+eM}?CD5&+kjOg>6LOlCkjiF_U zqqPg_Ff6F^DQ3@3>Ww3H2{?iQmXbf!oz#GUNeyxu2!InwioS{&#GGvn4r;(b%p?Hx znCq_dJh}MC0{NFee*tyS%u_Jh@>HQJa|3SdW#C2=k1^}ZF=j|(1@Ba$+NU#zj~YIz zc;-H=7VeSyvfm~5q@b%}nG|GYmV{*zRvH@%%@&YEt4WZRRDNgd&#`b}y#k*+m)f`$ zJYYFhaZ)9uCRM_O%ot^v@4cbMbGh(vA;QBLSSzNpQ?sk*SGTVs=2w5EIu@0USek+* z|KD`VZGllQYs>=ZP$0;u_e?zm&v5A>`bG8MTj$s7ppeH`1Xixz@zQ+)PgwA zq_XR6`3C%a*DfE=lUr+Q(!^}@~+&v5p_)1{N4IlmvNCWk;;mXotXA7ALcy{)6|6K_SlMQitzk90a$#%enzg8MQH3g3l(WsjFKh3EuEhkT ziUo2iSV{k6@ia$F3{<7R00p!{LIrNJh_l$T?iDk0H2HN`(n;t$>u&*b2s|5(?HCI`<72K#3PzYr`_`-R|_{FyJ|-8aZwhF1+?=<$jn=r_#n zkF3ozjWz)k)Vc^2f*dV)JGGcu4VI`nEm}$pFtPR2p5y{gaIGQemy{Qz6sA4}cw-E=G)QmcAm4{U zriF?$XBX0M$R-VGJ-HCsUhRi!$oN6zbkZn{KlLXvxcNjzPW+;H1dHOi0|i)5Mnp7E z5YhV}MD#ug5xoyWMDK$pkHV1I!&D+`t^owkWHDMtZuPRb1v-UWy}&I_Xr#$4>kjgTLA@*nA+5z9k>9YiprGaq(wZ|YLC)YtWFGYbgE)_nmU+|*Tmqk{#PF|{MXZ)%fZyRf;7puf zaifGBTk6#H)sKk@%8}yAAS`A@I;U7bd#C2I^Jk(35IvjMQi{zWKljy>-s!y9Gu^ww zYo>RG(cwMI^jYutP)YBobPNU-Gb&B1jEremg(dwq9x;GCPN}-ADgtis5s2rArA196 za(z;8g%a1kB)meQ7Manea!a9 z^XiXFXriEx$AnYPo{#!Kwo6nlOv~m7;gZy&@o%|(od=zrWM{zf@ zY$QbcUEHCRRX}s~a14^G%5Ex)AiLc3atNlETLVAON;++S)N=bkZPQ zQ0rJNq>pj?!n9si5YdYWBHH@3l#2BL`4!4jgzcb-SK0KDO$7q(J$-NGJKa+Kx771t zc+Z(^)%t*-1(gGH7gYYypFYr1{a6`ix_xDx3@j!(zpt!xd8=>MqzV~rX@K# zcs4K7&h{SmLVX|h9`njYrb}L!yIoX%=(120S{AyTS8bPvzRwi*&PdVbL~3uTDR@9Y zW<7$9F*{=s?2MgJ1~YF)ne%1Lq43n6=dACIwe2nH*tg2U^U+JKpbmfogy(52lwEEi zuBpO9yqo*x-R1X}H%G!_vA_Js6_Eb80(5Y1NH$FVZW!qu40cq?=EHp1l_ypk$S zf+HLLYx)5X*O^%t;F)v?V2HTSp!ovFYfm^{p}252n%-8tfsh*>@QjN`FYW5-p)PR^ z=_P(U5>9tFvC4u`^nOoK`MLg-U()c12QDd7dV2V!XK@sOi?MD4$fW}*pAgZOfG~^_@n>-rMV+Nt$5olGP89MnpT29PY3~w= z9IqmMxXv`Pb6QV;+P>)BtC?KK_H!eLm#n5To;HwLIiq33rElBjMgs-;^Sp z>jJ}#F`vaS9AE9JY7C#PhJy)&RLTseCQMIYxG>=*31#KO3yIk>_PTEw?gh7QL&MnV z?sQvme5+Qd8(v=4}{QHpSJ)33iH??~LMe6d|;yx0!qyX*4S!)MH0h1YYzru*9Yn^PQ| zzoD3CxT9hGP;Nbm-IrqTRyn`K;EEHI(sa}{Go;4#k|D(EYB)m1~@ zeXZ_sTtIt8uP3T(V=|uyn{3Q5%yir|oMF6YJs3uhj(XF0hj#(rG2S)Y!yW048sY>a z?4g4R2d(WOdONBD3v( z7Ieq*on)$hO9@(b$2fE!ijEB(C086rp@|eUfg5Vwaer);)67yho@0}E{}r2*lQTb! z76AmW&i7$Rz(BU9gAa)`+5GueQZ~!F}2n zac8jov2h5n3xG$NcY=9=9wxOW_N!P}F<-?l=K<;RGGpWTF4l-)`D$$3B3{W~6t~d^ zSvVQ!dRo#hC z?5S8V?^NtYY~z527uD4lWlqs%Ul_MAj(hNhac{7%wjm3;F2_zSgD2EOE(bw=rj~h$ zyQ`PVTqpy98yoi&dGHjPfxuDR45D0A=13XH$`KS&!{5SNzNP~?$}MC$z5-9j-g))2@A<%7%leZFDC7vm>h%8)G=0j4bxyPy^*h1OYWiZTRxGfPM&+m zOIK#c&5w&8?#SdVRJ{JVw4)rNH`ZVucub@pj?KVSRr4_>Hw2VRPL8h{ki1GYkf3IR zI`@M6z9&VP#tTU-I%fzy?gfK%h5@=jo|X_iYqf>1*4q;OQLOodzM3r6`Gw3M`Fgz{ zqgV5q7)E||%(@r=*2V0%0Q+N};&%M0*pFh1i-Hf0Lwyvzi7V`;=pXo8*ALOtW8{s@ z(_>#9Nz6)QWU-k|F(|k{=643a$Bc_Lv!Jc!#C{N~y#uR3E)@!i+!Xx= zJ$b8R0J3MDZX1N>lHA;w=`lv;a5Wtb@g2r&hiNuLJvRr`BeaLn8cadHiyY_yMDN9z zLx>MbzN7?R&v6As22*8tSJP_cYdL!m7Sygw$?3Qq9?6g>}qHo8p zUn?b)4bMViG%tm(iU7Y?MZC$U_}+}%9chlhGO<4DOTPE{%c#q=elAB% z)VEMIvwYt`ay}efJ0HFx0<~8}02eMiM|>8EN`j&bP-Jr?v!ew?z{AC=AYvzr?~K5+ zr*PMy4WuSUzl<|1wjlEe$c{&V5yvCmjxwGI2eyggH(@cPt#ax}#3`aWg;E$_!NDg9 zQ0=owysd$_?2QMaDE>2dv_B(oXF2307e7Z#jl|pZ5w8w~JvH)`NIPdoT6p@UWbf`wFQtRdjRp;zPcQam>3tA7$bkxxCq4Lg|EyN>nGS&o?nL_ z2sbjK)d3*#WWW}ZCqXWSUk>+>Ws+j85T>&5Z@mix6)yAnN#+?@(ZXNP&<{TdHg?pNR8DM{CV#5(yt>?9xNmKyhC znE0pWge?q1doP8d5+0BV+fBcejG@XStgHGhY#W^G79{{~1Rue zx_q|uH%y;qEe1aU3@P}j^e;^RQu@43pC>mg)0V{e5q=o9o%e{hlL)-`2>moiLhPk; zDH<;}w8Tq$NbvU1c$pTwdNT)(?kf#}6w0;v11xh&gXQx|gHu}0*tnhpjB)%zCh^JU zN#2+EobyZGJzlVAk9Qw|-*^uZc*^?`FDHG(?HydKp?mr8^WM;J=`lDSdbE`87>Akv zwz}{k#{*Gbw9yU0(_Z{4PD6~%(`*iJQt-Y)$PIwJ!nX%>Lz4$=$N}$hLZo&0B>unl zzCBK^s!I1%*Xg9w5N(|}21l@r5rSgdh$F| zf6VXhUs8R}I%}`B_S)ZG`*F_M=irCAZ1FJl=@(WWrj^*=T3M+|BW3fiBn1n;v>Ord z;9F!4QjCQEe0Kf4R>>QkGmUgpMfQa+h^>X5&v`--Z+@? zSY!NC!T3Vhup?2!qchOF9wi%kDD5c!$%YsCaPW%_zrc4I{9iOa-zah9{)V4%3lG@E zqqP}(b^IF2bug9tqs08L@d)eJ`UoAgK2q<0DNsScCEPgUlE&*B)fnb_3OwEa zb|bQ?&qsW11_=7~>wPnRJp;YsI7xc+Qfj=KJ7B16>W!N#DZmWvVYZZNu>Pxj)8wo5 z|H<#5{J#EHz6o*bwD0n*lJDZ>5(#YIn>I2Htzl%^L%1v;8pNk;fXx@{A0kh*r&d?i zz}SyJ>}E& zuk!r&^?2I_?;qef2}Qn>_UL7um=dTaRFv45$DCO@LH~jJhjIRCb8f2a`ucl#6YJsn zSNP}mD2R?${tvh_4&FzrKX+Q-G5^wOU&5LHCC3$7p18%E2gl7j4FXSFBfeWR0Ls8_ z&ir=AhWS1ddWzxLDCe)Ev7du3In!GqeK>XxR~b+_NPgEgI%r!dhL+-&V%S6pZ{-4{ zYtp(Etw}e=$Dfd`a0qg|F?bp0-QamPHXh@XoBA-y2hpBisvA^u@xi)Xb(Ch3KddI~ z{_S-S@MXCN@C`9Bd2jqn!CpQW#lO$pg~mvVM0iz+{!jSwTbsYXt`x7^fhSnW%g>%Y z!#~g94Yrw_b@27S1#_|GIo{s8)SnfS;zPPXbMPn*;QNl? z_r)%aUlYd@W%K9C>3&+ohRkBq0Qm2FFd&S6rkoHsEA=bJ@_sW zivFVilBU1pzed7q{yFv25fQO1$s8P>D=%en{O0+;@}E;r3%!IL?5RxKTs^0;#UGva zb2hl2PaEV;KZDbEaHk)@WXE)T_6*y$$NbmTN0G2$7IZy6?e%Fy1g{DZK-_^ni2x7( z4Lp8f~CQqc_&e~4bCMAU*R zrqY6)ewCI*EG8WNC)xu?KgIlTaLOZa;#myGOoktQ2v-$(`Ti^otyfImJ8{{pobeW<@6AL(XC495 zIT$sUaEPQY&ceFg(b$a!t9XaZ4UUBcJlxpg5Z?Nm`+gKw3#C(M;MsTTSKS5JKMiB0tMI`dT>dK6VZ;x0B&)WjODM$*r9#|U z5pl?V7P8;LKX*WidXwO;_^9x#V-fOXabr@5reDaR9Kgd^h@ys3;$wQQYRnboa{ZV#%kIH2|Mv#l^ zO(x^p-Tbi98vhaSHtqO(v`PGHIZ`%$inzk})Tf;0z_vO1wbUcJaME>=WdUsP=AcO( zu?RnlK3cb?vSgCn|04VA% zqTNr&0(TU_ppVtR#-Y_~^|$fceYZ{9BZDbzgIqohmoe5_hq0Er9E_vn@_Jm}#Sz&q zxojIZ8h-D>%N(l%`iJpw9OlKm~3)q0CIjJ z$f?WpYW&aK`QXoB!ybZX#)~>Y;W*esQ2D|%3crL0uwlV@=iAbM4yt^(Gk$ekeViHJ z`NB7q{Ska4*+UGup$0waf9mbe{X zO!LRE*Qtk_;^uHsWEkl;Hu_EP#*V=={dfPhzms279>K=D_#EC#DAnA*R%f1nb9_%6 zJ>$(VYz%wW`me_K$I*jbjif3Cm%@XHS8 z7W%i(^M8nk2R;ApBcD0ae*yd5W2Aak1x*a!H%fV)5F-;b{j;33)OA2j=i~aqJ2amx6&e+z;zwEFfBk#HyQC z`4`}W7%1BE+m_?oP4_JK@EM9{SE?^bfR*2n*nZs3;mr-`0}D!o$$XN|5jYBPoVW;OD467z-I7!ABzp=sumF(K0fX7Y5vbJ)y7)DdDHz1 zr(ZnX--)TYhfk)zGEGgw@d3jprehjj0`W#HqxyTXi0a`6%2<>CT+`Ry=HHCFB)rA< z=q&#yxX*`sTkm}Fo&L*smKBe1;10Kc8SdcvSK{_E?iTNwZHJ8A*uUEU7fc9k@;JYS zH-f2#O&-KZ(Z3dBA-LmzU~2Bn_GD156#oDD4bSU}rSrwiK&Clu7xpvyH0C9+jALIj zXV>F^V->}th&SVR5F3|s9UvZSP}kH2{BRu1^f>+x)!=y@Ji|43-VdvqYVfpzr&NQd z9X$AqjC%Bmc6;90ptQsIYNhxLcv@@lTm>G)-l}r$2M=IhmFE}WX~F-{&%eRhV3k~% zzRfw7gabl;04MIH@?D!rN#K7#QFT5qpx{8QWAn9m;UVQ*rT0!WsImp#i zL;Dhfs|L?0;AyGB(*d4D4W4b_8O49%2ZcuZ9L|2KDD-S|PcqZjvBi5nppfT_I2%_K z<^oTln93Jl33w!zr&bV9^^lW7AjuX{c0M$xbTxwlf=c9x$L8YNQcaOR%^j&?N>gZE zrD)TVJ70 zGmN)@CsBjv``}@kiU0A~m4|yCBcz?~*F0|lIUYNwV!!j4=HXB{j_2#bXd23TM)NS1 z#bYh_mAVc&Jnug=&n(3gT@who>gX7xx8i?1b}Y``rOu;2Z_zw&Q#|i+6@h+;=6So~ zc^Edk=}7Pl1?c^t%K*wkEr&e~78@alo(hxc(efba9&Kw^Z?>=NL+IHyX1WaLQpjn+ ze}&A7)_C3-xZY}bJcC}zMeQuFo%KM_%Q_MC8k@qu2ED|rpqKcwlR+;r3nO8ViSITa zy*gUOtHxs&Ae(q>-HOG@W2_-SE}!iyb|U&|Z&YfPjDFO7L*TK@K(431Bjf!dpco&D z9NPR1fR^f5c zYyA9mu!*0$(rG%)^0epmQVtBB2${KNB1e*nkm~T$$kl3cDasDYsnS~|lTu^DR<3U% zSAfg_^I{Ln{$mlUG{}!zU&LxzyU-Ckkc@S#@?NR&{izR1l; z%lImhHic%!wrVFvTE&w%)~t-QjIR=D7uf>z86z#rRV~soiZXUe6g>hG4{~HN zLNYE&gnZGtP69F3QUzn=VT5E{Y{GFowjIAHek2(jj({dO>`N6@Zyo~Cv{TM|APRCK z0`#G&cj}Rzx+VNNF zB7q~uch06=;y&n_<0=J#Lpc)J)8uEZuXLe42HB_n+5X; zJk4b5;F;SlU|3l)?V<&Asf#iOoKB`LOgy|9{Hy^yKH&&5@$fsi!mHB0T$@;@7cMY$ z`Wcjr2(T0D^v0l0Sr=|%oeqI4b!tjz^Ra!62X)H!MeFUvI_<)LX**xGFX}Va=}472 zB^zViK9r^j$CXC8rhWO~k$O+|Ww!KUP!d+Wsnao-$ttfF>r9C&^5|IC1{u=6U|fa7 zx@bUGB7M_m!QuLcb@9ufE+%eYqsU#WeVqtnB-TybzUpCu)W!7`ES5MnUZpOKpN|jx zT1*e%U%k8)G*!|vZ;(~`jUsTn-xbRr&JXB+%{&;}nw zOIvKR1%KHFXF{3uanCa}IEmxK*KtM0hwsFZ%f^^Fj-0h(W(nYtcKVkP;*JkFCOHOh z*RyQL77`d&zZ$gVmn-rxt|l<#fm!gOJ5OOI#?=PsYEnGA@k?Zf$+UNlGbOGL^ricI z5m>_(Z`#)|veGLRW2T;3vEFO-l{xUxic0+;$f{1y{7CJ%`U-$iYuu86!L{P*7lE2u zarH_VTq~}&RjCW(=bpgN>1{|7{1U$9sy)=n> z{~YX*_SKuo=fk!|lQDfSc7rPItNM5~Y=ire(~d0%(#MsMdqQmJK7~9ITj)(VB9cr$ zxEHiq{ot>_gD`~lu4*JAMGjf-XMNPP_r*AK*JW7m=LYp&4}09i7(NUCC5B%N2D=|* z4q~G{z=nxdwk(c&8v#AR#$CAR;*jzA=K(fGYytX=@p-rkHps^KJRHPl_Rx%;VKQ;! zrT{~-i z#qnOOMC@E4v#F#1L-|Zke>!Y+e}WwGa{_W4F^bR#ckoUhTO9SF1fXzTRK;EoVIPYX z>B7!{LY||*GlWt|J0;~rPzLc=a*=WxC<)ZEl!EaoG{Hm=u8Fo(;c?OO5#%_W;)8S` zXbCK=G;h*<$_UI9oBuvESZgzV%CB$^Lv$+$Oi>3WO1y?MQ~-G9;up>;OGM_K%M3FA z4sS@@SjHjikk16j+()yV#6IOZ{Fgq39z`=QOGNJ&N>goKz&mujFE_}@` zN+ax%ma?gk$?L&P*igJ%SefY3C+eGU)w>@&L--pa{4r2kO|Brai5&WHHMn71BpnD= zhmcR{sx;5lz11vuj;2>y>ozz{fCp{@&ulFbevgzPZAayZCp*Q@Fvq)| zZV1wW__-CiAgZDdT|bl4P4x3UfuBdgV40&buw~1hTM?{` z&v!xyoCaO{aporCkiih}01vV1ieh|z7*}8jcwAdR#$K16_t#($to|KbfB`{S;&`JU z;sFoHSzC5hP8q{n5qJg9?2p|S7jy8%)BYo_~*cEhT^hh;%W{~o~Z3G z3o+kunZZ2!i^~1iJ(wof>c3h7JSQNBwQDD0^@2kTRwwSi<^iaJ!&_|u`iy=apM;Xi3o*z)bfI5r;C=|OH~ft_*eHe{7J)@uvUXN+TQ_)lvmies$z zk)Yl=MzZ??iemhEBB=LQNOBVEJ%P9ibM7u$-c`n3$i-b(t2c+l4q_DL@DQjGHg*U2W1cr z54GRGTpx;3?gnM_XrbW!6dilThpewl4);7e*1K&7ZYfKXiDRbi@UD=wo&9A}5LflH zJ$PwXx1AC2v{-y*U4nQPjPdR-76Ho=W9E{}P5XK~%KTOvWZ-A}`V%lOG4l=}*G+6+ za}emHebvpO@5&R~R|)^CwJ(knzJRPUPT-qfZekl;1w_d>;WS`^TJ6Mf!oA3iW{CPK z*%$R0+v$&BGyZ{RgKIG8Y^Pjnf?431xSh5G<XWL~i3~ z)_(=+hK|>$t7r|zBj6b`JSyKfDD8M+fp`{o{Rx!8fMU=ql39vAun}8fGU&~LL>ZN$ z#DSo9yVf94G}OZ*gWj9L16M&8k?ZylMCRY#XOOuL2CrgvD-oIB!y=g=^R|jUBQobM zG{_vonVX2rVf?R!%pZYAkog{02q;A6)p&|Pkoh)nqbkZ0k+}?41etE{L3Sc@9ux^O zZz+=?r$lCH63ASSLJ2Y(;2+x_gUl_kN08aoQS47e)*$#iq@sCED3`)mMK41#iZYH? z08yw@>IoT%DT70iL!RyEOHPx*=-)RDhx$(67d0 z5JwiVdfh_?tGiLPBMuL-+LJI?eTgn{60zzpFaQzkk|;Vn39Pn*N3c2!Ikt-oR(HZ4jn#@#bPjMh zbVhZoewaKTGcnU3Q*sfR$A!?<<$2SPspt5kC>&#OoQpGM$wbH(z=KKx50S~4kDZ9R zlb$rFTZ^+JYzCYWb?e_}Q1=n1T+Be!-HRK;(s#cG9+!=%Yl1P=P)9_4e62wgpQJ}P zC`*if>maKZqBxhS75&C0fv6^Q4T7jaSVC`x$slSJ_L%W=g>Kn99%vcUXsOgQQsRl= z8OJ)dnx85aYd~R>3MuWNjI0;bK_yZil%_Kc4mp4_4WMX9&%MSHGgk(w!# z09|Sp?T;bX=vgKgbBuv9mW)#PEI>H$X|Gqm&u&L`#REn06|4!FG`c z91$)f$!({0PefKTk|`Ol#zvvpPNsMGRnSfuk?dsJDcwM1#bdkii^)bLnQ?gFu^3nP z+{Cv0rKe0=z8$06yu-(~{DrxuEq}`fvlhv={6o}*wB^4+GjrP@+j1*%S8K~0hrbIv z(t|wW8Vm~C`$9xo8SP*zAH{96vb~=LS<>Dy39XPg+Udt7Y44T&!_f}gGDN}86OY4( zg7)5k9PhTYnfCr$2$A+)DCYZmGSPQtHN|W1(5Q22AsopF5AB&}>EVgNVF|~oomP^g z*HYR|l&Hj``->}Jv-B4zR#`GQ+zlRHt+tl3?hgiITcC|?!%oE5iANfYonv3rXT;d+ z{RU%yRgs4n%fXmx7$bgOOdI@M06DHb#KwadCki%xTu~RX(K-oi?1m8O3tAwDwGt+S zje{Xeu(2gwD8q)Pc!M3au^~LHi}#00^wFD*4UULvVdFdCLD8yWlaY+MR#u;%PU zZ0rrN!TNF&u`wH+lf)kchYE?<7=kgiu<=RwSz^nzkWv{NU&PR;7B+H|z{b8wVB-U@ zS+J2z=90-y`zayp^?}}M1U6TjB_+Ugy_d<_Hy^nTO$Hpq~v`+#XB8N6ljEzB* zN&21tH*5^SIkm9y2zXHZs@ORBb%PCbKoel&?nz*S#?-i;bcv-4^*&Yu8+q`wpIh_Sa| zLL*V@3|A4@iLsVRU~D|V*h=K0r@~|~b`!{gu@oQG&Gv6hc5doRHyh6P0(GMr8&!9= zP(1WA+q!MGiBTiCLPV6W8-oBjT7|GhkR@2ly#v06tF;_;Dflrlit|F2xY{h~ z@+N}~?js1umnC9j8$2N~>PKZ)<&@YsD!|5^iaf-|;3Tl|P=JjskOR1uC1RuFP=k$q zWmn~t*l3>wHkKe5vNgnGt@tf#r+SCaMQMZCvs@d1E_f-AWQ~7qaX=>!fWQptoBR>KlhM4|$@dAa!mOnt;v4IS8K>V!yu)$AT1w_lL>?r|$?y)OE3nG3-YT$=` z-0Lv7Rv*{eZQ{?N(B;M-uH+OUOIC6i&D=yB9)Fm@Ap&fLL>vxI0*3xe%*L#qImf4ATF5!yc8NstcBA!>E+mb%F@>@~F^T;Id+>SdM5?8xX@CHkpiFMxD z;+1%?ei%fypdTy+sB6x0Xf^kk;{jCm3CJasMN80vEy}`ST(>BTH^6R9(a*OuOi6pI zqrKJ9zQ@s?ceFQ6N&9j~`$|Xqh@*YGqkZ<2w6Aouw>jGPI@-VNXirQ@`)Wt~dPh6) zW7qpP-z4pAj`ns(J4Yh6cJA3^qi)`m%D&do-tA}~bF}Yuw6{!2`+7%v&e6_Z%P#v9 zj`k%}(*AKr`+%c;+|mA9M|gJ(w=j)4>{T~OeoWS zxTAgjl*(RowC{GbCmikb9qsK?(mvp5A9l3!{Q$e(k8`wlPf7d#adlN&8Mm`?#Z> zqj&pFyZ=V%|ElJ+4-J148BbF{xOCGB@O+PN}h)y2YL zNBh4y+Q+A)eZS*8NX#Z`fU9ZKx42rD9b*9eFU;+?H-F>NElEPJp&SLkbKG?e? zjBGk)dOdm#1Uk#pfvk@O>m-%r$U4b`2mUDelTibah3So%=paRQ6zP z=fAI93r9?SRk}x}*N9e{TArBanEMPi)RP7g=ityO*8#0r%`=jNHLH0c62!uVL(pQi zg2l_7S!9Fp>H%q=>u66n+IKqI`983=$Gj0XCG81E`)o)1prd_`qkZ<2w7=WY-sEWC z?r7&-54-G%DQTbWXm4<|mmKYUD$mwFZ%W!{Iodr(`+%dJ&x_jHTc)JF$`)grOtt0=aqkW~Lz1z{=J|*q@9qoG^?X8aXwotq7 zVY}hOiF#Nwx(MZ%(M3d;j@UU<3RqE|-t5r@<*SxkWpvSMcuWLX6tP*CeRGwvn_l?8 zv0Mvx8=EH{IV@^1adl#zV~#TIqQW<@%u^^A2W3x(UtYr(1!00pI}XA{2`riiuiv{8~y+vcvOQ zkt-}|95>+ifWlIO2OIP8yP&)tdTbtV(gz;HvG+Hij3G;ijlTt@p+}G|9{U(5v%wqc z%7S8^u@|0CfihspxeOG$6xV?=Xz|<(N}FZReV{Oj&Apl4bZ#rkW%=;O;3>fv!5F#6 zKxwh$Ohbzt!4;{C-c%1zhS{+t=RM#V0uM_7k8#WOlh-Png#xlSA3SCjKq@>23R76i zt3fg2OyTJS#mu{f@)=M<)G_}Jlw;xN4p7XvMRNTZls2oR&w$cxX@4D*7r-9YU<0H! zStb1|P)e467J|}l$vGL6ApkM->UzqtkkAE68*+t6*b0gn<%-Q$fZ{3b;#tqT36zmQ zdun5U9uKK_Im^O_!IKDhaM^nWls5boUCAWA0G3ShLZqeme6+-(90H0N#fd%5ptORA zXF~ZqP!g6`H-IvR3JuHt51`n!Qv!vtPUNIDq6Vx|>;z9MctSb5Krt(vqWu<7%;-xf zKLBNSAQ=bVBcPa7S>gFPC?S5#)xv^z$C5fO7OH>wewX_n)G$ieitZqjN-l{!xo}`2g;~LnTe-#%~)OJ%mW35 z&}A=VyZTZ%mDOhB=LO(d8Svo1`&&?$#Ad$XnC{JavQlbteH=Wtf6fM_)w1VeP|S+7 z*s~LqA&ckxpfH8~#Ur51v;6!VC{0$bKawXv0`pG?n1?K{zJu_#c;y!G4za3r|YW-%51A$oCAuPS4z3A0j0s>;f{c#K`9XV@vRHb8?ktP03Ne)D{>wN zg(JAoo?n8J042oFZ$Wv%valXcimeZHf!TWpC}9sv%KJbm1w5+H1u|LhB00(KRYxT9 zi#;vK#lz4Wr-L$VQTUu%I6_mHPnDy$k8-TmbPg!X61SX6rwP|Q z*B}>TOE_w}36w-22ba7%KpC%S=d=HVe6MB9zc-n$oom=ww<`gUpC}8$l!P5dEAu>+^rQP!UCqNkiZ)kG? z6s8ax7dw<|KpD59%`Kp`Ta*VtDFH(<$f9&SeGN)0{)VOaH7S;b|3ymRpJacZ8mzZl zJBv5!3mMaYkQ%LzoQ1%4cdF>)lx&ulQbDO??!~{#% zmnkRkD*6I7o7iXZ{4;o30v<}f1C(*NLTZ_mr$N~s=pu#tz_nWlpLR&J?8!}iYA)4n z>6!>)xnjOK%$Y6r6bl{s{$djQ`K4iw z+SF)5#;tvm;wxlSELaH#Ks#GqQEN;zZyxvqFSUYg;Sf$>IcBp#X=Fm@G zb;?N}ORhR)&Dy1_S0|URIAPsM$&;6^UAf})(;Z&DwW#%sN-sWi`O5h%zQHBfxd13dwZ3*bnfOS&-~N zU2z7?5+pfR-si!AbuUfMfV>H4bi!iY*)4{A7926Bft%!ELC;%Myz$l#~ zpUGhk%kU2Yy{Y`!{JfLG5PRO#M!X)~n;KXnG#H!9WEU)1oXl_PD`tB$C^W)!ipsYD z!BmSae;oTyUw6vdRVS}VwyjyQZuzOn(^srMb(xfB#VN~CrUS^3L@6a&=2O{1#(aqo zO?VwX<#RH=OSmFWPY4gj-H|W+c*)AGM04Zg4=h*m?95iFn&uqZG0GFUo-TOia+1Lt z*OFTnFBEkYkm~3N1lSoR1eNpWGrj!?8Ahndl3crbP0-e(pY!?4_EN?%CuNG7@5KK6(vA*%j*mzbuZ0(v^`oB4B&`_8Ks|Wc zRz!5KDxA{aXCSkxZ`r1NKGRoJ41wHC-=^LqA`1c6liiq4<+mba_M*QvnoS1|g5H-l znchq%n=>`=4Ntf5ygQ{@QIy3cQHSBk^dgcXY9#yf(BBuiGJsu@o3n*{O4YjIuSirv z@~MvOKr+`4j))X>sk5g)!&?@;U-}i27;6YBp_gqm$|!W#|G>CCxh11dL`hqui8K zcj@%#R!*eux-x{M8vi8`c4Pn;^yA6umxEweO$1_LmCFhS$2JxvVNIKVjLL)tOYs30sSq6$9RyOmSVG zY_-s_!VKh2%=W;I9zL0w>IjYNEo|mX_8pl{jG<~z1;ie`%4>`Z(2bICbg4Y6x?(f4 zs5nkV*k7G06w$}3@dm8O71S6&OF$X9xXqZHO2c$?R@rnxIjn#oOR~R{n$l;hHiIY} zcIVh1X;V)onJrKNU8T1Wz@eR!UyjYA%T!rY|9}`?*tD^*6+^Gy^kdQdy7< zEC>Zy5k#G&dJA0`z+;LR=95J^U1KsqFB1W9VtE83^so*?K$s~|n5TL}kSOBJ4YYol zkW0u~+fx7#Fap`c5e2s62#P4oCnFALiR-ofAIo-RmH`dmQ{_x9OBQmObha~_4x?MO zCMqMu5CmunxhQ%l)k0-ZTx;$og`>Odd9s+LmI>ha@)jG&(j%i_PHP4%T3|R&Mr$&? zrba^>Cgm7D2lbjOa~5L2<_dtU;HPqHoT>^LCa!7YPXT96ul%a=pegkiB5h~|W4O~) zs?Wkr^uW!JNNftG9tAzQz~Hs3uNNak)l_w;LBr>)50i>ip&!FC#w85jInQA&>vi;G za@Eqcf!PXFTq@E%tKsCm)@ra~gb1R2G@u6Yo{}*hkeN~7S+it-ILH1V+C=qQWisi8 z2h0#NYV{zM??Ojuhx4$nflX{oMktmf(1wCBnD)}1eS+7-sR z(f$Yh3oKx@nV_?_KZrzOSWHG{Es7hJ%ymupKHC*>w}PD98VxL&X#U7i9Y)+yOf&l` z6i(*qPAjqiQH?LzlSa7f$mFnw79B?DzJh8Zv!-6vAzH22gsNPczSbUch9BZM{DMby zD5{m&eW!lFL|ChiSCn7P8n-=Es#G_K?&x_V!Ih42f*7QCYDX2~&I#7^k zSB&5?95f&lM0;O~wmUc&7gZCWAsE@K;+h-Tp}%vvh{vs&LI6vrgLFF$wmK6LXj|DJ zLwSOF5UYDpyA!n)t2Y$)MTS@;a3!ZFlkUfGB61k6F;PjRsYY}%H(HUpQyh55OpruZ z`3ypUn&l#Lq{l%_?oVOOEZNzU>f*35kQR2UAxTLND*>at!hOoHm4rt_5)>U -#include "date.h" - -struct date setInitDate(int year){ - struct date d; - d.year = year; - d.month = 1; - d.day = 1; - return d; -} - -void printDate(struct date * datum){ - printf("date: %d.%d.%d \n", datum->day, datum->month, datum->year); -} - diff --git a/2024_Praxis_der_Programmierung/ue6/loesung/date.h b/2024_Praxis_der_Programmierung/ue6/loesung/date.h deleted file mode 100644 index 43930fd..0000000 --- a/2024_Praxis_der_Programmierung/ue6/loesung/date.h +++ /dev/null @@ -1,13 +0,0 @@ -// date.h - -#ifndef DATE_H -#define DATE_H - -struct date{ - int day, month, year; -}; - -struct date setInitDate(int year); -void printDate(struct date *d); - -#endif diff --git a/2024_Praxis_der_Programmierung/ue6/loesung/date.o b/2024_Praxis_der_Programmierung/ue6/loesung/date.o deleted file mode 100644 index c0aa0e3e21581dfd1eff90987c2d20b323626e5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1720 zcmbtT&1(};5TDJ~wrVO-JP1|Ui=tqcidt&@ARm3n3eie!Q3@q&k}VB2A0~T=JiN^hr5A(RTu|-xGU*7@)V`dpvN0 z@5`G+a^CHxoM8O`@q?Z-8mgy5p@QJ6^Wgy%`Al1%wvBI_RoC}stSePJ{I^a46mq#4 z>)NbWuDK0s+P-B^PE1{o4C0WSj}#bh=E3NujPc~i=my^IBI2}2?$DMwlX{=XjSaUj z0bPpSCmdypHjclF;snJBJ$wj$9md7X*vvgYzu|^YLSa`BH(ed5N8YU3UTP>}$-MYv1 z|5sah0DWuv1k;F-tVQb2PPwX#qeHz)t03B+WRoT(j=!?74u3%xBz{%m`j`7r#&xCF zzkvyK=D+f9BA3ooXNoRx{j=mKqSwERF~azroccu?ml%+m`K+^uv#qB7P#wkAbDvAT ze*YcGd7*I0 - -//define TEST -#if defined TEST -int main(){ - struct highscore hs; - struct date datum = setInitDate(2077); - int score = 9001; - setHighscore(&hs, score, datum); - printHighscore(&hs); - - return 0; -} - -#endif - -void setHighscore(struct highscore *hs, struct date datum, int newscore){ - hs->date = datum; - hs->score = newscore; -} - -void printHighscore(struct highscore * hs){ - printf(" Scores ab %d \n", firstYear); - printf("your highscore: %d at date %d.%d.%d \n", hs->score, hs->date.day, hs->date.month, hs->date.year); -} \ No newline at end of file diff --git a/2024_Praxis_der_Programmierung/ue6/loesung/highscore.h b/2024_Praxis_der_Programmierung/ue6/loesung/highscore.h deleted file mode 100644 index eb8c9a2..0000000 --- a/2024_Praxis_der_Programmierung/ue6/loesung/highscore.h +++ /dev/null @@ -1,18 +0,0 @@ -// highscore.h - -#include "date.h" - -#ifndef HIGHSCORE_H -#define HIGHSCORE_H - -int firstYear; - -struct highscore{ - struct date date; - int score; -}; - -void setHighscore(struct highscore * hs, struct date datum, int newscore); -void printHighscore(struct highscore * hs); - -#endif \ No newline at end of file diff --git a/2024_Praxis_der_Programmierung/ue6/loesung/highscore.o b/2024_Praxis_der_Programmierung/ue6/loesung/highscore.o deleted file mode 100644 index 7f2986496dadee2bd3e3cbc755395cc1dd9656ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1904 zcmbu9UuzRV5Wpu%ZL6k|il9)11OHIL9??S4qH;-1dqT9KNvM60a7iyFXp(Ywg|r|F zif{xWkA4*23!?av4^bfxK2)FjAk>-Lo%Gn=lMcC^+279W?9J@uO)kG2kHvr`1`pwQ z#uOkuc5EAgX}}aDp=|m;O#k(vKk%RIoBsCD&mEY(+@aYk4^2PSD#Fhv&$AVcZ7>#7cKZpqEf7_!t(2BK=W4oGF z)vj-9XJDtZ?P!hWi-t>lk)Y*io0eyzsRuvwf|aGEMQ!$xU2R%z?XEtrr{@-K3M1GS zE(is&-8G1HQ?Z%k#AF`}bs0H5BzI`YoJ)O(FHMcN&;h5kcAq%P1`WI(F9`=?5kfr} zgI`AxOOS}{5Fk%Pxg!lVFXWMcp!^{s%mhrFU<49CZ*)=;Fn$6~A(@8XN1U1UMdas0 z=MQRz?3&~}4{C*M9-kCGsys#z#bMNIy$1EB<9Zvm<$!B@CSL;Ba+>YXw6c<4&1UkI z)#c@4u2d;yviV#^IMuw@ld#H7|~wd^*owL6}z zuRJZ!xt>*fi4GKIH!5| - -void rec_out(int n); -void decr(int n); - - -int main(){ - rec_out(6); - return 0; -} - - -void decr(int n){ - rec_out(--n); -} - - -void rec_out(int n){ - static int count = 1; - printf("Die %d. Ausgabe.\n", count); - count++; - if (n > 1){ - decr(n); - } -} - diff --git a/2024_Praxis_der_Programmierung/ue6/loesung/rec_count.o b/2024_Praxis_der_Programmierung/ue6/loesung/rec_count.o deleted file mode 100644 index ede0798e01ae21ebe26ab73d98e8e398fe02585a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16704 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 diff --git a/2024_Praxis_der_Programmierung/ue6/loesung/scores b/2024_Praxis_der_Programmierung/ue6/loesung/scores deleted file mode 100644 index b41aa7c2f3f604deb282c7e25dbcac7f4dc484f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16856 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