You are on page 1of 4

ARREGLOS UNIDIMENSIONALES (Vectores), BIDIMENSIONALES (Matrices)

VECTORES
Cada vez que necesitamos guardar varios datos para posteriormente efectuar diversos cálculos con ellos, deberíamos utilizar un
gran número de variables, lo que haría bastante largo el programa, por la cantidad de instrucciones necesarias, como por la
cantidad de memoria utilizada. Es por ello que existe un tipo de variable llamada arreglo, que nos permite declarar una única
variable con varios componentes, a las cuales se accede mediante un subíndice.

Un arreglo unidimensional o vector, con subíndices enteros 1, 2, 3,.....n, puede ser declarado de la siguiente formas:

Int Vector[n];

Donde:

Vector es el nombre que se le ha asignado a este tipo pudiendo ser numérico o alfanumérico.
Int: El tipo de dato de los elementos del arreglo, en este caso entero

Los subíndices1, 2,......, n encerrados entre corchetes, identifican cada variable.


El largo o dimensión del vector esta dado por n

Ejemplos:

1. Declarar un arreglo de largo 9, con números enteros.


Int arre [9];
2. Declarar una variable adecuada para guardar las notas de un curso de 60 alumnos.
Float alumnos [60];
3. Declarar una variable adecuada para guardar los puntajes obtenidos en una encuesta realizada a 500 personas.
float puntaje[500];

Acceso a los datos de un arreglo


Para acceder a un dato dentro del arreglo, se debe especificar el nombre del arreglo y el respectivo subíndice. Si el arreglo es de
dimensión n y se llama K, el elemento que se encuentra en la posición j del arreglo sería K[j].

Con j entre 1 y n incluyendo los extremos. Ejemplo: Sí A es un arreglo de largo 6 con los siguientes elementos. Tenemos:

posición 1 posición 2 posición 3 posición 4 posición 5 posición 6


A 7 12 1 5 200 36
En este caso una variable con seis compartimentos.
A[1]=7
A[2]=12
A[3]=1
A[4]=5
A[5]=200
A[6]=36

Ejemplo: Hacer un programa que llene el arreglo del ejemplo anterior.

#include <stdio.h>
#include <conio.h>

main()
{
int vector[6],i;

clrscr();
for (i=1;i<=6;i++)
{
printf("vector[%d]= ",i);
scanf("%d",&vector[i]);
}
printf("los números ingresados fueron :\n");

for (i=1;i<=6;i++)
printf("\nvector[%d] = %d",i,vector[i]);
getch();
}

1
Ejercicios
1. Hacer un programa que llene un arreglo de largo 25 con números aleatorios y luego mostrarlo por pantalla.

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

main()
{
int vec[25],i;
randomize();

clrscr();
for (i=1;i<=25;i++)
vec[i]=random(300);

printf("\t\tlos numeros aleatorios fueron :\n\n");

for (i=1;i<=25;i++)
printf("vec[%d] = %d\t",i,vec[i]);

getch();
}

2. Hacer un programa que llene dos vectores de largo 10 con números aleatorios y unirlo en un tercer vector. (TAREA)

3. Escriba un programa en C para cada uno de los siguientes enunciados: (TAREA)

a) Sume dos vectores del mismo largo de la siguiente forma: C[i]=A[i]+B[i];


b) Llene un vector de largo 7 solamente con números negativos

4. Hacer un programa que llene un arreglo de caracteres, con las letras de una frase de a lo más 30 caracteres. (TAREA)

BUSQUEDA SECUENCIAL
Este programa realiza una búsqueda secuencial de izquierda a derecha hasta encontrar el elemento buscado o hasta alcanzar el
final del vector.

#include <stdio.h>
#include <conio.h>

main()
{

int a[4];
int i,j,num,p,s;

for (i=1;i<=4;i++)
{
printf("\na[%d] = ",i);
scanf("%d",&a[i]);
}

printf("\nIngrese el elemento a buscar en el vector :");


scanf("%d",&num);

j=1;
while (j<=4)
{
if(a[j]==num)
{
s=0;
p=j;
break;
}
else
s=1;
j=j+1;
}
2
if (s==0)
printf("\n el elemento %d se encuentra en la posicion %d del vector",num,p);
else
printf("\nel elemento no se encuentra en el vector");

getch();
}

ORDENACION DE VECTOR (BURBUJA)


Este programa realiza la ordenación decreciente de un vector de números enteros (de menor a mayor).

Este método de ordenación va comparando el primer elemento con cada uno de los elementos del arreglo, luego el segundo con
cada elemento del arreglo, y así sucesivamente. (Al encontrar que un elemento es mayor que otro lo intercambia de posición
dejando el menor en la parte izquierda del arreglo, utilizando una variable auxiliar)

Ejemplo:
Secuencia inicial 8 2 5 1

(Primer elemento)
Primer paso 2 8 5 1
Segundo paso 1 8 5 2

(Segundo elemento)
Primer paso 1 5 8 2
Segundo paso 1 2 8 5

(Tercer elemento)
Primer paso 1 2 5 2

#include <stdio.h>
#include <conio.h>

main()
{

int a[4];
int i,j,aux;

for (i=1;i<=4;i++)
{
printf("\na[%d] = ",i);
scanf("%d", &a[i]);
}

for (i=1;i<=3;i++)
{
for (j=i+1;j<=4;j++)
if (a[i]>a[j])
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
}
}

printf("\n\t\t el vector ordenado es :\n\n\n");


for (i=1;i<=4;i++)
printf("\ta[%d] = %d",i,a[i]);

getch();
}

3
MATRICES

Arreglos de dimensión múltiple


Empleando parejas de subíndices I, J respectivamente, se puede declarar una variable de arreglo de dimensión dos llamada
matriz, de la siguiente forma:

Int matriz[f][c] ;
Donde:

Matriz es el nombre del arreglo bidimensional.


f corresponde al número de filas.
c corresponde al número de columnas.
El tipo de datos de todos los elementos de la matriz es entero

Ejemplo: declarar una matriz de 3 filas y 7 columnas con caracteres.

char matriz[3][7];

Las dos declaraciones crearían una variable capaz de contener 21 elementos guardados en una estructura similar a la siguiente:

columna1 columna2 columna3 columna4 columna5 columna6 columna7


fila1
fila2
fila3

Acceso a los datos de una Matriz

Para acceder a un dato dentro de la matriz, se debe especificar el nombre de la matriz y los respectivos subíndices de las filas y
las columnas. Si la matriz llamada A es de dimensión nxm es decir n filas y m columnas, el elemento que se encuentra en la
posición i,j de la matriz sería A[i,j]. Con i entre 1 y n incluyendo los extremos y j entre 1 y m incluyendo los extremos.

Ejemplo: Sí se desea guardar la letra q en la matriz anterior en la posición 2,5. La asignación necesaria es la siguiente:

A[2][5]=’q’

columna1 columna2 columna3 columna4 columna5 columna6 columna7


fila1
fila2 q
fila3

Ejemplo: Hacer un programa en C que llene una matriz cuadrada de dimensión máxima 5, con números pares e imprimirla.

#include <stdio.h>
#include <conio.h>

main()
{
int matriz[5][5];
int i,j,n;
clrscr();
for (i= 1;i<=5;i++) //ciclo para los subíndices de las filas de la matriz
for ( j= 1;j<=5;i++) //ciclo para los subíndices de las columnas de la matriz
do
{
printf(“A[%d %d]=”,i,j);
scanf(“%d”,A[i][j]);
}
while ((A[i][j] % 2) == 0);
}

Ejercicios
Escriba un programa en C para cada uno de los siguientes enunciados:

1) Llenar una matriz de dimensión 7 x 3 con números reales.


2) Llenar una matriz no cuadrada con números negativos.
3) Sumar dos matrices de igual dimensión.

You might also like