PROGRAMACION DIGITAL DIGITAL (FIEE-UNI) 1) Calcule la edad exacta de una per!na en a"!# $ee % d&a' El pr!ra$a dee ped*r *nrear la +ec,a de nac*$*ent! % la +ec,a actual# l! cuale deen etar al*dad!# ca! c!ntrar*! dee ped*r re*nrear dat!(.../a"!/10000)' El pr!ra$a ua +unc*!ne2 fecha valida: calcular edad:
!l2
#include
#include bool validaFecha(int,int,int); void calculaEdad(int,int,int,int,int,int); void main(){ int an,mn,dn,aa,ma,da;//(ao de nacimiento,mes,dia),(ao actual,mes,dia) cout<>dn>>mn>>an; $hile(%validaFecha(dn,mn,an)){ cout<>dn>>mn>>an; & cout<>da>>ma>>aa; $hile(%validaFecha(da,ma,aa) '' aa>da>>ma>>aa; & cout<) '' (m<* '' m>+-))s$+; s$itch(m){ case +: case : case : case 0: case 1: case +*: case +-: dma+;brea2; case 3: case 4: case : case ++: dma*;brea2; case -:if (a 5 3 * 66 a 5 +** % * '' a 5 3** *){ dma-; & else{ dma-1; &brea2;
& if(d<* '' d>dma)s$+;//si s$+,la fecha es incorrecta,si s$* esta bien if(s$*){ return true; &else{ return false; & & void calculaEdad(int d+,int m+,int a+,int d-,int m-,int a-){ int ea,em,ed,7d; s$itch(m-){ case +: case : case : case 0: case 1: case +*: case +-: 7d+;brea2; case 3: case 4: case : case ++: 7d*;brea2; case -:if (a- 5 3 * 66 a- 5 +** % * '' a- 5 3** *){ 7d-; & else{ 7d-1; &brea2; & if(d-
) Calcule la +ec,a del d&a anter*!r# anter*!r# ten*end! en cuenta l! a"! **et!' La +unc*!ne a uar !n2 validaFecha fechaer
3*nclude/+trea$',4 3*nclude /c!n*!',4 !!l al*daFec,a(*nt#*nt al*daFec,a(*nt#*nt#*nt)5 #*nt)5 !*d +ec,aA%er(*nt#*nt#*nt)5 +ec,aA%er(*nt#*nt#*nt)5 !*d $a*n()6 *nt aa#$a#da5 c!ut//7*nree +ec,a actual28n75 c*n44da44$a44aa5 9,*le(:al*daFec,a(da#$a#aa))6 c!ut//7+ec,a n! al*da# uela a *nrear8n75c*n44da44$a44aa5 ; c!ut//7+ec,a actual e2 7//da//7<7//$a//7<7//aa//78n75 +ec,aA%er(da#$a#aa)5 etc,()5 ; !!l al*daFec,a(*nt d#*nt $#*nt a)6 *nt d$ax#9=05 *+((a/1000 >> a4....)>>($/=0 >> $41))9=15 9*tc,($)6 cae 12 cae ?2 cae @2 cae 2 cae B2 cae 102 cae 12d$ax=?15rea5 cae 2 cae 2 cae .2 cae 112d$ax=?05rea5 cae 2*+ (a == 0 a 100 := 0 >> a 00 == 0)6 d$ax=.5 ; ele6
d$ax=B5 ;rea5 ; *+(d/=0 >> d4d$ax)9=15 *+(9==0)6 return true5 ;ele6 return +ale5 ; ; !*d +ec,aA%er(*nt d#*nt $#*nt a)6 d--5 *+(d==0)6 $--5 *+($==0)6 $=15d=?15a--5 ; 9*tc,($)6 cae 2 cae 2 cae .2 cae 112d=?05rea5 cae 2*+ (a == 0 a 100 := 0 >> a 00 == 0)6 d=.5 ; ele6 d=B5 ;rea5 de+ault2d=?15 ; ; c!ut//78nla +ec,a de a%er e2 7//d//7<7//$//7<7//a//78n75 ; ?) Inree un arrel! de enter!' El pr!ra$a dee c!l!car l! nH$er! *$pare a la *Ju*erda % l! pare a la derec,a'
3*nclude /*!trea$',4 3*nclude /c!n*!',4 !*d $a*n()6 *nt aKB0#n#r=0#aux5 c!ut//7Inree el nu$er! de dat!28n75 c*n44n5 +!r(*nt *=05*/n5*)6 c!ut // 7Inree 7Inree la p!*c*!n K7//*//7 2 75 c*n 44 aK*5 ; c!ut//78n75 c!ut//7el arrel! e2 8n8n75 +!r(*nt *=05*/n5*)6 c!ut//aK*//78t75 ; c!ut//78n75 +!r(*nt *=05*/n5*)6 *+(aK*==1)6 +!r(*nt =*540r5--)6 aux=aK-15 aK-1=aK5 aK=aux5 ; r5 ;
; c!ut//78n75 c!ut//7el arrel! nal e2 8n8n75 +!r(*nt *=05*/n5*)6 c!ut//aK*//78t75 ; etc,()5 ;
) ea el arrel!2 arra%Pr*nc*palK10=61##?###1##1##1;# arra%Pr*nc*palK10=61##?###1##1##1;# real*ar un pr!ra$a tal Jue n! *nd*Jue cuanta ece e rep*te cada ele$ent! del arrel! repreentQnd!l! c!n ater*c!'
3*nclude /*!trea$',4 3*nclude /c!n*!',4 !*d $a*n()6 *nt arra%Pr*nc*palK10=61 arra%Pr*nc*palK10=61##?###1##1## ##?###1##1##1;5 1;5 *nt auxK105 *nt p!#*e=10#c!ntad!r5 +!r(*nt *=05*/*e5*)6 p!=05 c!ntad!r=05 +!r(*nt =05/*e5)6 *+(arra%Pr*nc*palK* := arra%Pr*nc*palK)6 auxKp!=arra%Pr*nc*palK5 ;ele6 c!ntad!r5
; ; c!ut//7el nu$er! 7//arra%Pr*nc*palK*// 7 e rep*te2 75 +!r(*nt u=05u/c!ntad!r5u)6 c!ut//775 ; c!ut//78n75 *e-=c!ntad!r5 +!r(*nt u=05u/*e5u)6 arra%Pr*nc*palKu=auxKu5 ; *--5 ; etc,()5 ; @) Inrear un arrel! c!n ele$ent! entre 1 % 0 e *ncrutar un ele$ent!' e dee *nrear el ele$ent! ele $ent! a *ncrutar % la p!*c*Sn d!nde e Ju*ere p!ner' p!ner'
3*nclude/+trea$',4 <<*ncruta un ele$ent2 3*nclude/c!n*!',4 3*nclude/tdl*',4 *nt $a*n()6 *nt tKB0#n#ele$ent!# p!*c*!n5 c!ut//7Inree el nu$er! de dat!28n75 c*n44n5 +!r (*nt *=05*/B5*)6
tK*= 1rand()(0)5 ; c!ut//7el arrel! e28n75 +!r (*nt *=05*/n5*)6 c!ut//tK*//78t75 ; c!ut//78n75 d!6 c!ut//7P!*c*!n d!nde *nertar (de 0 a 7//n-1//7)28n75 c*n44p!*c*!n5 ;9,*le(p!*c*!n/0 >> p!*c*!n4n-1)5 c!ut//7Nue! ele$ent!28n75 c*n44ele$ent!5 +!r (*nt *=n-15*4=p!*c*!n5*--)6 tK*1=tK*5 ; tKp!*c*!n =ele$ent!5 c!ut//(7La tala Jueda28n7)5 +!r (*nt *=05*/n15*) c!ut//tK*//78t75 etc,()5 ; ) Inrear un arrel! c!n ele$ent! entre 1 % 10 lue! el*$*nar un ele$ent!' e dee *nrear la p!*c*Sn del ele$ent! a el*$*nar' el*$*nar'
3*nclude/+trea$',4 <
3*nclude/c!n*!',4 3*nclude/tdl*',4 *nt $a*n()6 *nt tKB0#n#p!5 c!ut//7*nree l!n*tud de arrel!28n75 c*n44n5 +!r (*nt *=05*/n5*)6 tK*= 1rand()(10)5 ; c!ut//7el arrel! e28n75 +!r (*nt *=05*/n5*)6 c!ut//tK*//78t75 ; c!ut//78n75 d!6 c!ut//7P!*c*!n a el*$*nar (de 0 a 7//n-1//7)28n75 c*n44p!5 ;9,*le(p!/0 >> p!4n-1)5 +!r (*nt *=p!5*/n-15*)6 tK*=tK*15 ; c!ut//(7El arrel! Jueda28n7)5 +!r (*nt *=05*/n-15*)6 c!ut//tK*//78t75 ; etc,()5 ; ) Inrear un arrel! % un nH$er! % ela!rar un pr!ra$a tal Jue el nH$er! *nread! Juede *ncrutad! aut!$Qt*ca$ente en el arrel! !r**nal de $anera Jue ete !rdenad! de $a%!r a $en!r' 3*nclude/+trea$',4<
c!ut//7*nree cant*dad a *ncrutar28n75 c*n44nu$5 +!r (*nt *=05*/n5*)6 c!ut//7*nree el ele$ent! 7//*1//72 75 c*n44tK*5 ; c!ut//7el arrel! e28n75 +!r (*nt *=05*/n5*)6 c!ut//tK*//7 75 ; c!ut//78n75 +!r(*nt *=05*/n5*)6 +!r(*nt =*15/n5)6 *+(tK*4tK)6 aux=tK5 tK=tK*5 tK*=aux5 ; ; ; p!=05=05 9,*le(tK/nu$ /n)6 5p!5 ; +!r(*nt *=n-15*4=p!5*--)6 tK*1=tK*5 ; tKp! =nu$5 c!ut//78n75 +!r (*nt *=05*/n15*) c!ut//tK*//7 75 etc,()5 ;
B) Ela!rar un pr!ra$a Jue el*$*ne l! ele$ent! repet*d! de un arrel!'
3*nclude/+trea$',4 <
c!ut//aK*//78t75 ;c!ut//78n75 +!r(*nt *=05*/n5*)6 +!r(*nt =*15/n5)6 *+(aK*==aK)6 +!r(*nt =5 /n-15 )6 aK = aK15 ; n--5--5 ; ; ; c!ut//7el arrel! *n repet*c*!ne e2 8n75 +!r(*nt *=05*/n5*)6 c!ut//aK*//78t75 ; etc,()5 ; .) Ela!rar un pr!ra$a tal Jue al *nrear un arrel! (ele$ent! entre 1 % @0) % calcular el p*!te c!$! la e$*u$a del pr*$er % Hlt*$! ele$ent!# e c!l!can l! ele$ent! $en!re Jue el p*!te a la *Ju*erda $*entra l! $a%!re a la derec,a'
3*nclude /*!trea$',4<
!at p*!t5 c!ut//7Inree el nu$er! de dat!28n75 c*n44n5 +!r(*nt *=05*/n5*)6 aK*= 1rand()(.)55 ; c!ut//78n75 c!ut//7el arrel! e28n75 +!r(*nt *=05*/n5*)6 c!ut//aK*//7# 75 ; c!ut//78n75 p*!t=1'0(aK0aKn-1)<5r=05 +!r(*nt *=05*/n5*)6 *+(aK*/=p*!t)6 +!r(*nt =*54r5--)6 aux=aK-15 aK-1=aK5 aK=aux5 ; r5 ; ; c!ut//78n75 c!ut//7el p*!t e2 7//p*!t//78n75 c!ut//78nel arrel! nal e2 8n75 +!r(*nt *=05*/n5*)6 c!ut//aK*//7# 75 ; etc,()5 ; 10) I$pr*$*r un ,*t!ra$a de la edade del cur! de MA1?# el nH$er! de ater*c! e c!rrep!nde c!n el nH$er! de alu$n!# la edade etQn entre 1@ % @ a"!' 3*nclude /c!n*!',4 3*nclude/tdl*',4 !*d $a*n()6
*nt aK100#+K100#n#u# aK100#+K100#n#u##$ax5 #$ax5 c!ut//7Inree el nu$er! nu$er! de dat!28n75 <
<
c*n44u445 *+(u4= >> u/0 >> /0)c!ut//7!rden n! al*d!8n75<< u t*e ne Jue er $a%!r Jue ;9,*le(u4= >> u/0 >> /0)5 +!r(*nt *=u5*/=5*)+K*=05 +!r(*nt =05/n5)6 aK=urand()(-u1)5 +KaK5 ; c!ut//78n75 c!ut//7el arrel! de +recuenc*a e2 8n8n75 +!r(*nt *=u5*/=5*)6 c!ut//77//*//7275 +!r(*nt =05/+K*5)6 c!ut//775 ;c!ut//78n75 ; etc,()5 ;
11) ea el arrel! a=6#11#?#11#1#1B;# a=6#11#?#11#1#1B;# dearr!llar un pr!ra$a tal Jue deplace l! ele$ent! del arrel! c*erta cant*dad ,ac*a adelante' P!r ee$pl! * Ju*er! deplaar en una cant*dad ? reultar&a a=611#1#1B##11#?;'
3*nclude/+trea$',4 <
1) ea cuatr! punt! aleat!r*! en el plan! carte*an!' Guarda$! la ac*a % !rdenada en d! arrel! W % X (t!d! l! ele$ent! etQn entre 1 % .)' Enc!ntrar la $a%!r d*tanc*a enerada enerada entre l! cuatr! punt! e *nd*car l! punt! Jue la eneran' 3*nclude/+trea$',4<
=05 +!r(*nt *=05*/?5*)6 +!r(*nt =*15/5)6 dK=ce*l(Jrt(p!9(xK*-xK#)p!9(%K*-%K#))100)<1005 5 ; ; c!ut//7la d*tanc*a !n2 8n75 +!r(*nt *=05*/5*) c!ut//dK*//78t75 c!ut//78n8n75 $ax=dK05 +!r(*nt *=05*/5*)6 *+(dK*4$ax) $ax=dK*5 ; =05 +!r(*nt *=05*/?5*)6 +!r(*nt =*15/5)6 dK=ce*l(Jrt(p!9(xK*-xK#)p!9(%K*-%K#))100)<1005 *+(dK==$ax)6 px=*5p%=5 ; 5 ; ; c!ut//7la $a%!r d*tanc*a e 7//$ax//7 8n75 c!ut//7l! punt! x2 7//xKpx//7 % 7//xKp%//7 8n75 c!ut//7l! punt! %2 7//%Kpx//7 % 7//%Kp%//7 8n75 etc,()5 ;
1?) D*uar una letra R c!n c!n ater*c! *nreand! el anc,! anc,! % lar! *uale' 3*nclude/+trea$',4 << letra R 3*nclude/c!n*!',4 *nt $a*n()6 *nt n5 c!ut//7*nree anc,! % lar! n28n75 c*n44n5c!ut//78n75 +!r(*nt +=05+/n5+)6 +!r(*nt c=05c/n5c)6 *+(c==0>>+==0>>(+==n< c4=n<)>>(c==n-1+/=n<)>>(c4=n c4=n<)>>(c==n-1+/=n<)>>(c4=n<+==c))6 <+==c))6 c!ut//775 ; ele6 c!ut//7 75 ; ; c!ut//78n75 ; etc,()5 ;
1) D*uar la letra Y c!n ater*c! ater*c! *nreand! el anc,! % lar! *uale' 3*nclude/+trea$',4 << letra Y 3*nclude/c!n*!',4 *nt $a*n()6 *nt n5 c!ut//7*nree anc,! % lar! n28n75 c*n44n5c!ut//78n75 +!r(*nt +=05+/n5+)6 +!r(*nt c=05c/n5c)6 *+(c==0>>(c4=n<c+==n-1)>>(c4=n<c==+))6 c!ut//775 ; ele6 c!ut//7 75 ; ; c!ut//78n75 ; etc,()5 ;
1@) Ela!rar una tala de +recuenc*a al *nrear una cant*dad de dat!' Enc!ntrar el $Qx*$! % $&n*$! $& n*$! al!r# al!r# el nu$er! d *nteral! % l!n*tud del *nteral!' 3*nclude/+trea$',4 3*nclude/c!n*!',4 3*nclude/$at,',4 !*d *nreaect!r(*nt aK100#*nt n)5 !*d !rdenaect!r(*nt aK100# *nt n# *nt $a%!r# $a%!r# *nt $en!r)5 !*d +recuenc*a(*nt aK100# *nt n# *nt $a%!r# $a%!r# *nt $en!r)5 !*d *$pr*$eect!r(*nt K100#*nt n1)5 !*d $a*n()6 *nt n# aKB0#$a%!r#$en!r5 *nreaect!r(a#n)5 c!ut//7el ect!r e2 8n75 *$pr*$eect!r(a#n)5 !rdenaect!r(a#n#$a%!r#$en!r)5 +recuenc*a(a#n#$a%!r#$en!r)5 etc,()5 ; !*d *nreaect!r(*nt aK100#*nt n)6 c!ut//7*nree cant*dad de ele$nt! del ect!r2 75c*n44n5 9,*le(n/=0 >> n4100)6 c!ut // 7cant*dad n! al*da# uela a *nrear28n75 c*n 44 n5 ; +!r(*nt *=05*/n5*)6 c!ut//7*nree el ele$ent! 7//*1//72 75
c*n44aK*5 ; c!ut//78n75 ; !*d !rdenaect!r(*nt aK100#*nt n#*nt $a%!r#*nt $a%!r#*nt $en!r)6 $a%!r=$en!r=aK05 +!r(*nt *=05*/n5*)6 *+($a%!r/aK*)6 $a%!r=aK*5 ; *+($en!r4aK*)6 $en!r=aK*5 ; ; c!ut//7el $a%!r ele$ent! e2 7//$a%!r//7 8n75 c!ut//7el $en!r ele$ent! e2 7//$en!r//78n75 ; !*d +recuenc*a(*nt aK100# *nt n# *nt $a%!r# $a%!r# *nt $en!r)6 *nt IK100#K100#FK100#c!n5!at n*# t*5 n* = 1?'?l!10(1'0n)5 t* =1'0($a%!r-$en!r) < n*5 *+(n*/0'@(ce*l(n*)!!r(n*)))6
<
n*=!!r(n*)5 ;ele6 n*=ce*l(n*)5 ; *+(t*/0'@(ce*l(t*)!!r(t*)))6
<
t*=!!r(t*)5 ;ele6 t*=ce*l(t*)5 ; c!ut//7EL nu$er! de *nteral! e27//n*//78n75c!ut//7l!n*tud del *nteral! e27//t*//78n75 IK0=$en!r5K0=$en!rt*-15 +!r(*nt *=15*/n*5*)6 IK*=K*-115K*=IK*t*-15 ; +!r(*nt *=05*/n*5*)6
c!n=05 +!r(*nt =05/n5)6 *+(aK4=IK* aK/=K*)6 c!n5 ; ; FK*=c!n5 ; c!ut//7La tala de +recuenc*a e28n75 +!r(*nt *=05*/n*5*)6 c!ut//7K7//IK*//7-7//K*1//747//78t7//FK*//78n75 ; ; !*d *$pr*$eect!r(*nt K100#*nt n1)6 +!r(*nt *=05*/n15*)6 c!ut//K*//7# 75 ; c!ut//78n75 ;
1) up!na Jue e le p*de a 0 per!na cal*car c!n la letra a c d % e el dee$pe"! del !*ern! actual' Real*a el ,*t!ra$a para eta c!lecc*Sn de dat! c!n ater*c!' Ee$pl!2 repueta2 c c a c d e e a d c a c c d a' a2
a2
2@
2
c2
c2
d2 ?
d2
e2
e2
!l2 3*nclude /*!trea$',4 3*nclude /c!n*!',4 !*d *nreaArrel!(c,ar dat!KB0# *nt n)5
!*d *$pr*$eArrel!(c,ar dat!KB0# *nt n)5 !*d ,*t!ra$a(c,ar dat!KB0# *nt n)5 !*d $a*n()6 c,ar dat!KB05 *nt n5 *nreaArrel!(dat!# n)5 c!ut // 7la cal*cac*!ne al !*ern! !n28n75 *$pr*$eArrel!(dat!# n)5 c!ut // 7El ,*t!ra$a e28n75 ,*t!ra$a(dat!# n)5 etc,()5 ; !*d *nreaArrel!(c,ar dat!KB0# *nt n)6 c!ut // 7*nree cant*dad de encuetad!2 75 c*n 44 n5 9,*le (n /= 0 >> n4B0)6 c!ut // 7cant*dad n! al*da# uela a *nrear28n75 c*n 44 n5 ; +!r (*nt * = 05 */n5 *)6 c!ut // 7!p*n*!n 7 // * 1 // 72 75 c*n 44 dat!K*5 *+(dat!K*/. >> dat!K*4101)6 c!ut//7al!r ! al*d!# re*nree8n75*--5 <<* *nrea letra d*t*nta a l! etalec*d! ; ; c!ut // 78n75 ; !*d *$pr*$eArrel!(c,ar dat!KB0# *nt n)6 +!r (*nt * = 05 */n5 *)6 c!ut // dat!K* // 7 75 ; c!ut // 78n75 ; !*d ,*t!ra$a(c,ar dat!KB0# *nt n)6 c,ar auxKB0# 95 *nt p!# c!n5 +!r (*nt * = 05 * / n5 *)6 +!r (*nt = * 15 / n5 )6
<
*+ (dat!K / dat!K*)6 9 = dat!K*5 dat!K* = dat!K5 dat!K = 95 ; ; ; +!r (*nt * = 05 * / n5 *)6 *) 6 p! = 0# c!n = 05 +!r (*nt = 05 / n5 )6 ) 6 *+ (dat!K* := dat!K)6 auxKp! = dat!K5 ; ele6 c!n5 ; ; c!ut // 77 // dat!K* // 72 7 // c!n // 77 // 78t7 // 77 // dat!K* // 72 75 +!r (*nt u = 05 u / c!n5 u)6 c!ut // 775 ; c!ut // 78n75 n -= c!n5 +!r (*nt u = 05 u/n5 u)6 dat!Ku = auxKu5 ; *--5 ; ;
1) pr!ra$a para $ult*pl*car d! $atr*ce al*dand! !rden de $ult*pl*cac*Sn
c ij = aik bkj 3*nclude/+trea$',4<<$ult*pl*cac*!n de $atr*ce 3*nclude/c!n*!',4 3*nclude/tdl*',4 !*d $a*n()6 *nt AKB0KB0#ZKB0KB0#CKB0KB0#+a#c AKB0KB0#ZKB0KB0#CKB0KB0#+a#ca#+#c#u$a5 a#+#c#u$a5 d!6 c!ut//7*ntr!duce la de A28n75
c*n44+a5 c!ut//7*ntr!duce c!lu$na de A28n75 c*n44ca5 c!ut//7*ntr!duce la de Z28n75 c*n44+5 c!ut//7*ntr!duce c!lu$na de Z28n75 c*n44c5 *+(ca:=+ >> ca/=0 >> +/=0) c!ut//7!rden n! al*d! para la $ult*pl*cac*!n8n75 ;9,*le(ca:=+ >> ca/=0 >> +/=0)5 +!r(*nt *=05*/+a5*)6 +!r(*nt =05/ca5)6 AK*K=1rand()(.)5 ; ; +!r(*nt *=05*/+5*)6 +!r(*nt =05/c5)6 ZK*K=1rand()(0)5 ; ; c!ut//78nla $atr* A e28n75 +!r(*nt *=05*/+a5*)6 +!r(*nt =05/ca5)6 c!ut//AK*K//78t75 ; c!ut//78n75 ; c!ut//78nla $atr* Z e28n75
+!r(*nt *=05*/+5*)6 +!r(*nt =05/c5)6 c!ut//ZK*K//78t75 ; c!ut//78n75 ; +!r(*nt *=05*/+a5*)6 +!r(*nt =05/c5)6 u$a=05 +!r(*nt =05/+5)6 u$a=u$aAK*KZKK5 ; CK*K=u$a5 ; ; c!ut//78nla $atr* pr!duct! e28n75 +!r(*nt *=05*/+a5*)6 +!r(*nt =05/c5)6 c!ut//CK*K//78t75 ; c!ut//78n75 ; etc,()5 ;
1B) Enc!ntrar el pr!ra$a para un cuadrad! $Q*c! de !rden *$par al*d! para !rden ?#@##.#11' 3*nclude /*!trea$',4<
+!r(=5/=n5)6 prer=*5 prec=5 *--5 *+(*/0) *=n-15 --5 *+(/0) =n-15 *+(aK*K:=0) 6 *=prer5 =prec5 *5 *+(*4n-1) * = 05 aK*K=5 ; ele aK*K=5 ; c!ut//78nel cuadrad! $a*c! e28n75 +!r(*=05 */n5 *)6 +!r(=05 /n5 )6 c!ut//aK*K//78t75 ; c!ut//78n75 ; etc,()5 ;
1.) Deplaar la la de una $atr* ,ac*a aa! (la pr*$era paara a er la eunda# la eunda erQ la tercera# etc'# % la Hlt*$a paara a er pr*$era)' 3*nclude/+trea$',4 3*nclude /c!n*!',4 3*nclude/tdl*',4 !*d *nreaMatr*(*nt aKB0KB0#*nt n#*nt $)5 !*d deplaa(*nt aKB0KB0#*nt n#*nt $)5 !*d $uetraMatr*(*nt aKB0KB0#*nt n#*nt $)5 !*d $a*n()6 *nt aKB0KB0#n#$5 *nreaMatr*(a#n#$)5 c!ut//7la $atr* !r*nal e2 8n8n75 $uetraMatr*(a#n#$)5 deplaa(a#n#$)5 c!ut//78nLa nuea $atr* e28n8n75 $uetraMatr*(a#n#$)5 etc,()5 ; !*d *nreaMatr*(*nt aKB0KB0#*nt n#*nt $)6 c!ut//7*nree d*$enc*!n28n75c*n44n44$5 9,*le(n/ >> $/)6 c!ut//7d*$enc*!n n! al*da#re*nrea28n75c*n44n44$5 ; +!r (*nt *=05*/n5*)6 +!r (*nt =05/$5)6
aK*K=1rand()(.)5 ; ; c!ut//78n75 ; !*d deplaa(*nt aKB0KB0#*nt n#*nt $)6 *nt uKB0#aux5 +!r(*nt =05/$5)6 uK=aKn-1K5 ; +!r(*nt *=n-5*4=05*--)6 +!r(*nt =05/$5)6 aK*1K=aK*K5 ; ; +!r(*nt =05/$5)6 aK0K=uK5 ; ; !*d $uetraMatr*(*nt aKB0KB0#*nt n#*nt $)6 +!r (*nt *=05*/n5*)6 +!r (*nt =05/$5)6 c!ut //aK*K//78t75 ; c!ut // 78n75 ; ;
0) Inert*r l! ele$ent! de la d*a!nal pr*nc*pal de una $atr* cuadrada'
3*nclude/+trea$',4 3*nclude /c!n*!',4 3*nclude/tdl*',4 !*d *nreaMatr*(*nt aKB0KB0#*nt n)5 !*d *n*erte(*nt aKB0KB0#*nt n)5 !*d $uetraMatr*(*nt aKB0KB0#*nt n)5 !*d $a*n()6 *nt aKB0KB0#n5 *nreaMatr*(a#n)5 c!ut//7la $atr* !r*nal e2 8n8n75 $uetraMatr*(a#n)5 *n*erte(a#n)5
c!ut//78nLa nuea $atr* e28n8n75 $uetraMatr*(a#n)5 etc,()5 ; !*d *nreaMatr*(*nt aKB0KB0#*nt n)6 c!ut//7*nree d*$enc*!n28n75c*n44n5 9,*le(n/)6 c!ut//7d*$enc*!n n! al*da#re*nrea28n75c*n44n5 ; +!r (*nt *=05*/n5*)6 +!r (*nt =05/n5)6 aK*K=10rand()(B1)5 ; ; c!ut//78n75 ; !*d *n*erte(*nt aKB0KB0#*nt n)6 *nt aux5 +!r (*nt *=05*/n<5*)6 aux=aK*K*5aK*K*=aKn-1-*Kn-1-*5aKn-1-*Kn-1-*=aux5 ; ; !*d $uetraMatr*(*nt aKB0KB0#*nt n)6 +!r (*nt *=05*/n5*)6 +!r (*nt =05/n5)6 c!ut //aK*K//78t75 ; c!ut // 78n8n75 ; ;