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