Professional Documents
Culture Documents
Unidimensionales o
Vectores
Bidimensionales o
Matrices
Multidimensionales
C++
Tipo_Dato Nombre_Arr[N];
C++
Tipo_Dato Nombre_Arr[N][M];
#include <iostream.h>
#include <conio.h>
void main(void)
{
int t, i, N[3][4];
for(t=0;t<3;t++)
for(i=0;i<4;i++)
N[t][i]=(t*4)+i+1;
for(t=0;t<3;t++)
{
for(i=0;i<4;i++)
cout<<N[t][i]<<'\t'<<endl;
}
getch();
}
3. Cadenas de Caracteres.
Uno de los usos ms comunes de los arreglos unidimensionales es la implementacin como
cadenas de caracteres. En C/C++ una cadena se define como un arreglo de caracteres de
cualquier longitud que termina con un carcter nulo. El carcter nulo se especifica como '\0' y es
un cero, por lo tanto, se debe agregar un elemento al tamao cuando se declaren. As por ejemplo
si se desea declarar un arreglo que va a contener una cadena de 10 elementos , se debera
declarar char s[11], dejando sitio para el carcter de fin de cadena.
Aunque no existe un tipo de datos cadena, se pueden definir constantes de tipo cadena como una
cadena de caracteres encerrada entre comillas. En este caso no es necesario agregar el fin de
cadena, ya que C/C++ lo hace automticamente.
C++ provee varias funciones que facilitan la manipulacin de cadenas, en la siguiente tabla se
muestran algunas de las ms importantes:
Funcin
strcpy(s1,s2);
strlen(s1);
strcat(s1,s2);
strcmp(s1,s2);
strcmpi(s1,s2);
Descripcin
Copia una cadena s2 a otra cadena s1.
Devuelve la longitud (bytes) de una cadena.
Concatena dos cadenas s1 y s2, y la cadena resultante queda en s1.
Compara dos cadenas. Devuelve 0 si son exactamente iguales (distingue
entre maysculas y minsculas), >0 si s1>s2 y <0 si s1<s2.
Compara dos cadenas. Devuelve 0 si son iguales (no discrimina entre
maysculas y minsculas), >0 si s1>s2 y <0 si s1<s2.
Arreglos de Cadenas:
Para crear un arreglo de cadenas se debe usar un arreglo bidimensional. El ndice izquierdo indica
el nmero de cadenas y el ndice de la derecha indica la cantidad mxima de caracteres por
cadena. Un ejemplo de declaracin sera:
char arr_cadenas[30][80];
Para acceder u operar a una cadena individual, solo hace falta especificar el ndice izquierdo.
Ejemplo 03.
#include <iostream.h>
#include <string.h>
void main(void)
{
int i;
char NOMBRE[10][20]; //Matriz de 10 nombres y mximo 20 caracteres/nombre
for (i=0; i<10; i++)
{
cout<<"Nombre("<<i<<") : ";
cin>>NOMBRE[i];
}
for (i=0 ;i<10 ;i++)
cout<<"Nombre("<<i<<")=" <<NOMBRE[i]<<endl;
}
PRE- LABORATORIO :
Disear el algoritmo que resuelva el siguiente problema, usando un men de opciones :
Una agencia de automviles dispone de 5 modelos de autos y al final del ao desea mostrar los
resultados de las ventas del ao para lo cual dispone de las cantidades de autos vendidos / trimestre.
Para ingresar los modelos se debe usar un arreglo paralelo con los nombres . Se desea saber:
a) Cantidad Total Ventas /Trimestre.
b) Cantidad Total Ventas / Modelo.
c) Modelo mas vendido en el ao.
LABORATORIO :
Usando el entorno de programacin del lenguaje C , crear, compilar y ejecutar el programa diseado
para probar su correcto funcionamiento.
Para efectuar las pruebas del programa, se puede usar la funcin random para generar los valores.
random(n) genera un entero aleatorio, 0 n n-1.
randomize(); inicializa la funcin.
Ejemplo:
El codigo que se muestra genera una matriz
TEMP[10][10] con valores enteros entre 0 y
40.
randomize();
for(i=0;i<10;i++)
for(j=0;j<10;j++)
TEMP[i][j]=random(41);