From 3738c83af8c1e5d784c1c3f3afed5862aa76d410 Mon Sep 17 00:00:00 2001 From: ketrptr Date: Mon, 25 Nov 2024 14:22:45 +0100 Subject: [PATCH] init --- README.md | 2 + ub10/a.out | Bin 0 -> 15792 bytes ub10/singlyLinkedList.c | 80 ++++++++++++++++++++++++++++++++ ub4/Makefile | 2 + ub4/powerCalc | Bin 0 -> 18256 bytes ub4/powerCalc.c | 46 +++++++++++++++++++ ub6/Makefile | 15 ++++++ ub6/christmasTree1 | Bin 0 -> 15888 bytes ub6/christmasTree2 | Bin 0 -> 15888 bytes ub6/christmasTree3 | Bin 0 -> 15888 bytes ub6/christmasTree4 | Bin 0 -> 15888 bytes ub6/christmasTree5 | Bin 0 -> 15888 bytes ub6/tree.c | 98 ++++++++++++++++++++++++++++++++++++++++ ub8/2Darr | Bin 0 -> 19112 bytes ub8/2Darr.c | 46 +++++++++++++++++++ ub8/Makefile | 2 + ub9/Makefile | 4 ++ ub9/strAnalyzer | Bin 0 -> 18560 bytes ub9/strAnalyzer.c | 38 ++++++++++++++++ 19 files changed, 333 insertions(+) create mode 100644 README.md create mode 100755 ub10/a.out create mode 100644 ub10/singlyLinkedList.c create mode 100644 ub4/Makefile create mode 100755 ub4/powerCalc create mode 100644 ub4/powerCalc.c create mode 100644 ub6/Makefile create mode 100755 ub6/christmasTree1 create mode 100755 ub6/christmasTree2 create mode 100755 ub6/christmasTree3 create mode 100755 ub6/christmasTree4 create mode 100755 ub6/christmasTree5 create mode 100644 ub6/tree.c create mode 100755 ub8/2Darr create mode 100644 ub8/2Darr.c create mode 100644 ub8/Makefile create mode 100644 ub9/Makefile create mode 100755 ub9/strAnalyzer create mode 100644 ub9/strAnalyzer.c diff --git a/README.md b/README.md new file mode 100644 index 0000000..f0903f3 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +License: MIT +Informatik 1 aufgaben diff --git a/ub10/a.out b/ub10/a.out new file mode 100755 index 0000000000000000000000000000000000000000..72e439dd9403f5c4e1ae44a35baa3c1a26250fb0 GIT binary patch literal 15792 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 literal 0 HcmV?d00001 diff --git a/ub10/singlyLinkedList.c b/ub10/singlyLinkedList.c new file mode 100644 index 0000000..0d0740a --- /dev/null +++ b/ub10/singlyLinkedList.c @@ -0,0 +1,80 @@ +#include +#include +#include + +typedef struct person { + char name[50]; + int age; +} person; + +typedef struct Node { + void *content; + struct Node *next; + +} Node; + +Node *newNode(void *content) { + Node *ret = (Node *)malloc(sizeof(Node)); + if (ret == NULL) + return NULL; + ret->content = content; + ret->next = NULL; + return ret; +} +void appendNode(Node *head, Node *newTail) { + + Node *tail = head; + while (tail->next != NULL) { + tail = tail->next; + } + tail->next = newTail; +} +void delTail(Node *head) { + printf("deleting tail\n"); + Node *tail = head; + while (tail->next->next != NULL) { + tail = tail->next; + } + free(tail->next); + tail->next = NULL; +} + +void printList(Node *head) { + int count = 0; + Node *h = head; + while (h != NULL) { + printf("%s : %d yeares old -> ", ((person *)h->content)->name, + ((person *)h->content)->age); + count += 1; + h = h->next; + } + printf("\n%d nodes long\n", count); +} + +int main() { + person p1 = {"alice", 23}; + person p2 = {"bob", 30}; + person p3 = {"mark", 48}; + person p4 = {"bob2", 60}; + + Node *np1 = newNode(&p1); + Node *np2 = newNode(&p2); + Node *np3 = newNode(&p3); + Node *np4 = newNode(&p4); + + Node *head = np1; + appendNode(head, np2); + appendNode(head, np3); + appendNode(head, np4); + + printList(head); + delTail(head); + printList(head); + + while (head->next != NULL) { + delTail(head); + } + free(head); + + return 0; +} diff --git a/ub4/Makefile b/ub4/Makefile new file mode 100644 index 0000000..d4006d4 --- /dev/null +++ b/ub4/Makefile @@ -0,0 +1,2 @@ +all: powerCalc.c + gcc -o powerCalc -g -ggdb -O0 powerCalc.c diff --git a/ub4/powerCalc b/ub4/powerCalc new file mode 100755 index 0000000000000000000000000000000000000000..ceb0eaf8595067083351ae64f954a06355cd3d7e GIT binary patch literal 18256 zcmeHPeQ;FQb-!Y^|Z82Crrm_MAJCbaWf>Y z+5XPG_pDaWQqy*(o&K>G-aF^~&N=s*#FB5l*d5{AVQ~H=9(5iCHHzoKBllp`ccesh&`bxOlj z=zfr&Nh&RS>3$stQ`T47v&b36lKTq%eKJ5{TJ1-Q^u=+gOTs?#buvzd|Jp3ZElBb&*Uj&&UC>+R_6 zi5BzGl`;g1s|y>AscpOV3E!l+NErJY!jN)3Fe*MRvz}}hVxzQ^|F*Wdo^?%wc0vY~#E57|&5j5aP5eh3@csQg%B5e3Jum^{C+9{{t zjAn|iQyAX4Ih)Tp!-_ zm_~C-W2HMY7`g$G)AAis?-wVu{I#x zFK$pcjb%DkT)tg})0pRSwF=jleyO@vg>xIExL$?xxk)&W2RfhWys4C!;;3$YiIhOF z3Rf9bcFk3|yx%BTv{m8iJXH#-3UAQ1HB!q!Ed#X-)G|=ZKrI8c4E%3q;HQyy{~~_! zUxM+|=A}*{;!j_6edVk1liv(pmd%z|{|Vso@;}2qvLptMg2A><8 zvd)29-51fZ_cc)i-icDW4klS+IMCSvMKgq=1&fM()n_Fapg2|pv%e+~y_aR3&l z23|e+o3Dz?^9J@N7Wskszr6xKc$dQ zoBxh^3aWY;SN-?E--tBtypG+#wKpRBFTD|&KQKiSQu~uD=}7d_i6-VE@Bg^6CsXNk zP}<*&pB}iGjz@BokUzvP6Y3ugvZ*h=O&J)NV&zw=mCr&+E!|80Z><}=SWYlmg6~Awx zJZ`QzRR`^r%ktRDbE$Inpt@SAWuTUUS_WzvsAZs*fm#M?8K`BTmVsIZ{-0#Pz&ji& z!+C4iDU9RYmFrke4)2_-MDDmdmdTA;?pVULGDRzwcddkV1aG%eRyvzcxX}jjP(JG> zMx6r>J+{^o%d=^*xl|~?|G-89_Bchnze?ni&Vk)y<3N^2S7p-;Vkm#qDI9os8W=4& zXt*GXE_%?^<`M+bJ2>`WH%RnsywG7lUP|H9q1GNm)GEmDvEd#X-%*+6P zcgNq^(N75~?^Q(5_n5Ni5C8CfOO_oiineQ+zvo-5W&QFJ)$Z5@pqcrHg8^Qt-x2w_gdXO(Us9|Yh~BUp02(we9$_(YE5^S z_;pmHj+n~(as4%@{Kd;nRMFK)n<)%w-1tXO&}Y4J4A1823)Ve_UoZJSphEOZK4vr^Z!yWojVsV>l>CrE6AYUq|A>Kk6R~B{LRcO$z6P7E3){hu z8Ex3dWt9QJ>Yi--;Ekh8XpDn zU?d9u8H2{f{;-SvbH;Jl9Jr$o_&MVn;2&+@1pdyD7kD&j5>*H6}z25J2$7-`)i{J#yC1%C@0^P^4UWJTR>pc6mlqhtC(U?wR< z%R%hSzc3o<8+=lIo>eAQ7!nPi19;dV)i+3`(1q(D8;vHx-tlTY-;J>yD2Z?bF}}0$ zKt_baiXRG0h;Xyw9|;shxJB`YTA$M=%%>14l|aF9#iDv@!FLv)t@wfgd5Rce;cr^I z)W0sYCN$X6hcB9a%S0&jK**18I{Xn4S{fY06+h4;{K2(L4Q1v--%V4HV%{S14=Eg} zM7o;R)Xj9M44=yZ!B+W3Hg^S zUNYZUP}hvhaTu+`uSv&)b31a6Y_qw=@Hd4*s#U6C{&WyHQV6vY(S~*krbRa$Ld&6C z({$4dD+<|tYB|>SxQwbbWRQr^u3Jml43Gm^k7{qvBY;fH_`V5!K2D z=#CaLu47NQ1!1SNiBVb>;aTpW8yQIyu_$3YQ8?@rU|Jb~c|p zEU=DYR5qlSN7$IQwUha5X*@@ZT&&IA_s_Va;I?6PjJu_r(?9CuoI)lEF;Pg4^{XX0 zR>vs*kETYfj@@0d^{sKiYZw(_b-cSZfTv&r<~*wS9NoyZKVx)ROpcO_So8qM zP9@xgta1cvQA!iGj7+UkQ3nL!jia^cAXV%~Tv{cmo9WP(Ch?F z#c#%pcr+_{TfQ2ebbM{u1%Md zaI)u1ESxODzoKvN-ai%Fmq*^ohs&S zys%5rsx`V0(Hc9OF0De{9_*1~QTyr@by(?U5A51v|7YvkX0EfF84h}&ZgVqW5iK4c z$8{0ZEhsw19IoR|VM0Xla?pv6=1S3tLVm(2xW}uYkx~XLK{F{0ZQL~2fw!JQnvW%l zVp}H~;SgMsp(U z&+{NmxgCz5?U?=+{ArGbWu9kYIz)}4c;i>75NE(pPT8O5d6?2uKNW7@+y9S4NB*10 z2*sj?swmyRsgOT@%)BFiF94&QaQ&70hQ5E$_^vMAlH#v4V`*zm8%SAIIR6Y?08{PH&u2`R zv7x5k_OE#SyOt_LrjL94z3u-M^!SM^&jB*!c~JiQ0bYBSnSLKWkt%;#CiLXpaz+ht1gTh;zN z&pM_3V--)uupd*JaI5y`=f@RY%AVuoYS^zL!`&MC z>O!$nVY*2BD|C9F(-nH_Wk0rDK8OE#?YM?JrX9Tg-E;W=%_`+^x5vRF3YtRmV&wUY z9_9Z%MJju*?R&Jpx1WE#TDja;IkA<@{!Aa5!{6vr_H=!%F6>uLJxxgSbK3t!t-K2; qohLkg+H|G$pq>;<%@EDSp?r)RQsO&uMe}R3`Tx^;<&gd*{{I1w<#+!8 literal 0 HcmV?d00001 diff --git a/ub4/powerCalc.c b/ub4/powerCalc.c new file mode 100644 index 0000000..eb07658 --- /dev/null +++ b/ub4/powerCalc.c @@ -0,0 +1,46 @@ +/* + * Author: Simon Schurti + * + * Licence: MIT + * + * Informatik 1 exercice: + * Takes user input for Voltage and Current in V/A respectively. + * calculates and prints Power and Resistance + */ + +#include +int main() { + double u, i, p, r; // Voltage , current, power, resistance + while (1) { + printf("To Terminate enter anything that is not a valid float.\n\n"); + + // fscanf returns bytes scanned, so if ret is 0 no float was detected + // fscanf only matches %lf, so "123 asdlkj" would be valid input according + // to format specified in fscanf. getc pops next byte from stdin, which is + // always \n if user input is valid + printf("Voltage[V]: "); + int ret = fscanf(stdin, "%lf", &u); // read voltage from user + if (ret <= 0 || getc(stdin) != '\n') + break; // terminate if user input is invalid + printf("Current[A]: "); + ret = fscanf(stdin, "%lf", &i); // read current form user + if (ret <= 0 || getc(stdin) != '\n') + break; // termainte if user input is invalnid + + // power [W] = current [A] * voltage[V] + p = i * u; + + // resistance[Ohm] = voltage[V] / current[A] + if (i != 0) { + r = u / i; + printf("Resistance[Ohm]: %.3lf\n", r); + printf("Power[W]: %.3lf\n", p); + printf("Resistance %.3lf is %s than Power %.3lf\n", r, + (r > p) ? "greater" : "smaller", p); + } else { + printf("No current is flowing. Resistance cannot be " + "calculated\nPower: 0 W\n"); + } + } + return 0; +} diff --git a/ub6/Makefile b/ub6/Makefile new file mode 100644 index 0000000..6c0e097 --- /dev/null +++ b/ub6/Makefile @@ -0,0 +1,15 @@ +all: p1 p2 p3 p4 p5 +p1: tree.c + gcc tree.c -o christmasTree1 -D p1 +p2: tree.c + gcc tree.c -o christmasTree2 -D p2 + +p3: tree.c + gcc tree.c -o christmasTree3 -D p3 +p4: tree.c + gcc tree.c -o christmasTree4 -D p4 + +p5: tree.c + gcc tree.c -o christmasTree5 -D p5 + + diff --git a/ub6/christmasTree1 b/ub6/christmasTree1 new file mode 100755 index 0000000000000000000000000000000000000000..8e8617ef7c5d021dd21f0bc94461b3348fb49cd6 GIT binary patch literal 15888 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 z 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 AKmY&$ literal 0 HcmV?d00001 diff --git a/ub6/christmasTree3 b/ub6/christmasTree3 new file mode 100755 index 0000000000000000000000000000000000000000..55f8604e90e7667ff62abf6d3e6e30a062cb38e4 GIT binary patch literal 15888 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 Mvbfsi;1b2Z0Aj+VB>(^b literal 0 HcmV?d00001 diff --git a/ub6/christmasTree4 b/ub6/christmasTree4 new file mode 100755 index 0000000000000000000000000000000000000000..cca9580ac8d475cc9ca66394f54c53efff0055c2 GIT binary patch literal 15888 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 GQv3^}w9}se literal 0 HcmV?d00001 diff --git a/ub6/christmasTree5 b/ub6/christmasTree5 new file mode 100755 index 0000000000000000000000000000000000000000..955f97f842d1c13009bc743de5aa7e7d3b5330a0 GIT binary patch literal 15888 zcmeHOe{dXC9eyuzUxq-^3SN!D%N$zS~t|J>x`6l#^OD_<-N5V$~V;bQwe{S41waRz(Heb z>(0F*XFv=QkL`WJH;c|uG*o0E-DNl^?PNdoxp&v)9{$F;zb`Lbv+1`>`W}7j&E2F! z{UD#DLxp&Ba3L8V%=;i%3ZdZJ}7F=_h)~{I7_`3TTwJD&8_l=ZQ{5KmGYHXws?mmGZc2$K9^2j6+$pKJ+e$ z#wm>%F8KkgMttY}RP5l(-wR7klsfq8Cq_y%2Oo*^ikAT|16~Ha40svvGT>$4e?9~6 z7G3oZJw1`H4=y;dP6++}Au}gCtfybdKPh9+u74TqY}rq7E?N~pjpz=Njg4ec%AO~h zrdDIal75zGn&OQON%|?GX=*q2q@<4%O;fJ1M?h2im49l^ymE)0c}-8hKDoOkSUFUA zT0hco3`W`IE1^Es<}X@x2qp;dNW*>L=tmaZLr^zuE=TAW{8s3fWJiit4UpbRh0woA z>aX8Mu;zlEnbc3beWQM2I#>6-sK0W-Tm}a}Qx5X8BW*>iHqY2od;<*yuoXSkd-Zg~ zacBxX^M+ZV4>r6FBD?&nIFE+WnHLwlj;inWlQZ$2Y@4Z5{>a~0J9PKL2YPX+ki4Cu zWsVqq?m{+u^!AfVWI9FPnI*czDayORzM`6Wog<5;4MFGA(psOXs&QTv*#sk}Ufb}iH2BkJ*6 z+1OOh|43ZroD#+I9&)~uoj2Le8=TI!+0GBaG##8m_a=Npb-}5k2iGFf=V&=GnkTzH zL9+Vb*`mX*LHAT}TK0Va=TpJ+ROd|n>O8qRPnk-O=F|nx_q}O#;1+75|LmfJr8pNK zqyV2<0=r^Vo}>z;;R#f%G<;FkR2m+EQ_IV55RDaAr)+4N8q&kVdhFHj9zVWT&%C0a z7}FlgytHPxE;wCu_zv_V-9Igg9&Di=(cLHXX!#jx zc|43^1tKej=^;FOa6j*z)Q=P_l+FCyz9D|{&ulgmoJ#jkiG!C91}D?gxd%&taM#3_ zZ5;Qn-N;66L?7Hc9nr5_CL=NzjJCkjX*|;G=bin8LquNjGT>#v%Yc^wF9Ti%ybO35 z@G|g!k^y>aL}lfzmGyPi^)*#ps8-MkbY*>Ig=AD$*4I=Mvuc~zCDw|vl<2z#rB6bi zG|^VxYN_>sE%v6Oq4wwvi_22lC(L9tiq~D;X2-_GvnZ`2l+w(E)*98?lhF`fg=uC- zD6Um67G)7Eq*vzF??Y^~06X;OZ1ynlb)X46hZV%rz-izwfggD%o28YgAGi#wjAmdB zFam4=_Pm?Tb^{*<9tAFgE*0NBdxWpI*tc@YqI~9G34RCK`8X+TUL;?oU5jcBj>)&P z**k%vuy{*h>9(Rv@6I0(H(pV{w))zuiA}b*;rJNhT1kw?!r}*VnhF-)f(Ag6ypQlA z@?(&%xQP76kT1Q6{4C@J^TXqHfEgGqKk~zUVL6 z><^ssobOo*#Pf=m0WSky2D}V-8SpaTWx&gTmjN#WA6f=@e;)70!*pF1T1QdA3l^)W z4T5+RCd;H+5M8cl-uEZhFyPVJg~}Bc2;TokYX&MT|LcWpg6JW7ZMrz&v)ge3dJ8$4KrU;G{-%p^mq>+ zw~yCGvOf?@RlFgS^swp}-Zx2_^NeMcq@Pvt_Y}=>t7blQ;Qiz7hBv5jutni53fmOk zrI77-Kj+q_rW>@?*p<9StE}-?`75=mimIB5+KTmJ9#LIo1v{AoDSvt5o$MT9?>ep%a4OYD8+?2p#(KC!|cH_X2Qm8DELaOXVy{ord3J+A&v@=L|)0COz-EMTc9 z6yI0-WBGpi0{F$ERMZA6Jw88#%F>)7!S^HcA0|E%4t!Sf@nT;I<(eM67bM@IsH(q~ z{6g_1S3Kvyr+D1)zXiUA!(HA3qa>$PR0L*A7UDvd(C%Z+;;Y+UEC+wC_}58(p?Jd; zPqpG7aPc>SUo0*c0av?!Ky#Gm0X1Ibe>dPYDL*f}{OnYI-1+~s(yvz!68S#|{21U< zf8F}~!Pg*nm;05U66I&DQaCL6ZfzmH3BLRT$tC(B>F407?Ya*I{i)^;3uE)Ab~f&4 zZoAz0H@56)+z~YN&3lBgb^ESOjoXb~TejRBY%y9IH*F6ZyyHE<`_<)!bocIe zTZ*0Q7u&5)Q8Xnw6Ui!JL?a$+lNNSx z4c{3=lik7}Pnc1Ed%VZrolJB`ljZ>jtFWapZmH)ob^A)#@{f$AX`r&2d z`3kp0y3TS92%01CyrNdwGX|W>sPp`R+4Py5)4o^PGt%#nv+(ngdCjOe?P(Jn6-G@` zGbgwGCn5S9<{TV9&%+qG|2z+K#~*?{&B557=V^@jDq$2ORoR~BOEK^$WVYvdALFZ# zIg300pMj9(RBX@lD8|c_F~`q(j0Yj7IU3VEPh;Gz?A`Gzwm5bCzDc$5?NZ$J0d^PlGrP?5!b{f~j`wAYj!ZUt14_UccQwd%?C=SfJ{(B1xN@SXP4nx)9NkA#lmZvPjMVKyf30aD|26n}r{)@PcL=8;7XdtPUqDJO3; z +#include + +// #define p1 + +/* Bitmasks for different tree/decoration patterns + * use make to compile with different tree patterns + * default is p1 + */ +#ifdef p1 +#define pattern 0x942 // 100100100100 +#endif +#ifdef p5 +#define pattern 0xC2C2 +#endif +#ifdef p2 +#define pattern 0x1 +#endif +#ifdef p3 +#define pattern 0 +#endif +#ifdef p4 +#define pattern 0x333 +#endif + +void treeColor1() { + printf("\033[1;93;42m"); +} // change terminal output color to green background, yellow text +void white() { printf("\033[0m"); } // change terminhl color to system default +void treeColor2() { + printf("\033[1;91;102m"); +} // change terminal output color to redtext green background +void truncColor() { + printf("\033[31;43m"); +} // change terminal output color to red(31)tesx and +void cls() { printf("\033[2J"); } + +// print christmas tree with height n +void printTree(int n) { + for (int m = 0; 1; m++) { + // print leafy part of tree + for (int i = 0; i < n; i++) { + for (int j = 0; j < n - i; j++) { + printf(" "); // offset from left edge + } + for (int j = 0; j < (i * 2) + 1; j++) { + if (j & pattern) { // print tree pattern based on bitmask + (!(m & 1)) ? treeColor2() : treeColor1(); + printf("%s", (!(m & 1)) ? "O" : "*"); + white(); + } else { + ((m & 1)) ? treeColor2() : treeColor1(); + printf("%s", (!(m & 1)) ? "*" : "O"); + white(); + } + } + printf("\n"); + } + + // print trunk with length and thickness based on tree size + for (int i = 0; i < (n / 6) || i < 1; i++) { + for (int j = 0; j < n - 2; j++) { + printf(" "); + } + truncColor(); + printf("%s", (n < 8) ? "\033[0m \033[31;43m|#|" + : (n > 16) ? "|####|" + : "|###|"); + white(); + printf("\n"); + } + sleep(1); + cls(); + } +} + +void useage(char *progName) { + printf("Useage:\n%s \n has to be greater than 3\n", + progName); +} + +int main(int argc, char **argv) { + if (argc < 2) { + useage(argv[0]); + return 1; + } + // init treeDepth with invalid value as n would be undefined if sscanf fails + // this could cause crash if n is ised later + int treeDepth = -1; + int r = sscanf(argv[1], "%d", &treeDepth); // sscanf returns # charsscanned + if (r > 0 && treeDepth > 3) { // valid integer was scanned + printTree(treeDepth); + } else { // no valid integer detected display help message and quit + useage(argv[0]); + return 1; + } + return 0; +} diff --git a/ub8/2Darr b/ub8/2Darr new file mode 100755 index 0000000000000000000000000000000000000000..aee4e70c53d4139906f0ff3329a34600f2d226aa GIT binary patch literal 19112 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 HAMF1dSpf&+ literal 0 HcmV?d00001 diff --git a/ub8/2Darr.c b/ub8/2Darr.c new file mode 100644 index 0000000..a329f47 --- /dev/null +++ b/ub8/2Darr.c @@ -0,0 +1,46 @@ +#include +#include +#include + +int main(int argc, char *argv[]) { + + char *s = NULL; + size_t ss = 0; + do { + printf("enter \"Start\"! "); + getline(&s, &ss, stdin); + } while (strcmp(s, "Start") == 0); + free(s); + + int a[2][8][8]; + for (int m = 0; m < 2; m++) { + int c = 1 + m; + for (int i = 0; i < 8; i++) { + for (int j = 0; j < 8; j++) { + a[m][i][j] = c; + c += (m == 0) ? 1 : 2; + } + } + + for (int i = 0; i < 8; i++) { + for (int j = 0; j < 8; j++) { + char s1[8], s2[8], s3[8]; + int ret = sprintf(s1, " %d", a[m][i][j]); + if (ret <= 0) + return -1; + ret = sprintf(s2, " %d", a[m][i][j]); + if (ret <= 0) + return -2; + + ret = sprintf(s3, " %d", a[m][i][j]); + if (ret <= 0) + return -2; + printf("%s", a[m][i][j] > 9 ? a[m][i][j] > 99 ? s3 : s2 : s1); + } + printf("\n"); + } + printf("\n\n"); + } + + return 0; +} diff --git a/ub8/Makefile b/ub8/Makefile new file mode 100644 index 0000000..5ba857d --- /dev/null +++ b/ub8/Makefile @@ -0,0 +1,2 @@ +all: 2Darr.c + gcc -Wall -g -ggdb 2Darr.c -o 2Darr diff --git a/ub9/Makefile b/ub9/Makefile new file mode 100644 index 0000000..d25b13a --- /dev/null +++ b/ub9/Makefile @@ -0,0 +1,4 @@ +CLFAGS=-g -ggdb -Wall + +all: strAnalyzer.c + gcc $(CLFAGS) strAnalyzer.c -o strAnalyzer diff --git a/ub9/strAnalyzer b/ub9/strAnalyzer new file mode 100755 index 0000000000000000000000000000000000000000..6800e5f9b3ce566b22b83af71b1a9939c40452a2 GIT binary patch literal 18560 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 +#include + +int stringLen(char **s, int *eCount) { + int count = 0; + int idx = 0; + *eCount = 0; + while (*(*s + idx) != '\0') { //(*(*s+idx)) == (*s)[idx] + if ((*s)[idx] == 'e') { + *eCount += 1; + } + count++; + idx++; + } + // newline (\n) am ende soll nicht gezaehlt werden deshalb count -1 falls + // count >0 ansonten 0 um zun verhindern dass negative stringLen + // zurueckgegeben weird falls count = 0 + return count > 0 ? count - 1 : 0; +} +int main() { + char *str = NULL; + size_t size; // max allocated size of str (allocated by getdelim) + int numberEs; + int ret = getline(&str, &size, stdin); + if (ret == -1) { // getline failed. free allocated mem and return + free(str); + return 1; + } + printf("read: %s", str); + int len = stringLen(&str, &numberEs); + + printf("it is %d chars long. It contains the letter \'e\' %d times\n", len, + numberEs); + + free(str); + return 0; +}