Chapter 4
Chapter 4
IGEN 2120
Introducción en Ingeniería de
Computación
Arrays
An array is a series of elements of the same type placed in contiguous memory
locations that can be individually referenced by adding an index to a unique
identifier. That means that, for example, we can store 5 values of type int in
an array without having to declare 5 different variables, each one with a
different identifier. Instead of that, using an array we can store 5 different
values of the same type, int for example, with a unique identifier.
For example, an array to contain 5 integer values of type int called billy could
be represented like this:
where each blank panel represents an element of the array, that in this case
are integer values of type int. These elements are numbered from 0 to 4
since in arrays the first index is always 0, independently of its length.
Therefore, in order to declare an array called billy as the one shown in the
above diagram it is as simple as:
NOTE: The elements field within brackets [ ] which represents the number of
elements the array is going to hold, must be a constant value, since arrays
are blocks of non-dynamic memory whose size must be determined before
execution. In order to create arrays with a variable length dynamic memory
is needed, which is explained later in these tutorials.
Initializing arrays.
When declaring a regular array of local scope (within a function, for example), if
we do not specify otherwise, its elements will not be initialized to any value
by default, so their content will be undetermined until we store some value
in them. Global and static arrays, on the other hand, are automatically
initialized filled with zeros. In both cases, local and global, when we declare
an Array, we have the possibility to assign initial values to each one of its
elements by enclosing the values in braces { }. For example:
int billy [5] = { 16, 2, 77, 40, 12071 }; This declaration would have created an
array like this:
The amount of values between braces { } must not be larger than the number of
elements that we declare for the array between square brackets [ ]. For
example, in the example of array billy we have declared that it has 5
elements and in the list of initial values within braces { } we have specified 5
values, one for each element.
Initializing arrays.
When an initialization of values is provided for an array, C++ allows the
possibility of leaving the square brackets empty [ ]. In this case, the compiler
will assume a size for the Array that matches the number of values included
between braces { }:
After this declaration, Array billy would be 5 ints long, since we have provided 5
initialization values.
Accessing the values of an Array.
In any point of a program in which an array is visible, we can access the value
of any of its elements individually as if it was a normal variable, thus being
able to both read and modify its value. The format is as simple as:
name[index]
Following the previous examples in which billy had 5 elements and each of
those elements was of type int, the name which we can use to refer to each
element is the following:
For example, to store the value 75 in the third element of billy, we could write
the following statement:
billy[2] = 75;
and, for example, to pass the value of the third element of billy to a variable
called a, we could write:
a = billy[2];
Therefore, the expression billy[2] is for all purposes like a variable of type int.
Accessing the values of an Array.
Notice that the third element of billy is specified billy[2], since the first one is
billy[0], the second one is billy[1], and therefore, the third one is billy[2]. By
this same reason, its last element is billy[4]. Therefore, if we write billy[5],
we would be accessing the sixth element of billy and therefore exceeding
the size of the array.
cout << "El arreglo ordenado de menor a mayor es: " << endl;
for (i = 0 ; i < 10 ; i++)
{
cout << "arreglo["<<i<<"]="<<arreglo[i] << endl;
arreglotemp[i]=arreglo[i];
}
for (i = 0 ; i < 10 ; i++)
{
arreglo[i]=arreglotemp[9 - i];
}
cout << "El arreglo ordenado de mayor a menor es: " << endl;
for (i = 0 ; i < 10 ; i++)
cout << "arreglo["<<i<<"]="<<arreglo[i] << endl;
return 0;
}
Multidimensional Arrays .
Multidimensional arrays can be described as "arrays of arrays". For example, a
bidimensional array can be imagined as a bidimensional table made of
elements, all of them of a same uniform data type.
jimmy represents a bidimensional array of 3 per 5 elements of type int. The way
to declare this array in C++ would be:
int jimmy [3][5];
and, for example, the way to reference the second element vertically and fourth
horizontally in an expression would be:
jimmy[1][3]
Ejercicios
• Elabora un programa 15 8 7 6 35 8 9
en el cual puedas
introducir desde teclado
la siguiente tabla en un 48 5 2 37 10 1 6
arreglo Bidimensional:
94 58 7 58 6 45 68