Professional Documents
Culture Documents
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
Ejemplos:
Con j entre 1 y n incluyendo los extremos. Ejemplo: Sí A es un arreglo de largo 6 con los siguientes elementos. Tenemos:
#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);
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)
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]);
}
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();
}
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;
}
}
getch();
}
3
MATRICES
Int matriz[f][c] ;
Donde:
char matriz[3][7];
Las dos declaraciones crearían una variable capaz de contener 21 elementos guardados en una estructura similar a la siguiente:
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’
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: