From acf707a594734f6423602a9124acad7261964418 Mon Sep 17 00:00:00 2001 From: ov075wu Date: Thu, 20 Mar 2025 17:34:37 +0100 Subject: [PATCH] refresh --- du4/program.c | 90 +++++++++++++++++++++++++++--------------------- du4/program.exe | Bin 90368 -> 90469 bytes 2 files changed, 51 insertions(+), 39 deletions(-) diff --git a/du4/program.c b/du4/program.c index 7efe6ac..99f09a2 100644 --- a/du4/program.c +++ b/du4/program.c @@ -1,63 +1,75 @@ #include #include #include +#include -#define MAX_NAME_LENGTH 100 +#define namemax 100 +#define maxstudents 1000 typedef struct { - char name[MAX_NAME_LENGTH]; - int votes; + char name[namemax]; + int golosa; } Student; -int compare_students(const void *a, const void *b) { - const Student *studentA = (const Student *)a; - const Student *studentB = (const Student *)b; - - if (studentA->votes != studentB->votes) { - return studentB->votes - studentA->votes; - } else { - return strcmp(studentA->name, studentB->name); +int find_student(Student students[], int count, char *name) { + for (int i = 0; i < count; i++) { + if (strcmp(students[i].name, name) == 0) { + return i; + } } + return -1; +} + +int compare(const void *a, const void *b) { + Student *studentA = (Student *)a; + Student *studentB = (Student *)b; + + if (studentA->golosa != studentB->golosa) { + return studentB->golosa - studentA->golosa; + } + return strcmp(studentA->name, studentB->name); } int main() { - Student students[100]; - int student_count = 0; - char line[256]; + Student students[maxstudents]; + int count = 0; + char buffer[200]; - while (fgets(line, sizeof(line), stdin)) { - int votes; - char name[MAX_NAME_LENGTH]; + while (fgets(buffer, sizeof(buffer), stdin)) { + buffer[strcspn(buffer, "\n")] = '\0'; - if (sscanf(line, "%d %[^\n]", &votes, name) != 2) { - break; - - - int found = 0; - for (int i = 0; i < student_count; i++) { - if (strcmp(students[i].name, name) == 0) { - students[i].votes += votes; - found = 1; - break; - } + if (strlen(buffer) == 0) { + break; } - - + int golosa; + char name[namemax]; + + if (sscanf(buffer, "%d %99[^\n]", &golosa, name) != 2 || golosa <= 0) { + printf("Chyba: Nepodarilo sa nacitat ziadny zaznam.\n"); + return 0; + } + + int index = find_student(students, count, name); + + if (index != -1) { + students[index].golosa += golosa; + } else { + strcpy(students[count].name, name); + students[count].golosa = golosa; + count++; + } } - if (student_count == 0) { - printf("Chyba: nepodarilo sa nacitat ziadny zaznam.\n"); - return 1; + if (count == 0) { + printf("Chyba: Nepodarilo sa nacitat ziadny zaznam.\n"); + return 0; } - - qsort(students, student_count, sizeof(Student), compare_students); + qsort(students, count, sizeof(Student), compare); - - printf("Vysledky:\n"); - for (int i = 0; i < student_count; i++) { - printf("%d %s\n", students[i].votes, students[i].name); + for (int i = 0; i < count; i++) { + printf("%s %d\n", students[i].name, students[i].golosa); } return 0; diff --git a/du4/program.exe b/du4/program.exe index 6ac905f37df679df1b6a29fd393ba5f92858aa3f..3e45f120c0bd5cdbabfa99c2bc06ed330cff117b 100644 GIT binary patch delta 11455 zcmcgyd0dp$`hU+b!=ez2ETf>H3<|QF3b-)}D3%&#C2lOT2#G*CD0Wq_0WT9#*fEdg z25LsRp<{_5}Oq=^X@2s!h`^WE(-+lW$Jm-ARvz_OxbFA{X z;``%@`Wlz~q)Q8gK}2|d?b=B)SMV1E_rpU zd)0oZn_-0U>vLkm_MjitLOZ(L2huz&2T{RUce33TXqXxOnKGwXa)O?A@+S@Sd#6(J z7=6k);%csXd{ZGp`NKwOyg@DYtl}*TZU4ZY}I6s7-Mu9lGPSDIPqFI&YO> zQ>B2UmnqPG-BX)#i=Z$%#dXEm79+mXw8lB9ViaUfiw3WDx70Ht7@FJ!A?$=zJJ=w{>r7n{^C=)~ zZl!jen3jc~T77)9`bX|WC)1iDC5?QVTe^M<9fBP(Wy!FCNm8vx@YhLw1tJ$yTxLzd zd-p6Ucm;aqSdc;24sUS=ITrxFFBNaB5(lfsJXqH!LycD+OoM>5@C2d{TwokJK|bPv z>Yh-^F$#@*6cP{udcp;W+0tlJ$5y-{j?U?}`ucqQM_qgSlM(vR-tUqAo#?SPp14K3FVx&*o)U?y0*F`QtMq^s*m)DAtah+cq)6ZDHm6k?xf*!y4rIPSxt9% zjv>4070&^r?q#n4;!OK{JxWxx&?}m}KwtG5==SbXgeF%dV>dEn&~~pJ@-z+a6G^Vp zS$!fy`IsSaXFqcXkS3u{qf$X*H=n)fYTaCwtKk^k+eb;hr0so%l0WG$eL~4l>hC=Q z8|QTIe&j1!LB%%69<&z3> zfNJ{}6D|Fve?IA=vj#jv()Aw?c!`i7>71Zfi3j~HXaec4k01Dpj66caRcUd5NH(j?O>88=x?l_xv3_b&i%|qgp4cW-C(OCAc+KJAXB|+K~9&<7> zujy#lkp3aTXsmA4wP|{B^Y`Ff*Tx6F2=y?{xF1}|sgIw*P~d4d*3M+W?WcJbKIxbqa8 zodr{^;o7ctU#u1XH;yfE?j#;jscq2 z#*eb2HN*&eEAtkX3r) z!}lEeBp*j@bU)goTcMKU0#QEo5v6Fi$Ngw4-^dKfqebI>Fn(dGu@@H? z@nQ74X|?^htf4VM+&AB;TLL%kRX1=tMJDTO9?K>+@j>+0v<+g&hN?J|_|z9PDp=hz z{S&f*7CkLq zj@8ooEf2!%NJx=&x{3Sg$ zuPXN1P^sVts8_c_RmII|+_kNQ>ksAn02@2?nhYf|c~x=`T+Fhzo)426n~(Z^UeD5# znMZxH(4g%K!uUDYKA{?esJ0kX^wq4PCd2Xf8=es=H5`umeTFyCds%5i{)xL1SGM%~ z5bE&aX6{BP*E`8Ok)1(^l72S-7V)8{a^i^R%ejfzpVhfJ>WG7CK{rLEtUj&#=#pCu zYL^u8_(M(LXm+-v$c!&FD)2qd7obrrwjC`|&X`tNev3CX3q@~4p^dM7`F zq|;doBHiagvv!3l>w45zA9O~h(^nRJPSWVp1zSh~bt(K))Ch3;I$0Id8B(ARecDk@ z=IW!1Uj(B^7pIUSy?n`MGSSRet(|UJFxRQbr9YG{B){q(U;3pZxkSTO4xM%dOI_RL zj9vF}49w+gn5`lDbRBkC#VNG#9ivV@r%wJMSK|ZUMH^R6P)#?P zCN9jkwH<}r z>t@*(z%}Nw)+}qW@qgqMqVsyQqg*o|3+@Zjo9oebPV()__d6SuXA9WU=3wrer7qS*0kK(qZeS>C4x3Irg8#HO4>WTrHd6rjR9l=qi^B0f4eVX*7GI zzkel4aVCNr#~_h|*(?14%hOym2OJrJkD-Nj;su$qzrH3pWLm&uQJJaB_+s z-V}&q=c`Sl6;oy#jSh7GYk@BDFvY#Z(D9o`GXVcjY zPmvC~zhM$F&_5c&Wv)4NaAOoU)F&IG6%j>7Vb1?g*B7m(hRh7^+AuGa7y9xot}7^Lnr%bg9vJj*=Zp`Xp+nP}@LBa{zty^+2c{ zemxGy_089ZAXj~N29i#iurm&kJ+m_!J{x!X<8Jmo%AeDpb|xaO$Tt#^u|;phku&sl z{LQ6bzcI;i(`uvf6$SlyYhRkwG*EGOjnNoJKiKI_S2p<}Tdy=t!mo#~n--E(I{D3L zMayeO<3f6KZ$HZ3OhC5Iy*V1~Zf^zSr+VyLaSFpGqj8bgf$Fy^9FJ@^8pD0*UpxHh zz+GC!6ur^tDJr+^N|1RUq<`%i$Jw~u1ITbXZ+BeZ6$g#RAdD~n#(-)#0lO}0weLA6*Y&A#!@y6XYX|yPRQ@6e8$ivVqo9vKmq1;h zJ0RCz;TIGGngGfGX+Slg22eBTBtMibs$D@gYPIhJlYUms7#hK?R_4(3)F9 zg|GpIZJ^zt7SIXM8BizaTTmCM2PFI^2)#gFpa75x6ag9z8V5=RJq5}F6@iw5R)K0j z>p)vTO`rpyBcPL@j^8Q-;Q|U*K|h1;faJ&*|NbYLso*`s_a9R8Kgmqge^1SS%8Y*T z!KWNtzLqc1EY4X{T1?vy#p_8+FroD=a;iFf#;F_c1PuXdz302XlC?38difDo8J4Bz z(KvFMPCgo_5H_fV@#5>JUj5<<@^Y((Q^z2+aA%O3?RO=CEWwrZ){k%972wXFAC!YJ z=X<-mC>&Pk|GeZ*$Yp)+Z+`cHEr%Ns_{A4j&d5JU}dewovk9W93GhN9M8M%DO+nwwokUP}oL1qy&^!Fl8UL=QwsL12~IVFoq zvlr)e;8sh7AlwHt7iAX~V~CUrR;eQW6hGkn@MMjnhz~mm1(LjWpbrZOA;SVTK}!5J z0B-w~1SgOaD;-4!ku+8pLIM?d8y33R{tyyOy4e>YB*`%jh~Uavqsf4wkDwfbtEJg} zrYV3*D-xy2E7x%Qt}K5r$q$>ytyx=nLn)9-ycwD-SmYbnZ-dG2qgQfqYa&B!`moo+$pl3_?3RiUDP@WX5*Ria$mKznfO-FB0_h00AeR0$ zv#AjG3t}~s&Yq4U6GOV^T3WbwBaeNa1+mDcu`i-9 z7MC+j^ZhdGAB~JUv+>c$XfFpOpiG?PN+rrMOYc`l>n1D##bC6SvSUyhJrc!ct04D0 ziK{NNsB&ZmkTfe|iKUeFjlp1LqcQ7Qd+`!(;BWTG3Lp&LJed*nQj?&s{0Z#km1M}7iwxypiA`lx0;vE-%1atwwe z65$|373OAZvQ;DHs7jC#ng?X=;Gcm+8MZN&_>-U6p;!#oRd$iH3(Uw_2MZnsc9Kov z>d=1!VTI0n4fEZ72_Z zpkYMo1EK+Pc3~tA3s-gzDzZBcY)~AkT`VOI89mAB;t)(T+s|18`+~C?_6KJg);}IB zgN^5G0?XqphUqv9V0$=oW#_cG@L;u&!cnnrGXv00;nIJP`bF64Q#IllL*?cvOuc)@{RowJ95NeT_?grv4F~nCs|F~I`X?Gw^60HG1 zR*322GMV{{^YS3wQf==m5;83WyRf5ZNQ`JvsgNcSng}88#Uz8W@FWlqiL-1VHP)PQ znPouIBr@xP@Y|Bj&K@8u2!7evpc8=jhfJD#_8E{(61AUz9F!n37>IYWH|+~#gGAe;Ak+!ShLix2j;j`kD;qlj2WCBr{KK1{Ioc+Uc-SK! zh%!NTG8chhNbQi{fy78s?1J9#k2BK<`=e;t0Zm9kDxlIe_R&s#KrQnDqy&g%0h=YnD*xhXQX7LGw&o&az1F`HseEye~X>yRkYWs9;fXrP< z6isG3Hp}l+01A?HunmZGPW)h2v$^l)h-4x-WBbp7UE2*J{8RpCp}zWBJGHwD$(L|Hn*%)NEgEjGTYhj z3!wl>_m2X3g1wze0{zaQXzNC1PIggINsiFLuA{NyqS?G{)&2}*jKtPmAkEe^@h-UG z0U=!?;}3*KW3v+lq`@|U7Uzk6%O#zgQUM`viJ^2L!zD;Q5dJ@{@bdx<_?`tKJw09m zl5Ew=T#%>9D_$xzNt|tgOo25ZZfCbE9wyQxseFg^eS{3DNSA1~Lh}WyX6BN@1;yD# zLV;BVZ!Tg^H&_vF{Q|UXw-1gOfLLx|rk?Zw;h!mO;*Nw>rj{<(aJ;{CSo5E`WJykT zalVixah3#`9tkoH2;T~9BeDR9bcl?<(!pQAV9O*^TmguG zwk~UdNYCn5xFKuonfX{ROR&jGOm8>av4waHh{meLeSG?W%#ZGvJIxZIKOj_U?HQlr ze3y%nICH_gyeiQO1QG)mwsDFBqL$=!A`t0{&hxi&Cho?${ z4u=*Wd)wR|2_#e^GYts**_|gDK#J6WY)ShYpdhO=GzryQNYeZ5KtioO+ka@zW26^x e#XqO!VzA0`^NKZx%F@U#cSqAZKJ&{W*ZvKtd?i=_ delta 11401 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 RUw!ybIrK^(Z_J}h{{#56zGnac