0% encontró este documento útil (0 votos)
78 vistas8 páginas

Arreglos y Matrices

Este documento describe conceptos básicos sobre arreglos y matrices en C++. Explica que un arreglo es una colección ordenada de variables del mismo tipo y que pueden organizarse en subgrupos llamados dimensiones. También cubre temas como índices, declaración e inicialización de arreglos, arreglos de caracteres, matrices, uso de arreglos como parámetros y operadores aritméticos de matrices.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
78 vistas8 páginas

Arreglos y Matrices

Este documento describe conceptos básicos sobre arreglos y matrices en C++. Explica que un arreglo es una colección ordenada de variables del mismo tipo y que pueden organizarse en subgrupos llamados dimensiones. También cubre temas como índices, declaración e inicialización de arreglos, arreglos de caracteres, matrices, uso de arreglos como parámetros y operadores aritméticos de matrices.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 8

Universidad Tecnológica de Tijuana

Principios de programación

Docente: Arisbeth Bernal Salinas

Tarea 1. Arreglos y matrices

Alumna: Pinacho Toledo Alessandra

Mantenimiento en área industrial

Grupo c

18 de noviembre del 2021


Arreglo en C++

Un arreglo es una colección ordenada de variables del mismo tipo. Las variables que
pertenecen a un arreglo se conocen por el nombre de elementos.

El termino colección ordenada, se refiere a que hay un primer elemento, un segundo, un


tercero, un cuarto y así sucesivamente.

Nota: los elementos se pueden organizar en subgrupos, llamados dimensiones.

Dimensiones

El subgrupo más pequeño posible se conoce como un arreglo de una dimensión. Un


arreglo de dos dimensiones se subdivide en arreglos de una dimensión. Un arreglo de
tres dimensiones se subdivide en arreglos de dos dimensiones los cuales a su vez se
dividen en arreglos de una dimensión. Un arreglo de cuatro dimensiones se subdivide en
arreglos de tres dimensiones los cuales a su vez se dividen en arreglos de dos
dimensiones los cuales a su vez se dividen en arreglos de una dimensión.

Índice

El índice de un array se denomina, con frecuencia, subíndice del array. El método de


numeración del elemento i-ésimo con el índice o subíndice i - 1 se denomina indexación
basada en cero. Todos los subíndices de los arrays comienzan con 0.

Nota: Su uso tiene el efecto de que el índice de un elemento del array es siempre el
mismo que el número de “pasos” desde el elemento inicial a [0] a ese elemento. Por
ejemplo, a [6] está a 6 pasos o posiciones del elemento a [0].
Antes de que un array sea usado se deben asignar v alores a sus elementos, tal como
se asignan valores a variables.

Ejemplo: para asignar valores a cada elemento del array de 4 enteros a, se puede
escribir: a [0] = 0; a [1] = 10; a [2] = 20; a [3] = 30

Nota: este método no es práctico cuando el array contiene muchos elementos.

Observaciones:

 Para nombrar un elemento en un arreglo hay que indicar el nombre del arreglo,
seguido de tantas parejas de corchetes [ ] como dimensiones declaradas.
 Dentro de cada pareja de corchetes tiene que haber un índice.
 La combinación de los índices indica la posición del elemento dentro del grupo.
El valor mínimo para un índice es 0.
 El valor máximo es uno menos que el tamaño de la dimensión correspondiente
en la declaración del arreglo.

Ejemplo #1

Declaración
int a [3]; // forma una secuencia de tres elementos
Nombre del grupo
a
Nombre de los elementos
a [0] -> primer elemento
a [1] -> segundo elemento
a [2] -> tercer elemento
Ejemplo #2. Declaraciones e inicialización simultánea de arrays.

int num[5]= {10,20,30,40,50}; //declara e inicializa un array de 5 enteros


float x [ ] = {1.0,22.0,3.5} //declara e inicializa un array de 3 reales
// Se pueden asignar constantes simbólicas como valores numéricos
const int ENE = 31, FEB = 28, MAR = 31, ABR = 30, MAY = 31, JUN = 30, JUL = 31,
AGO = 31, SEP = 30, OCT = 31, NOV = 30, DIC = 31;
int meses[12] = {ENE, FEB, MAR, ABR, MAY, JUN, JUL, AGO, SEP, OCT, NOV, DIC};

Arrays de caracteres y cadenas de texto

Una cadena de texto es un conjunto de caracteres, por ejemplo: "abcdef". Las cadenas
contienen carácter nulo ( ́\0 ́), cuyo valor en el código ASCII es 0 al final del array de
caracteres. El medio más fácil de inicializar un array de caracteres es hacerla
inicialización de la declaración.

Nota: El código ASCII representa un conjunto de números desde el 0 al 127, en escala


decimal.

Ejemplo #1

char ch[] = {'L','u','i','s',' ', 'y',' ','L','u','c','a','s'}; //Declara un array de 12 caracteres


char ch[] = {"Ejemplo"}
char cadena[] = "abcdef";

Ejemplo #2. Para la biblioteca estándar strcpy () (copiar cadenas) permite copiar una
constante de cadena en una cadena. Sin embargo, no puede asignar se un valor a una
cadena con la asignación.

char Cadena[6];
strcpy(Cadena,"abcde");
Es equivalente a la siguiente declaración.
char Cadena[6] = "abcde";
char Cadena[7] = "abcde";

0 1 2 3 4 6
Cadena a b c d e /0

No se puede asignar una cadena a un array del siguiente modo:

char Cadena[6];
Cadena = "abcde";

Matrices en C++

Las matrices o arreglos multidimensionales son una estructura de datos bastante similar
a los vectores o arreglos. Es una serie de vectores contenidos uno en el otro (u otros),
es decir, una matriz es un vector cuyas posiciones son otros vectores.

La sintaxis para la declaración de un array de dos dimensiones es:

<TipoElemento><nombrearray>[<NúmeroDeFilas<][<NúmeroDeColumnas>]

Ejemplo bidimencional: Se quiere guardar datos de dos


#include <iostream> grupos de alumnos, cada uno

using namespace std; tiene 20 alumnos, empleamos int

int main() datosAlumnos [2] [20] y entonces


sabemos que los datos de la
{
forma datosAlumnos [0] [i] son los
int notas[2][10] =
del primer grupo, y los
{
datosAlumnos [1] [i] son los del
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
segundo.
{11, 12, 13, 14, 15, 16, 17, 18, 19, 20
};
cout << "La nota del tercer alumno del grupo 1 es "
<< notas[0][2];
return 0;
}

Ejemplo tridimensional:

#include <cstdlib> Array tridimensional. Se declara un


#include <iostream> array tridimensional para almacenar
#define dias 31 las temperaturas de cada uno de los 60
#define horas 24 minutos de las 24 horas de un mes de
#define minutos 60 31 días. Se declaran como constantes
using namespace std; días, horas y minutos. En tres bucles
int main(int argc, char *argv[]) anidados se leen la temperatura de
{ cada uno de los 60 minutos, de las 24

int i, j, k; horas, de los 31 días de un mes.

float A[dias][horas][minutos], media; Posteriormente, se calcula y se escribe


la media de temperatura de cada día.
//lectura de las temperaturas.
for(i = 0; i < dias; i++)
for (j = 0; j < horas;j++)
for (k = 0; k < minutos; k++)
cin >> A[i][j][k];
for(i = 0; i < dias; i++)
{ //cálculo de la media de cada uno de los días.
media = 0;
for ( j = 0 ; j < horas; j++)
for ( k = 0; k < minutos; k++)
media += A[i][j][k];
cout<<" dia " << i+1 << " " << media /(horas * minutos) << endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}

Utilización de arrays como parámetros

La declaración en la función de que un parámetro es un array se realiza:

<tipo de datoElemento> <nombre array> [<Cota1>]. O mejor

<tipo de datoElemento> <nombre array> []. O bien

<tipo de datoElemento> *<nombre array>

Operadores aritméticos de matrices


Operador Finalidad Descripción

Multiplicación de C = A*B es el producto algebraico lineal de las


* matrices matrices A y B. El número de columnas de A debe
ser igual al número de filas de B.
\ División izquierda de x = A\B es la solución a la ecuación Ax = B. Las
matrices matrices A y B deben tener el mismo número de filas.
División derecha de x = B/A es la solución a la ecuación xA = B. Las
/ matrices matrices A y B deben tener el mismo número de
columnas. En términos del operador de división
izquierda, B/A = (A'\B')'.
Potencia de matrices A^B es A a la potencia B, si B es un escalar. En otros
^ valores de B, el cálculo implica valores y vectores
propios.
Operadores aritméticos de matrices
Operador Finalidad Descripción

+ Adición A+B suma A y B.


+ Más unario +A devuelve A.
- Sustracción A-B resta B de A
- Menos unario -A niega los elementos de A.
.* Multiplicación elemento por A.*B es el producto elemento por elemento
elemento de A y B.
.^ Potencia elemento por AB es la matriz con los elementos A(i,j) a la
elemento potencia B(i,j).
./ División derecha de arreglos A./B es la matriz con los elementos A(i,j)/B(i,j).
.\ División izquierda de arreglos A.\B es la matriz con los elementos B(i,j)/A(i,j).
.' Trasposición de arreglos A.' es la traspuesta de arreglos de A. En
matrices más complejas, esta no implica
conjugación.

(LUIS JOYANES AGUILAR, 2006) (Aguilar) (Battistutti, Primera edicion 2006)

Bibliografía

Aguilar, L. J. (s.f.). Fundamentos de programacion . 28023 Aravaca (Madrid):


IMPRESO EN ESPAÑA.
Battistutti, O. C. (Primera edicion 2006). Fundamentos de progracmacion. Piensa en C.
Mexico .
Dra. María del Carmen Gómez Fuentes, D. J. (Primera edición 2013). Inicialízate en la
programacion con C++. Impreso por Publidisa Mexicana S. A. de C.V.
LUIS JOYANES AGUILAR, L. S. (2006). Programación en C++. Un enfoque práctico.
28023 Aravaca (Madrid): IMPRESO EN ESPAÑA.

También podría gustarte