Arreglos Bidimensionales Otg (2)

Embed Size (px)

Citation preview

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    1/23

    ARREGLOSBIDIMENSIONALES

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    2/23

    Arreglo bidimensionalEs un conjunto de datos homogéneo !nito" ordenado donde se hace re#erencia a

    cada elemento $or medio de dos %ndices&

    El $rimero se utili'a $ara los renglones(!las) " el segundo $ara las columnas&

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    3/23

    CONCEPTOS BÁSICOS*na matriz es un arreglo de + dimensiones&

    Declaración:int notas,-.,/0.1 Arra" bidimensional de - 2/0

    enteros (matriz)3oat $lan,4.,+.,5.1 Arra" tridimensional de

    42+25 reales (cubo)

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    4/23

    MATRICES

    Arreglos bi-dimensionales en C 

    Ejemplo:

    Matriz M(3,3) =

     _ _ | 1 2 3 || 4 5 6 || 7 8 9 |- -

    M M(,)

    M(,1)

    M(,2)

    1

    2

    3

    !"#i$e %ila&

    4

    5

    6

    7

    8

    9

    M(1,1)

    M(2,1)

    !"#i$e $ol'm""a&

    En C++:

    int  M33*M = 1*M1 = 2*M2 = 3*M1 = 4*

    M11 = 5*M12 = 6*M2 = 7*M21 = 8*M22 = 9*

    cout

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    5/23

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    6/23

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    7/23

    Pseudocódigo (recorrido !las"6onst

      M89alor/

      N8 9alor+ :i$o  Arra",/&&M/&&N. de real;matri'

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    8/23

    Pseudocódigo (recorrido columnas"El recorrido $or columnas se hace de manerasimilar in9irtiendo el sentido de los %ndices&

    Desde j 8 / hasta N hacer  Desde i 8 / hasta M hacer  Escribir (A,ij.)

      =in>desde=in>desde

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    9/23

    E#em$lo 0/?include @iostreamusing names$ace std1main()

      int i C m n 1  int A,/00.,/00.1  cout@@ ingresar el 9alor de m;1  cin m1  cout@@ ingresar el 9alor de n;1  cin n1  cout@@Ingresar com$onentes@@endl1

      #or ( i 8 /1 i @8 m1 i )    #or ( C 8 /1 C @8 n1 C )  cin A,i.,C.1  F  cout@@Mostrar com$onentes@@endl1  #or ( i 8 /1 i @8 m1 i ) 

      #or ( C 8 /1 C @8 n1 C )  cout@@ A,i.,C.@@ 1  cout@@endl1F  return 01F

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    10/23

    %&&E'OS BIDI)ENSION%ES:OPE&%CIONES BÁSIC%S CON )%T&ICES

    %cciones &esultadosngreso #or(i8o1i@n1i)

      #or(j801j@n1j)  cout@@HM,H@@i@@H.@@H,H@@j@@H.;1  cinmatri',i.,j.1 F F

    Escritura #or(i8o1i@n1i)  #or(j801j@n1j) 

    cout@@HM,H@@i@@H.@@H,H@@j@@H.;@@matri',i.,j.1

      F F

    Suma #or(i8o1i@n1i)  #or(j801j@n1j)  c,i.,j. 8 a,i.,j. b,i.,j.1 F F

    Jroductoescalar

    #or(i8o1i@n1i)  #or(j801j@n1j)

      c,i.,j. 8 a,i.,j. K numero F F

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    11/23

    ) TODOS DE B S,-ED% DE D%TOSEN )%T&ICES: B+S,-ED%SEC-ENCI%

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    12/23

    ?include @iostreamusing names$ace std1main ()

    int $os#$osc1int a,50.,50.nij#c1cout@@INGRESAR EL N*MERO

    DE =ILAS DE LA MA:RI; 1cin#1cout@@endl1cout@@INGRESAR EL N*MERO

    DE 6OL*MNAS DE LA MA:RI; 1cinc1cout@@endl1#or(i801i@#1i)

    #or(j801j@c1j)cout@@Ingresar

    elemento M,@@i/@@j/@@.; 1cin a,i.,j.1cout@@endl1

    FF

    $o't++./0E0 EEME. 0 E. E 00: *$i";*$o't++e"#l*%or(i=*i+%*i

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    13/23

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    14/23

    &amo& la e&tr'$t'ra Aor!  para a$$e#er lo& eleme"to& #e la matriz

    "deine BM1 3"deine BM2 3#

    int i, j, C*int  MBM1BM2 = 1,2,3,4,5,6,7,8,9?* Di"i$ializa la matriz M D

    C=1*or ( i=* i+BM1* i

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    15/23

    $roblema: E&$ri@a '" proGrama H'e lea '"a matriz $'a#ra#a, la

    pre&e"te e" pa"talla, I "o& e&$ri@a la &'ma #e to#o& lo& "Jmero& H'e"o e&tK" e" la #iaGo"al

    "include +io&tream&i"G "ame&pa$e &t#*"deine L 3deine  M 3 mai"()  D Be$lara$io" #e Naria@le& D  int  MLM D E.0B &e G'ar#a e" arreGlo #e 2 #ime"&io"

      int i, j, &'ma*

      D le$t'ra por %ila&, la matriz e& $'a#ra#a D  or ( i=* i+L* i

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    16/23

      D e&$rit'ra por %ila&, la matriz e& $'a#ra#a D  or ( i=* i+L* i

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    17/23

    MATRICES

    Arreglos multi-dimensionales en C 

    %eclarar un arreglo multidimensional en C:

    tipo "om@re-arreGlo#im-1#im-2P#im-"* &so del or para acceder a sus elementos:

    int "om@re-arreGlo#im-1#im-2P#im-"*

    or ( i=* i+#im-1* i

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    18/23

    E#ercicioeer lo& #ato& #e '"a matriz 3 ; 4, #e"omi"a#aMatriz, I mo&trar la &'ma #e lo& #ato& #e $a#a %ila

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    19/23

    i"$l'#e +io&tream'&i"G "ame&pa$e &t#*i"t mai"()i"t matriz34*i"t arreGlo3*i"t i,j*DD"Gre&o #e lo& #ato&%or (i=*i+3*i

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    20/23

    E#ercicio

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    21/23

    Caso $ara resol.er en gru$oEl #'eRo #e '"a $a#e"a #e tie"#a& #e artS$'lo&#eportiNo& #e&ea $o"trolar &'& Ne"ta& por me#io #e '"a$omp'ta#ora T o& #ato& #e e"tra#a &o" :a) El "'mero #e la tie"#a (1 a 1)

    @) " "'mero H'e i"#i$a el #eporte #el arti$'lo (1 a 2)$) El $o&to #el arti$'loTUa$er '" proGrama H'e e&$ri@a al %i"al #el #Sa lo&iG'ie"te1T a& Ne"ta& totale& e" el #Sa para $a#a tie"#a2Ta& Ne"ta& totale& para $a#a '"o #e lo& #eporte&T3T a& maIor Ne"ta #e to#a& la& tie"#a I a H'e #eporteperte"e$eT

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    22/23

    CA%E(AS) como arreglos de caracteres

    c*ar   $a#e"a5*

    $a#e"a1 = AUF*$a#e"a2 = AoF*$a#e"a3 = AlF*$a#e"a4 = AaF*$a#e"a5 = AQF*

      #i%ere"$ia #e otro& le"G'aje& #e proGrama$i>" H'e emplea" '" tipo#e"omi"a#o $a#e"a string  para ma"ip'lar '" $o"j'"to #e &Sm@olo&, e"

    , &e #e@e &im'lar me#ia"te '" arreGlo #e $ara$tere&, e" #o"#e latermi"a$i>" #e la $a#e"a &e #e@e i"#i$ar $o" "'loT

    " "'lo &e e&pe$i%i$a $omo '\0' T Vor lo a"terior, $'a"#o &e #e$lare '"arreGlo #e $ara$tere& &e #e@e $o"&i#erar '" $arK$ter a#i$io"al a la

    $a#e"a mK& larGa H'e &e NaIa a G'ar#arT

    cadena

    o

    l

    a

     ,

  • 8/15/2019 Arreglos Bidimensionales Otg (2)

    23/23

    CA%E(AS) como arreglos de caracteres

     l i"i$ializar arreGlo& #e $ara$tere& al mome"to #e #e$lararlo& a'tomKti$ame"te a&iG"a el $arK$ter "'lo al %i"al #e la $a#e"a

    c*ar  "om@re_arr 7 = $a#e"a* c*ar  ejemplo7*

    E& eH'iNale"te a:

    "om@re_arr = A$F*

    "om@re_arr 1 = AaF*"om@re_arr 2 = A#F*"om@re_arr 3 = AeF*"om@re_arr 4 = A"F*"om@re_arr 5 = AaF*

    "om@re_arr 6 = AQF*

    i" em@arGo, . E VEBE /.0 '"a $a#e"a a '" arreGlo

      "om@re-arr = WB_EX* D E000 Dejemplo = "om@re-arr* D E000 Di (op$io" == W&iX) D E000 D