Escolar Documentos
Profissional Documentos
Cultura Documentos
Arreglo unidimensional
Una arreglo uni-dimensional es aquel en donde los componentes son accedidos por
medio de uno y solamente un índice que apunte al componente requerido. Los arreglos
de este tipo son conocidos también con el nombre de vectores. Conceptualmente,
podemos pensar en un arreglo unidimensional como en una lista compuesta de líneas o
filas en donde para referinos a un elemento de ella emplearemos un número para indicar
la posición de dicho elemento dentro de la lista. Por ejemplo, consideremos el caso de la
tabla o arreglo VentaSemanal, la cual está pensada para registrar las ventas de cada uno
de los días de la semana. Luego, de manera conceptual podemos ver al arreglo como se
muestra en la figura.
arreglo: VentaSemanal
+------+
| dato | <-- componente 0, ( fila 0 )
|------|
| dato | <-- componente 1, ( fila 1 )
|------|
| dato | ...
|------|
| dato | ...
|------|
| dato | ...
|------|
| dato | ...
|------|
| dato | <-- componente 6, ( fila 6 )
|------|
Arreglo bidimensional
Un arreglo bidimensional es aquel en donde los componentes son accedidos por medio
de una pareja de índices que apunten a la fila y columna del componente requerido. Los
arreglos de este tipo son conocidos también con el nombre de matrices.
Conceptualmente, podemos pensar en un arreglo bidimensional como en una lista
compuesta de filas y columnas, en donde para referirnos a una de ellas emplearemos un
número para indicar la posición de fila y otro número para indicar la posición de la
columna del componente deseado. Por ejemplo, consideremos el caso de la tabla o
arreglo VentaSemanaQ, la cual está pensada para registrar las ventas de cada uno de los
días de la semana por cuatro semanas, o sea , una tabla de 7 x 4 elementos. Luego, de
manera conceptual podemos ver al arreglo como se muestra en seguida.
arreglo: VentaSemanaQ
C O L U M N A S
+--- componente ( 0, 0 )
|
+------+------+------+------+
| dato | dato | dato | dato |
|------|------|------|------|
F | dato | dato | dato | dato |
|------|------|------|------|
I | dato | dato | dato | dato |
|------|------|------|------|
L | dato | dato | dato | dato |
|------|------|------|------|
A | dato | dato | dato | dato |
|------|------|------|------|
S | dato | dato | dato | dato |
|------|------|------|------|
| dato | dato | dato | dato |
+------+------+------+------+
|
+---- componente ( 6, 3 )
Ejemplo1:
A continuación se muestra un ejemplo que asigna al primer elemento de un arreglo bidimensional cero, al
siguiente 1, y así sucesivamente.
int main()
{
int t,i,num[3][4];
#include <stdio.h>
#define DIAS 7
#define HORAS 24
int main()
{
int temp[DIAS][HORAS];
float media = 0;
int hora, dia;
Para inicializar los arreglos con valores desde el inicio se hace de la siguiente manera:
int temperaturas[3][5] = {
{ 15, 17, 20, 25, 10 },
{ 18, 20, 21, 23, 18 },
{ 12, 17, 23, 29, 16 } };
Quedando así:
El termino Iterar se refiere al hecho de acceder ( con el fin de leer o escribir) sobre cada
uno de los componenes de un arreglo. Así, para poner un ejemplo reconsideremos el
caso de la tabla VentaSemanal (vista en una sección anterior), y que dicho se de paso es
un arreglo de 7 elementos de tipo double. Luego, vamos a mostrar como ejemplo un
programa completo en el cual se declara el arreglo mencioando con valores
inicializados, mismos que serán mostrados en pantalla y al final la suma de estos.
Observe que la variable i usada para iterar dentro del arreglo va desde 0 hasta FILAS - 1
( FILAS es el tamaño del arreglo ).
Nota: por motivos de simplificación el programa está escrito al estilo de C estándar. Sin
embargo puede ser compilado y ejecutado en un compilador de C++.
Ejemplo3:
#include <stdio.h>
#include <stdlib.h>
#define FILAS 7
int main()
{
float VentaSemanal[FILAS] = {
123.50, 234.60, 345.45, 321.40, 345.00, 456.65, 0.0 };
float total = 0;
int i;
puts("Ventas de la semana");
puts("-------------------");
puts("--------");
printf("%8.2f\n", total );
system("pause");
return 0;
}
Con el fin de leer o escribir sobre cada uno de los componentes de una matriz se deben
crear dos ciclos de iteración. Así, para poner un ejemplo reconsideremos el caso de la
tabla VentaSemanaQ (vista en una sección anterior), y que dicho se de paso es un
arreglo de 7 x 4 elementos de tipo double. Luego, vamos a mostrar como ejemplo un
programa completo en el cual se declara el arreglo mencionado con valores
inicializados, mismos que serán mostrados en pantalla y al final la suma de estos.
Observe que en este caso se utilizan dos variables, una para iterar sobre las filas y otra
para iterar sobre las columnas de la matriz.
Ejemplo4:
#include <stdio.h>
#include <stdlib.h>
#define FILAS 7
#define COLS 4
int main()
{
float VentaSemanaQ[FILAS][COLS] = {
123.50, 234.60, 345.45, 321.40,
345.00, 456.65, 123.50, 234.60,
345.45, 321.40, 345.00, 456.65,
123.50, 234.60, 345.45, 321.40,
345.00, 456.65, 123.50, 234.60,
345.45, 321.40, 345.00, 456.65,
0.0, 0.0, 0.0, 0.0 };