Está en la página 1de 15

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

Facultad de Ingeniera de Sistemas

Introduccin a la computacin
Prof. Augusto Cortez Vsquez
Semestre 2015 I

Unidad 6

Arreglos y cadenas
Augusto Cortez Vasquez

Que es arreglo?
Un arreglo es una estructura de datos lineal, esttica y fsica
Lineal porque sus datos se disponen en orden lineal, todos tienen u
sucesor excepto el ultimo, todos tienen un antecesor excepto el primero
El acceso a cada posicin del arreglo es directo, aunque tambin puede ser
secuencial
Cada elemento es representado por un ndice que indica la posicin del
elemento en el arreglo

Augusto Cortez Vasquez

Cmo se declara un arreglo?

<Tipo dato> < Id>[N];

N: dimension o tamao del arreglo


Id: nombre del arreglo
Ejemplo

int Edad[10];
float peso[50];
Augusto Cortez Vasquez

Funcion Vector()
Inicio
entero A[100]
Leer N // N debe ser menor a 100
Para i de 1 a N
Leer A[i]
FinPara
Para i de 1 a N
Escribir A[i]
FinPara
Fin

Funcion Principal()
Inicio
Vector()
Fin

Augusto Cortez Vasquez

Entero A[100]

Funcion Ingreso()
Inicio
Leer N
// N debe ser menor a 100
Para i de 1 a N
Leer A[i]
FinPar
Fin
Funcion Salida()
Inicio
Para i de 1 a N
Escribir A[i]
FinPara
Fin
Funcion Principal()
Inicio
Ingreso()
Salida()
Fin

Augusto Cortez Vasquez

Ejemplo
Mostrar el numero de votos emitidos, y las abstenciones en una eleccion

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
void main()
{
int ne,vv,vb,vn;
int ve,abs;
cout<<"ingrese el numero de electores,v vali,v blan,v nul:\n"<<endl;
cin>>ne>>vv>>vb>>vn;
ve=vv+vb+vn;
abs=ne-ve;
cout<<"los votos emitidos:"<<ve<<endl;
cout<<"las abstenciones:"<<abs<<endl;
}
Augusto Cortez Vasquez

Ejemplo
Almacenar en un vector el angulo interior de 10 poligonos regulares

void main()
{
float n,angi;
for(int i=0;i<10;i++)
{
cout<<"ingrese el numero de lados del poligono regular:";
cin>>n;
angi=180*(n-2)/n;
cout<<"el angulo interior es:"<<angi<<endl;
A[i]=angi;
}
for(int i=0;i<10;i++)
{
cout<<"el angulo interior es:"<<A[i]=angi;
}
}

Augusto Cortez Vasquez

Ejemplo

Int Suma(int a, int b)


{
int resultado;
resultado= a+b;
return rresultado
}

Augusto Cortez Vasquez

Que es CADENA ?
Una cadena es un arreglo de caracteres que termina
con un nulo que se especifica como \0

char nombre[30]; declara una cadena de 30 caracteres


Cmo se lee una cadena?
gets(nombre)

Augusto Cortez Vasquez

Ejemplo
int main(void)
{ float importe,val_ven,igv,total,cantidad,precio_uni;
char sres[30],direccion[50],fecha[8],referencia[20],tipo_art[10],ruc[12],codigo[6],num_fac[10];
cout<<"seores:";gets(sres);
cout<<"direccion:";gets(direccion);
cout<<"ruc:";gets(ruc);
cout<<"referencia:";gets(referencia);
cout<<"fecha:";gets(fecha);
cout<<"Nro. de factura:";gets(num_fac);
cout<<"codigo: ";gets(codigo);
cout<<"articulo: ";gets(tipo_art);
cout<<"cantidad: ";
cin>>cantidad;
cout<<"precio unitario: ";
cin>>precio_uni;
importe=precio_uni*cantidad;
val_ven=importe;
igv=0.18*val_ven;
total=val_ven-igv;
Augusto Cortez Vasquez

10

..Ejemplo
cout<<"\t"<<"\t\tFACTURA"<<endl;
cout<<"sres: "<<sres<<endl;
cout<<"direccion: "<<direccion<<endl;
cout<<"ruc: "<<ruc<<endl;
cout<<"referencia: "<<referencia<<endl;
cout<<"fecha: "<<fecha<<endl;
cout<<"Nro. de factura: "<<num_fac<<endl;
cout<<"codigo articulo cantidad p.unitario importe"<<endl;
cout<<" "<<codigo;
cout<<" \t"<<tipo_art;
cout<<" \t"<<cantidad;
cout<<"\t"<<precio_uni;
cout<<"\t\t"<<importe;
cout<<"\t\t\t\t\t\t\t valor de ventas: "<<val_ven;
cout<<"\t\t\t\t\t\t\t\t igv %
: "<<igv;
cout<<"\t\t\t\t\t\t\t total
: "<<total;

getch();
}
Augusto Cortez Vasquez

11

Cules son las principales funciones para manipular


cadenas?
strcpy();

strcpy(A, desde) copia el contenido de la


cadena desde a la cadena A
strcpy(A,hola)
strcat();
strcat(A,B) copia el contenido de la cadena B al final
de la cadena A
strcpy(hola, a todos )

Augusto Cortez Vasquez

12

Cules son las principales funciones para manipular


cadenas?
strcmp();

strcmp(A,B) compara la cadena A con la cadena B y


devuelve 0 si son iguales
Si A es lexicograficamente mayor a B, entonces
devuelve un valor positivo. Si A es menor que B
devuelve un valor negativo
strclen();
strleng(A) Devuelve la longitud de la cadena que
apunta A

Augusto Cortez Vasquez

13

void main()
{
char nombre[80];
int i;
Strcpy(nombre,Esto es una prueba);
for(int i=0; st[i];i++)
nombre[i] = toupper(nombre[i]);
printf(%s, nombre);
}

Augusto Cortez Vasquez

14

Ejercicios propuestos
Especificar, implementar y codificar

a)
b)
c)
d)
e)
f)
g)

Almacenar en un vector los 10 primeros nmeros mltiplos de K


Almacenar en un vector los 10 primeros nmeros primos
Almacenar en un vector los 10 primeros nmeros percectos
Hallar el mayor elemento de un vector
Hallar la suma de ,os elementos pares
Hallar la suma de los elementos de las posiciones impares
Se ingresan tres cadenas concatenar en una sola cadena

Augusto Cortez Vasquez

15