Está en la página 1de 7

Instituto Tecnológico de Toluca

Ingeniería Industrial
Algoritmos y Lenguajes de Programación

5.2 Arreglos Unidimensional

Un arreglo unidimensional, es una colección ordenada de elementos todos del


mismo tipo bajo un mismo nombre y se diferencian por la posición que tiene cada
elemento dentro del arreglo de datos.

Igual que sucede con otras variables, antes de ser utilizadas deben declararse.

La declaración de un vector especifica el nombre, el número y el tipo de dato de los


elementos.

Por ejemplo, el siguiente es un vector de nombre V de tamaño 5 de elementos


enteros:

0 1 2 3 4
V 15 23 58 96 75

La siguiente es la sintaxis en “C” para declarar el vector:

Int V [5] Donde:


Tipo nombre [tamaño];

Tipo: Indica el tipo de dato de los elementos del vector, que pueden ser de cualquier
tipo primitivo o definido por el usuario.

Nombre: Es un identificador que nombra al vector

Tamaño: Constante entera que especifica el número de elementos del vector

Ejemplos:

1
LSCA. Andrea O. Nájera Avila
Instituto Tecnológico de Toluca
Ingeniería Industrial
Algoritmos y Lenguajes de Programación

int m[10]; Significa que se declara el vector m de 10 elementos de tipo entero


que pueden ser las edades de diez personas

float R[5]; Significa que se declara el vector R de 5 elementos de tipo flotante,


que pueden ser precios de cinco productos.

double LD [100]; Significa que se declara el vector LD de 100 elementos de tipo


double, que pueden ser los datos de temperatura para un experimento.

Cómo acceder a los elementos de un vector:

a. En forma directa
b. A través de una estructura de control repetitiva donde se despliegue toda la
información contenida en el vector.

a. Forma directa.

Se utiliza el nombre del vector seguido del subíndice entre corchetes.

Por ejemplo, para acceder al tercer elemento del vector V y guardarlo en una
variable simple x se escribe de la siguiente manera:

0 1 2 3 4
V 15 23 58 96 75

x = v[2];
printf (“%d”, x); dará como resultado 58

Ejemplo:

int m[100], k=0, a=0;


//…..
a= m[1]+m[99];
k=50;

2
LSCA. Andrea O. Nájera Avila
Instituto Tecnológico de Toluca
Ingeniería Industrial
Algoritmos y Lenguajes de Programación

[k]++;
m[k+1]=m[k];

Observe que para referenciar un elemento del vector se puede utilizar como
subíndice una constante, una variable o una expresión de tipo entero. El subíndice
especifica la posición del elemento dentro del vector. La primera posición es la 0.

Nota: Si se intenta acceder a un elemento con un subíndice menor o igual que cero
o mayor que el número de elementos de la matriz menos uno, el compilador de “C”
no checa el error, es el sistema operativo quien lo hace enviando un mensaje de
error, solo si el intento transgrede los límites de la zona de memoria asignada por él
a dicha aplicación.

Por lo tanto es responsabilidad del programador escribir el código necesario para


detectar ese tipo de error, esto se hace verificando siempre que el índice está entre
0 y el tamaño del arreglo menos 1.

Por ejemplo:

#define N 100 //Asigna el tamaño del vector a una constante N//…


int m[N], k=0; // Declara el vector m de tamaño N//…..
k=99; // k es utilizada como subíndice
if (k >= 0 && k < N-1) // Valida que k se encuentre en el rango de 0 a 99
m[k+1]=m[k];
else
printf(“Indice fuera de límites\n”);
//…

b. Acceder a los elementos del arreglo través de una estructura de control


repetitiva

Para explicar el tema se realizará un programa para que el usuario capture 6 datos
de tipo flotante a un vector llamado temperatura.

Primer paso: Declarar variables a utilizar

3
LSCA. Andrea O. Nájera Avila
Instituto Tecnológico de Toluca
Ingeniería Industrial
Algoritmos y Lenguajes de Programación

float temperatura[6]; // declara el vector temperatura de 6 elementos


int c; // variable subíndice que cuenta los elementos del vector

Segundo paso: Capturar los elementos del vector

for (c=0; c<6; c++) // el rango de la condición es de 0 a 5


{
printf(“Dame el elemento %d =”, c); // despliega el mensaje de captura. %d tipo
de dato del subíndice, siempre es entero
scanf(“%f”, &temperatura[c]); // %f es el formato del tipo de dato de la
} temperatura, valor que guarda el vector

Tercer paso: Desplegar los elementos capturados en el vector.

for (c=0; c<6; c++) // el rango de la condición es de 0 a 5


{
printf(“temperatura[%d]= %f \n”, temperatura[c]); // despliega el valor contenido
en el vector temperatura
}

El programa completo se presenta a continuación:

/* temperaturas.c

Objetivo: Guardar en un vector las temperaturas de 6 reacciones


de un experimento
*/
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

main()

4
LSCA. Andrea O. Nájera Avila
Instituto Tecnológico de Toluca
Ingeniería Industrial
Algoritmos y Lenguajes de Programación

{
float temperatura[6]; //declarar vector temperatura de 6 elementos
int c; // variable subíndice que cuenta los elementos del vector
// Capturar los elementos del vector
for (c=0; c<6; c++) // el rango de la condición es de 0 a 5.
{
printf("Dame el elemento %d =", c); // despliega el mensaje de captura.
%d tipo de dato del subíndice, siempre es entero
scanf("%f", &temperatura[c]); // %f es el formato del tipo de dato de
la temperatura.
}
for (c=0; c<6; c++) // Impresión de resultados
{
printf("temperatura [%d] = %.2f \n",c, temperatura[c]);
// Despliega el valor contenido en el vector temperatura
}
getch();
}

Ejemplo 1: Elabore un programa que guarde en un vector los 100 primeros números
enteros y los muestre en pantalla en orden ascendente.

#include <stdio.h>
#include <stdlib.h>

main()
{
int x,tabla[100];

for (x=1;x<=100;x++)
{
tabla[x]=x;
}

for (x=1;x<=100;x++)
{

5
LSCA. Andrea O. Nájera Avila
Instituto Tecnológico de Toluca
Ingeniería Industrial
Algoritmos y Lenguajes de Programación

printf("%d\n",tabla[x]);
}

system("PAUSE");
return 0;
}

Ejemplo 2: Elabore un programa que guarde en un vector los 100 primeros números
enteros y los muestre en pantalla en orden descendente.

#include <stdio.h>
#include <stdlib.h>

main()
{
int x,tabla[100];

for (x=1;x<=100;x++)
{
tabla[x]=x;
}

for (x=100;x>=1;x--)
{
printf("%d\n",tabla[x]);
}

system("PAUSE");
return 0;
}

Referencias

Deitel, Harvey. Cómo programar en C/C++. Pearson Educación. México. 2003.

6
LSCA. Andrea O. Nájera Avila
Instituto Tecnológico de Toluca
Ingeniería Industrial
Algoritmos y Lenguajes de Programación

Joyanes Aguilar, Luis. Fundamentos de programación: algoritmos, estructuras de


datos y objetos. McGraw Hill
María Adriana Corona Nakamura, María de los Angeles Ancona Valdez. Diseño de
Algoritmos y su Codificación en Lenguaje C. 1ra edición Mc Graw Hill, México 2013.
M. Morris Mano, Arquitectura de computadoras, Ed. Prentice Hall
Osvaldo Cairó. Fundamentos de programación Piensa en C. 1ra edición Pearson
Prentice Hall, México 2006.

7
LSCA. Andrea O. Nájera Avila

También podría gustarte