Вы находитесь на странице: 1из 5

Elt-230 1

Arreglos y funciones M.Sc. Irma Prado

Arreglos ó arrays en C++


Un arreglo es una colección de datos, todos del mismo tipo
de dato (todos enteros o todos reales, etc.), que tienen un
nombre en común y se diferencia un elemento de otro por la
posición que ocupan.
Por ejemplo:

Donde a es el nombre del arreglo. Los elementos de este


arreglo son 17, -3, 8 11, 10, 4 -12. El a[0] se utiliza para
indicar el primer elemento 17. El a[4] para indicar al
elemento 10. Todos los elementos son enteros.
En programación se utiliza la sentencia for para generar los
subíndices iniciando la variable de control en 0 o en 1,
dependiendo del programador.
El siguiente ejemplo utiliza desde la posición 1 y tiene 10
elementos.

Ejemplo 23.- Programa para leer y desplegar en pantalla un


vector de 10 elementos:

#include <stdio.h>
main()
{
int vector[10],i;
// El vector se llama vector y tiene 10 elementos enteros
clrscr();
//Las siguientes lineas registran al vector
for (i=1; i<=10; ++i){
cout<<”V[“<<i<<”] = “;
cin>>vector[i];
}
//las siguientes lineas despliegan los elementos del vector en la pantalla
for (i=1; i<=10; ++i){
cout<<vector[i]<<”, ”;
}
}
Elt-230 2
Arreglos y funciones M.Sc. Irma Prado

En el caso de matrices, se utilizan dos subíndices el


primero indica las filas y el segundo las columnas, igual se
utiliza dos for’s. Ejemplo:

En el ejemplo anterior la matriz se llama b. Los elementos


son b[0][0]=-2, b[2][2]=11, etc. Igual que en los vectores
en programación se puede realizar las posiciones desde 0 o
desde 1, esto depende del programador.

#include<conio.h>
#include <iostream.h>
main()
{
int matriz[3][3],i,j;
clrscr();
for (i=1; i<=3; ++i){
for (j=1;j<=3;++j){
cout<<”[“<<i<<”,”<<”]”<<”[“<<j<<”]= “;
cin>>matriz[i][j];}
}
for (i=1; i<=3; ++i){
for (j=1;j<=3;++j)
cout<<matriz[i][j]<<”\t”;
cout<<”\n”; }
}

FUNCIONES EN C++

Las funciones son bloques de programa que pueden ser


invocados para su ejecución desde el programa principal.

Ejemplo 24.- Factorial de un número

#include <stdio.h>
#include<iostream.h>
#include<conio.h>
Elt-230 3
Arreglos y funciones M.Sc. Irma Prado

void leer_dato(int *a)


{ cout<<"Escriba el dato";
cin>>*a;
}

int factorial (int x)


{ int r=1;
for(int i=1;i<=x;i++)
r=r*i;
return (r);
}
main()
{ int h,resultado;
leer_dato(&h);
resultado=factorial(h);
cout<<"El resultado es "<<resultado;
getch();
}

Explicación:
La primera línea de la función void leer_dato(int *a)
significa lo siguiente:
Se utiliza void porque la función no tendrá retorno
(return).
leer_dato es el nombre que hemos elegido para la función.
int *a es un parámetro entero, parámetro de entrada y salida
porque utiliza puntero *, es decir que el valor que se
asigne a la variable *a regresará al programa principal
cuando sea invocado. En nuestro ejemplo la forma de llamar a
esta función es leer_dato(&h); El valor de la variable a es
transferido a la variable h. Como a lleva * (puntero),
entonces para llamar a un puntero en el programa principal
utilizamos el caracter de dirección de memoria &.

Ejemplo 25.- Programa para calcular: n!/(n-r)!*r! :


#include <stdio.h>
#include<iostream.h>
#include<conio.h>
void leer_dato(int *a)
{ cin>>*a;
}
int factorial (int x)
{ int r=1;
for(int i=1;i<=x;i++)
r=r*i;
return (r);
Elt-230 4
Arreglos y funciones M.Sc. Irma Prado

}
main()
{ int n,r,n_r,resultado;
cout<<"escriba el valor de n ";
leer_dato(&n);
leer_dato(&r);
n_r=n-r;
resultado=factorial(n)/(factorial(r)*factorial(n_r);
cout<<"Resulatdo: "<<resultado;
getch();
}

Ejemplo 26.- Programa para calcular ab mediante multiplicaciones


sucesivas:
#include <stdio.h>
#include<iostream.h>
#include<conio.h>
void leer_valores(int *as, int *bs)
{ cout <<"escriba el primer valor";
cin>>*as;
cout<<"escriba el segundo valor";
cin>>*bs;
}
int multiplica (int x, int y)
{ int r=1;
for(int i=1;i<=y;i++)
r=r*x;
return (r);
}
main()
{ int a,b,resultado;
leer_valores(&a,&b);
cout<<"el resultado es "<<multiplica(a,b);
getch();
}

Ejemplo 27.- Programa para leer e imprimir un vector utilizando funciones:


#include <stdio.h>
#include<iostream.h>
#include<conio.h>
void leer_dimen(int *a)
{ cin>>*a;
}
void leer_vector (int x[10], int f)
Elt-230 5
Arreglos y funciones M.Sc. Irma Prado

{
for(int i=1;i<=f;i++)
{ cout <<"Escriba el elemento "<<i<<" = ";
cin >>x[i];
}
}
void desplegar_vector (int w[10], int q)
{
for(int i=1;i<=q;i++)
{ cout <<w[i];
}
}
main()
{ int n,A[10];
//vamos a pedir el numero de elementos
leer_dimen(&n);
//lectura del arreglo
leer_arreglo(A,n);
//desplegamos el arreglo en pantalla
desplegar_vector(A,n);
getch();
}

Вам также может понравиться