From ba14ca12914575d9bf072f95baa7c53505445fa0 Mon Sep 17 00:00:00 2001 From: Pedro Folloni Pesserl <fpesserl7@gmail.com> Date: Wed, 16 Nov 2022 21:40:14 -0300 Subject: [PATCH] small modifications --- tp3/lib_racionais.c | 14 +++++++------- tp3/lib_racionais.h | 25 +++++++++++-------------- tp3/tp3 | Bin 24848 -> 24856 bytes tp3/tp3.c | 11 ++++++----- 4 files changed, 24 insertions(+), 26 deletions(-) diff --git a/tp3/lib_racionais.c b/tp3/lib_racionais.c index 30ea669..256f18d 100644 --- a/tp3/lib_racionais.c +++ b/tp3/lib_racionais.c @@ -73,23 +73,23 @@ int valido_r(racional *r) { void simplifica_r(racional *r) { int fator = mdc(r->num, r->den); - if(fator) { + if (fator) { r->num /= fator; r->den /= fator; } } -int menor_r(racional *r1, racional *r) { - int a = r1->num * r->den; - int b = r1->den * r->num; +int menor_r(racional *r1, racional *r2) { + int a = r1->num * r2->den; + int b = r1->den * r2->num; if (a < b) return 1; return 0; } -int iguais_r(racional *r1, racional *r) { - int a = r1->num * r->den; - int b = r1->den * r->num; +int iguais_r(racional *r1, racional *r2) { + int a = r1->num * r2->den; + int b = r1->den * r2->num; if (a == b) return 1; return 0; diff --git a/tp3/lib_racionais.h b/tp3/lib_racionais.h index 56a6161..2db03b3 100644 --- a/tp3/lib_racionais.h +++ b/tp3/lib_racionais.h @@ -10,10 +10,7 @@ typedef struct racional { int den; } racional; -/* retorna um numero aleatorio entre min e max, inclusive. - * a rigor esta funcao poderia estar em outro arquivo, mas - * deixamos aqui para nao complicar demais -*/ +/* retorna um numero aleatorio entre min e max, inclusive. */ int aleat (int min, int max); /* cria um racional sem valores atribuidos, so aloca o espaco */ @@ -43,26 +40,26 @@ int mmc (int a, int b); /* retorna 1 se o racional r eh valido ou 0 caso contrario */ int valido_r (racional *r); -/* simplifica um racional para o menor denominador possivel */ -/* caso o racional seja da forma n/n, retorna 1 */ +/* simplifica um racional para o menor denominador possivel */ +/* caso o racional seja da forma n/n, simplifica ele para 1/1 */ void simplifica_r (racional *r); /* retorna 1 caso *r1 seja menor do que *r2 */ -int menor_r (racional *r1, racional *r); +int menor_r (racional *r1, racional *r2); /* retorna 1 caso os racionais *r1 e *r2 sejam iguais ou 0 caso contrario */ -int iguais_r (racional *r1, racional *r); +int iguais_r (racional *r1, racional *r2); -/* soma dois racionais e devolve um ponteiro para o resultado */ -/* retorna NULL em qualquer caso de falha */ +/* soma dois racionais e devolve um ponteiro para o resultado */ +/* retorna NULL em qualquer caso de falha, por consistencia com dividir */ racional *somar_r (racional *r1, racional *r2); -/* subtrai dois racionais e devolve um ponteiro para o resultado */ -/* retorna NULL em qualquer caso de falha */ +/* subtrai dois racionais e devolve um ponteiro para o resultado */ +/* retorna NULL em qualquer caso de falha, por consistencia com dividir */ racional *subtrair_r (racional *r1, racional *r2); -/* multiplica dois racionais e devolve um ponteiro o resultado */ -/* retorna NULL em qualquer caso de falha */ +/* multiplica dois racionais e devolve um ponteiro o resultado */ +/* retorna NULL em qualquer caso de falha, por consistencia com dividir */ racional *multiplicar_r (racional *r1, racional *r2); /* divide dois racionais e devolve um ponteiro para resultado */ diff --git a/tp3/tp3 b/tp3/tp3 index 409f0be80217e5e5ba97548a056c9230df6f6ad0..b4c92ab8e3d30fb1a82a827c83ec9e0511122b4f 100755 GIT binary patch delta 1603 zcmbPmh;hat#t9mX5)(D=b6(|U0E4TW1sTJcM6{Ru4`y+cIesE&(tL}n#ibq_*dsRA zF#qD^aN}ZN@aW||Ke<luIb-tVG$DP)<jK>73^^)Jce{RR{*gTSyigEh!DJ<2b4H8F zQNrnrs+$i9YcetlY<?rc%^2TY`-Y*EeFw<0*Gb*3Z#s{^i23{fzelI*hwjif9^I}V zI<I+j9)Ix}BKQL$_yZ!i>CgZF5CNzvj{gv?9^I}#K)T8&dy1(tUYwjSroq@Td4`xV z)0dx<&x&<&|K(s{09*Rv{NzM&cSiNeE5&8Fr@%!OCSMR2=P8Br|NYqfS=^i1m|xz7 zf#Ea1+%Ly)pI%#OB?bn^Fwf3wj-j5NUmZgnJO6}w^y=~`F)#%CX#VwRe#7yiesi95 z6U!t8O-6&sS_+1Y29skHYU;my{r^9OiGe}x+yDP9ObiS@-~Rt!!o<K(_U-@wBTNho zXTSab|AdKwLGk<l|18W53=_Zq|F6Q#z;NjM|Nkz`3=Dif{{K&5W?(S>@&A7dGXq2S zkN^LdFf%Y*|MCC-5oQJk<)8omKVfEInEvzse-;)72JT<~|EsVtFy#FD|KEj$fs5hJ zumAs3SQr?5HYX~^Gb+voMSv@xKpT@YFB{V&9(E3p00V;z0|P?|BLhRn<cCV~jFToa zD$6r2n5?KQ&$w!`qq02X!^w%t@{FRB8<pi5QztJ}mS-%Rd{9}Qana<5%JPiMCo`(Z zGv1%9s3Nb({q_HUACRGNTb#kRfNc1}#K2%aIZ;KPv3qhOSjR#Yc}9iF2UX-53no8Q zac7<J?f-w)&4#M(9Fq?)u}rSewO~B4d86(kCMJ27$s3u(CTAN6FlJ1yF>qj%-@Mo0 z8<So*YbpZ+!&y;~l?)7E|1mHyFwTi%W?&E~V_=LH0I`@RCJ2->Fh);)XspHPGnvOk zQPxKfA`u}}l9<cD=wl8thiPJnKqdpD?`AKP7DmQrlh2z<2xf>u%)ZG2p-*i7VS0dx z@xkPs7Qu}5lX)$DnYg7U$5{F>PM^He(pTME5~2<q3ShUCvM?|R6d5uwMoH)}GcYhs zj1VX?nk-{wB>Z0jUG2HaiB`glMw3gd^n{l~Wg{Sp7#QbpPTp#z<J<%lSA~mPvVv@2 zV03|6kij6Do14tQXa^1*GpKrmi^?XeSZfKhLd6Z?<{X%uXl*P!RU9Hv0HGKd=e(J` z+*(%H5h@-67nhlQ-C9=o6*Ppx;o?4%*==Nn4?xAW;Nmrt&240bCqc#a;Noj0r`yOf zW^8V?iDhOyGI^=foXzzPdl?yxCfho>a|>3pa-3l0N@wLP-`we>$jF#6dA0LBJ64Wn zR<3joMOH=*J626QR-VtSVri^wC9FK@tYRgsY-y~l>8xDMtemB+jFGHb2B-=)A9qP) zV?420)7zby@xbIlzkbGy$&CK`jLRn*`nyY_yHSRbfkB8#km1DSiT>h@W}8>~%QH%% zdwdxa1A`EQ0K?SD4+F#*11A3rh?hi94)>sH4oof#6lZjt+!<&t2ursAp>qExUkntN z<d%YjPYHx#5MqXyK7BG{kT_%0WXT|R#`?*LLGDrypehrgDkno#vPx_|6qLuwm^#@o zMxXbDG(;LqPyWa*ytyIf0~4d{<idD!#vPMa#@ll~v4<$xG5KS>IpdtknhExd6DDUS S*fVlWUYTIexO?);1a$!ZVZ7G> delta 1592 zcmbPnh;hOp#t9mX0uwdwa~|bp0E45O1sTJcL~N@j@7%L&&Cx%qT8T0fjTkmsob=dS z!~Bbv!;Fi8!K0UV|KvKs=Zq<n(}eUHQzlOnGUTW`-R=6N`A5p+^Fl$4$&;0Y%^9^P zM+v7hN^CwPtjWm8y!nj?H=}H~>zmHwFEaoB|L@W1`k_1YjYqfZht6vroyT7={F|&O zCakpo&;S1@;-dc{iaokre}L4rOb!!MWxO}JMofco>g1(j#!QUACf^e4<mTdJVAuij z#)~_X^TgdXOn(0V|Jnnjt=oa6`3GaEG?>lMdCa5Nb|D8$vF_x%;^I6_a6b3XO%mSB z25A#M^UM8m4EO1^)mCC)a18V8yyh6{+4<Em#If^Fs7J4^j1mJwu#e_nkLEWVFZwsv zNjI@fKENa}NkNm*aI%(yA*12s7=@bp=U@N-PhnzU5d8N4e+v@>gZ;Pv|CcZ^Fl2uF z|NjUR1H*xD|NlQ>Vqg&Y{{KG<GXq1*_y7M@m>C$he*gd9g_(hY@yGxFDa;HEYCrz} zZ((L&sQdB%{}N^fhEqTO|3AXaz##VX|Nke<3=CaA|Nm!UVPN?8^Z$Pp76yj+U;qER zurP2jocZ<te+ml&gU#kd#dt==K2Q+3@(HvtIrFkHweqlYfCLyAWEdD2N*Ea!swY2G zl4oq4%&08SIC-+7vOMG5$&SkMj8`TnD$6r+Om0+`XN;J<P+6WabMirDdB&-eA1cc; z&YH}qBF}hfvZ9JS<G;y@D$=Z9m>3weCMT-MGuBOR1j{W{k!KX1d{9N6F=6sU6?c}7 zZ~y;KcJvb7?4WAFF}YmVl5xl8jk=4Nn1om+Z)6gioNXY$7(Kbhz=2U{^In5*OnPCg zsSFGZXGI|n2782ofq`*O95VxhKp6vLlmLjuG%-P-oPjZF@<U@SM(@cyCW^A&dJu^S zp_0U021ajlkU2~fLj*Dz7=1Q-nY1u6KAC*pR6;OX3}W_876^T4^AFPlOpKQ&@3aVJ zESk(~>C5y_a&nBN4`bKlm6pD0c9IZvJ`jq5aZU*f1A{=3Ap>KSgbp(U1JlF^fuhN> zRz_-{Bp_-KO3%QQ28kn-mRacu&w?tAfaqXgoWnkOyOoY}DO6k)E^f{WvW<b!1!`Fa zgJ^DUG6SO>IHWY8>Je6!Ojfhj68<3$F~AT)F)+^AH#ynbShxc!UH}(=HF>4Atgs1G zJOnN-HTkBstngiEXobVYy(V+o$O><Uifh5et0r68$O^YY#r5Fgt0rgK$TCK6ZnueL zX52S<t<#*%jShPm84V}fJGrxR*RXP)-aOGsk&!Wa@@D6Ib}SsttX%0FimZ$rcB~q9 ztURAtMblW>N?3W)Sw%}&+0s~9(^<KiSvgBt86#OW4Nw(qKJSvq#<*j%p|?9T<A%wV ze*KKmlR5qM8D~wl^mk`$o!sazF1bS*>NqHMoRNV+h(UlsbMr=jc}B*&lP?B{OQHwV zMka_NhslhA@r-tp69dI1(F5THRE^2xiGk*ku*CZxDvF*u*qI?F{(~m45~y>8pyFL< z;!;rY(#eWJ?u<o~GlSe2FHhbWB+m3heDkTGJWj^Y$(AwtoG|b0*jyOH&dex1xia3I uaogmL@%EgL>>+k+n*1}~oN>xz!vuTAj>&}y_KXaZHzwFKZl3%xK^*|0I<f!& diff --git a/tp3/tp3.c b/tp3/tp3.c index f57703d..a885744 100644 --- a/tp3/tp3.c +++ b/tp3/tp3.c @@ -6,11 +6,11 @@ /* le um inteiro na faixa [0..MAX-1] */ int ler_tamanho() { - printf("Insira o tamanho do vetor (entre 1 e %d):\n", MAX); + printf("Insira o tamanho do vetor (entre 0 e %d):\n", MAX-1); int n; scanf("%d", &n); - while (n < 1 || n > 100) { - printf("Por favor, insira um inteiro entre 1 e %d:\n", MAX); + while (n < 0 || n > MAX-1) { + printf("Por favor, insira um inteiro entre 0 e %d:\n", MAX-1); scanf("%d", &n); } return n; @@ -93,8 +93,9 @@ int main() { int tam; /* ler o tamanho do vetor de racionais */ - tam = ler_tamanho(); - + if (!(tam = ler_tamanho())) + return 0; /* impede de passar 0 como um parametro para malloc */ + /* aloca v com tam ponteiros para racional */ v = aleatorio_vetor_racional(tam); /* a funcao acima retorna NULL em caso de falha */ -- GitLab