jueves, 6 de octubre de 2011

Taller de Arreglos

A medida que avanzan con la materia pues vamos viendo conceptos nuevos y que se pueden aplicar tanto para
- Disminuir lineas de codigo
- Mas claridad y criterio a la hora de programar
- Obtener una “idea” de como un problema se puede resolver de diversas maneras

¿ Qué es un arreglo ?

Un arreglo ó vector es un conjunto de variables que poseen el mismo nombre y el mismo tipo de dato con la unica diferencia que está ubicada en una posicion diferente.

¿ Cómo es su sintaxis ?
Pues un arreglo debe ser declarado asi:
tipo de dato nombre del arreglo [ número de variables que se quiere tener ] ;
Llevado a un ejemplo tangible seria: int edad [ 19 ];

Eso quiere decir que tendremos 20 variables llamadas edad que son de tipo entero ( int ).

¿ Pero qué es eso de que int edad [ 19 ] tiene 20 variables si yo veo 19 ?

Bien ese es una tipica pregunta, porque es muy cierto ¿ Por qué ponemos 19 si queremos 20 ? , la respuesta es porque la maquina comienza a contar desde el cero ( 0 ).

Ejemplo:
¿ Cuántos dedos tengo en la mano ? -> 10 ( me responderia una persona )
¿ Cuántos dedos tengo en la mano ? -> 9 ( me responderia una maquina )
Porque la persona comienza a contar desde uno ( 1 ), y la maquina desde cero ( 0 ).
Otro ejemplo, voy a un baño y veo a 2 personas entonces:
- Para mi ( como persona ) que cuento desde el 1 hay dos personas, osea:
persona 1 y persona 2 —> (persona 1 + persona 2) = 2 personas
- Pero para el lenguaje de programacion ( como maquina ) que cuenta desde el 0 hay 2 también, pero contadas desde el cero, osea:
persona 0 y persona 1 —> (persona 0 + persona 1) = 2 personas
Eso es explicandolo de manera didactica, pero bueno si bien es cierto quiza a unos ya les habran dado la regla general
aquella regla dice que: ” Los arreglos van de la posicion cero a la posicion n-1( donde n es la cantidad total de variables que queremos tener )
Y eso es lo mismo que se explica de manera mas didactica, vamos con un ultimo ejemplo:
Si quiero 5 caramelos entonces n=5 y el concepto dice que los arreglos van de 0 hasta n-1. Por lo tanto lo unico que hacen es reemplazar valores:
n-1 -> 5-1 —> 4. Entonces mi arreglo caramelos va a ser asi: int caramelos [4].

¿ Cuál es su uso ?
Como está en el concepto es un conjunto de variables es decir que en un arreglo puedo tener N variables y ahorrarme estar declarando esas N variables manualmente, por ejemplo:

Declarar: int n1,n2,n3,n4,n5,n6,n7,n8;

Es lo mismo que declarar: int n[7];

como ven se ahorra mucho al hacerlo, y se ve un mejor criterio a la hora de programar ;)

Ahora vamos a hacer un ejercicio para plasmar los conceptos en un programa, vamos a ello:

Hacer un programa que pida 12 numeros en orden y que muestre de los 12 numeros solo el tercero,sexto,decimo.

#include

#include
main()
{
int x,numero[11];
cout<<“\n Ingrese los 12 numeros:\n”;
for (x=0; x<=11; x++)
{
cout<<“numero “<“: “;
cin>>numero[x];
}
cout<<“\n Tercer numero: “<2];
cout<<“\n Sexto numero: “<5];
cout<<“\n Decimo numero: “<9];
getch();
}
- linea 1 – 2: la cabecera y libreria ***
- linea 3: funcion principal ***
- linea 4 – 16: inicio y fin del programa ***
- linea 5: declaramos variables ***
Aqui podemos ver que se ha declarado dos variables:
x -> variable para el for
numero[11] -> arreglo de 12 variables llamadas numero
y ambas estan bajo el tipo de dato int, asi que van a llevar datos enteros.
- linea 6: recurso ” cout ” ***
- linea 7: instruccion repetitiva: ” for ” ***
Con la variable x declarada como entera al comienzo, vamos a hacer dos acciones 12 veces:
- Nuestra primera accion será mostrar un mensaje: ” Ingrese el numero x ” ( donde x va a ir cambiando cada ves que se repita el “for” )
Puesto a que x inicialmente tiene cero ( 0 ), lo podemos ver en la definicion del for cuando ponemos (x=0; x<=11; x++)
Ahi decimos que x tendra un valor inicial de cero y llegará hasta 11 ( porque de cero a once hay 12 numeros y eso queremos “12 numeros” ), y va a ir de 1 en 1.
Bien entonces cuando mostremos: “ingrese el numero x“,
en la primera vez dirá: “ingrese el numero 0“,
en la segunda: “ingrese el numero 1” y asi sucesivamente…
La otra acción que debemos realizar dentro del “for” será pedir el numero, lo veremos con mas detalles mas abajo.
- linea 8 – 11: inicio y fin del ” for ” ***
- linea 9: recurso ” cout ” ***
Aqui es lo que les decia antes, sobre como se va a mostrar el incremento ;)
- linea 10: recurso ” cin ” ***
Bien, ahora sabemos de sobra como ingresar variables pero con arreglos algunos se pueden confundir, por eso voy a explicarlo mas detalladamente para que se entienda bien lo que se va a hacer en ésta linea.

Como sabemos para pedir un dato se usa el recurso ” cin ” y antes lo haciamos por ejemplo de ésta manera:
cin >> numero1;

Bien, ahora como ya no estamos trabajando con variables solitarias sino con un conjunto de variables es decir un arreglo, debemos saber que en el caso de “numero” nosotros tenemos 12 ( con el mismo nombre y tipo ), y asi como les decia antes seria lo mismo que poner doce lineas asi:
cin>>numero1;
cin>>numero2;
cin>>numero3;
cin>>numero4;
y asi sucesivamente hasta pedir el numero12, pero eso NO vamos a hacer porque existen los arreglos que nos facilitan la vida evitandonos el estar declarando muchas variables para mas de usarlas una vez.. para ello tenemos nuestro numero [11]
Y asi mismo eso quiere decir que tengo un numero1,numero2,numero3,…….,numero12 pero no de manera individual sino en conjunto y se eso se denota por la posicion ya que poseen el mismo nombre y tipo, solo las podemos diferenciar por su posicion:
numero[0],numero[1],numero[2],numero[3],numero[4],numero[5],……….,numero[11]
Y si se fijan en el “for” la variable x va a ir incrementandose desde 0 hasta 11 de 1 en 1. Entonces podemos usar ese incremento para indicarle la posicion del arreglo en la que estamos pidiendole que ingrese el dato, de ésta manera:
- Cuando inicia el for, x vale cero entonces pedimos: numero [x] que equivale a pedir numero [0]
- Luego el for incrementa en 1, x vale 1 ( 0+1 ) entonces pedimos: numero [x] que equivale a pedir numero [1]
- Luego el for incrementa en 1, x vale 2 ( 1+1 ) entonces pedimos: numero [x] que equivale a pedir numero [2]
- Luego el for incrementa en 1, x vale 3 ( 2+1 ) entonces pedimos: numero [x] que equivale a pedir numero [3]
Y asi sucesivamente hasta llegar a que x=11 y se pide: numero [11] ese seria el ultimo. ( ya que queriamos 12 y de cero a once hay 12 ).
- linea 12,13,14: recurso ” cout ” ***
Como en el enunciado nos pedian que mostremos los que estan en la posicion 3 , 6 y 10 pues vamos a mostrarlos
y como ya venimos viendo seria:
* Para la posicion 3 —-> numero[2] ( porque va de cero a n-1 es decir de cero a 3-1 )
* Para la posicion 6 —-> numero[5] ( porque va de cero a n-1 es decir de cero a 6-1 )
* Para la posicion 10 —-> numero[9] ( porque va de cero a n-1 es decir de cero a 10-1 )
- linea 15: pausando el programa ***
Muy bien esta es la parte bàsica de lo que debemos saber sobre arreglos para realizar eficientemente muchos ejercicios donde nos piden variedad de variables. Cualquier duda/sugerencia/comentario hagalo saber el taller o en este Blog.

21 comentarios:

Santiago Valencia dijo...

#include

using std::cout;
using std::cin;
using std::endl;

int main()
{
int x,numero[11];
cout<<"Ingrese los 12 numeros:\n";
for (x=0; x<=11; x++)
{
cout<<"numero "<<": ";
cin>>numero[x];
}

for (x=11; x>=0; x--)
{
cout << numero[x]<< endl;
}
system("pause");
return 0;
}

DEIBER ANDRES ALDANA PULIDO dijo...

#include
#include
#include

using std::cout;
using std::cin;
using std::endl;
main()
{
int i, x,numero[11];
cout<<"\n Ingrese los 12 numeros:\n";
for (x=0; x<=11; x++)
{
cout<<"numero "<<": ";
cin>>numero[x];
}

for (i=11;i>=0;i--)
{
cout<<"numero de la posicion "<<i<<": "<<numero[i]<<"\n";
}

system( "PAUSE");
}

Anónimo dijo...

#include

using std::cout;
using std::cin;
using std::endl;

int main()
{
int x,numero[11];
cout<<"n Ingrese los 12 numeros:\n";
for (x=0; x<=11; x++)
{
cout<<"numero "<<": ";
cin>>numero[x];
}
cout<<" Tercer numero: "<<numero[2];
cout<<"Sexto numero: "<<numero[5];
cout<<"Decimo numero: "<<numero[9];
system("pause");
return 0;

}

Felipe Alvear dijo...

#include
#include

using namespace std;

int main(int argc, char *argv[])
{
int x,numero[11];
cout<<" Ingrese los 12 numeros:\n";
for (x=0; x<=11; x++)
{
cout<<"numero "<<": ";
cin>>numero[x];
}
cout<<“\n Tercer numero: “<2];
cout<<“\n Sexto numero: “<5];
cout<<“\n Decimo numero: “<9];
getch();<<
}
for (x=11; x>=0; x--)
{
cout << numero[x]<< endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}

Javier Pardo dijo...

#include
#include
main()
{
int x,numero[11],m;
cout<<"\n Ingrese los 12 numeros:\n"<>numero[x];
}

for (x=11; x>=0; x--)
{
cout<<"\n numero posicion "<<x<<" es :"<<numero[x]<<endl;
}


system ("pause");
return 0;
}

Yeiner Carvajal Quina dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...

Sergio Andres Perdomo Murcia 2010192663
#include

using std::cout;
using std::cin;
using std::endl;

int main()
{
int x,numero[11];
cout<<"Ingrese los 12 numeros:\n";
for (x=0; x<=11; x++)
{
cout<<"numero"<<;
cin>>numero[x];
}
cout<<"numeros con posicion invertida"<<;
for (x=11; x>=0; x--)
{
cout <<numero[x]<< endl;
}
system("pause");
return 0;
}

Oscar Vanegas dijo...

Oscar Vanegas cod: 2008276871
#include

using std::cout;
using std::cin;
using std::endl;

int main()
{
int x,numero[11];
cout<<"Ingrese los 12 numeros:\n";
for (x=0; x<=11; x++)
{
cout<<"numero"<<;
cin>>numero[x];
}
cout<<"numeros con posicion invertida"<<;
for (x=11; x>=0; x--)
{
cout <<numero[x]<< endl;
}
system("pause");
return 0;
}

Yeiner Carvajal Quina dijo...

#include
#include

main()
{
int x,y,numero[11];
cout<<"\n Ingrese los 12 numeros:\n"<>numero[x];
}
for (y=11; y>=0; y--)
{
cout<<"Mostrados de manera descendente tenemos:\n"<<endl;
cout<<"Numero "<< y <<": "<<numero[x]<<endl;
system("pause");
return o;
}

Anónimo dijo...

#include
#include

using std::cout;
using std::cin;


int main()
{
int x,numero[11];
cout<< "\n Ingrese los 12 numeros:\n";
for (x=0; x<=11; x++)
{
cout<<"numero "<<": ";
cin>>numero[x];
}
cout<< "\n Tercer numero: "[2];
cout<< "\n Sexto numero: "[5];
cout<< "\n Decimo numero: "[9];
}

donna tatiana castillo gonzalez dijo...

#include
#include
main()
{
int x,numero[12];
cout<<"\n Ingrese 12 numeros cualquiera:\n";
for (x=1; x<=12; x++)
{
cout<<"numero "<>numero[x];
}
cout<<"\n Tercer numero: "<<numero[3];
cout<<"\n Sexto numero: "<<numero[6];
cout<<"\n Decimo numero: "<<numero[10];
getch();
}

Mauricio Gutierrez dijo...
Este comentario ha sido eliminado por el autor.
Mauricio Gutierrez dijo...

Mauricio Gutierrez
2006263423

#include |cstdlib| //librerias
#include |iostream|
#include |conio.h|

using namespace std; //usar funciones antiguas

int main(int argc, char *argv[])

{
int x,numero[11]; // se declara un arreglo de 12 digitos
cout<<"\n Ingrese los 12 numeros:\n"<>numero[x];
}
cout<<"\n Tercer numero: "<< numero[2]<<endl;//muestra los numeros que estan en la casilla 3 , 6 y 9
cout<<"\n Sexto numero: "<< numero[5]<<endl;
cout<<"\n Decimo numero: "<< numero[9]<<endl;
getche();
}

Maria Lucia Duarte Vivas dijo...

#include

using std::cout;
using std::cin;
using std::endl;

int main()
{
int x,numero[11];
cout<<"Ingrese los 12 numeros:\n";
for (x=0; x<=11; x++)
{
//en cada espacio del vector se le asignara un numero//

cout<<"numero "<<": ";
cin>>numero[x];
}
// se organizaran los numeros en cada campo del vector de mayor a menor ( la posicion ) //
for (x=11; x>=0; x--)
{
cout << numero[x]<< endl;
}
system("pause");
return 0;
}

declavijoo dijo...

#include

using std::cout;
using std::cin;
using std::endl;

int main()
{
int x,numero[11];
cout<<"n Ingrese los 12 numeros:\n";
for (x=0; x<=11; x++)
{
cout<<"numero "<<": ";
cin>>numero[x];
}
cout<<" Tercer numero: "<<numero[2];
cout<<"Sexto numero: "<<numero[5];
cout<<"Decimo numero: "<<numero[9];
system("pause");
return 0;

}

Laura Camila dijo...

#include
#include

using namespace std;
main()
{
int x, num[11];
cout<<"\n Ingrese 12 numeros \n";
for (x=0; x<=11; x++)
{
cout<<"Numero"<>num[x];
}
cout<<"\n Tercer numero: "<<num[2];
cout<<"\n Sexto numero: "<<num[5];
cout<<"\n Decimo numero: "<<num[9];
getch();

}

David Lambis dijo...
Este comentario ha sido eliminado por el autor.
David Lambis dijo...

#include
#include

using namespace std;

int main(int argc,char*argv[])
{
int x;
int numero[11];
cout<<"\n Ingrese los 12 numeros:\n";
for(x=0; x<=11; x++)
{
cout<<"numero"<":";
cin>>numero[x];
}
cout<<"\n Tercer numero:"<<[2];
cout<<"\n Sexto numero:"<<[5];
cout<<"\n Decimo numero:"<<[9];

system("PAUSE");
return 0;

}

Anónimo dijo...

#include

using std::cout;
using std::cin;
using std::endl;

int main()
{
int x,num[11];
cout<<"n Ingrese los 12 numeros:\n";
for (x=0; x<=11; x++)
{
cout<<"numero "<<": ";
cin>>num[x];
}
cout<<" Tercer numero: "<<numero[2];
cout<<"Sexto numero: "<<numero[5];
cout<<"Decimo numero: "<<numero[9];

system("pause");
return 0;
}

Sergio David Botero Mulcué dijo...
Este comentario ha sido eliminado por el autor.
Sergio David Botero Mulcué dijo...

#include
#include
#include

using std::cout;
using std::cin;
using std::endl;

main()
{
int x,numero[12];
cout<<"Digite los 12 numeros:\n";
for (x=0; x<=12; x++)
{
cout<<"Numero" << x <<": ";
cin>>numero[x];
}
cout<<"Tercer numero: " << numero [3] << ".\n";

cout<<"Sexto numero: " << numero [6] << ".\n" ;

cout<<"Decimo numero: " << numero [10]<< ".\n" ;


system("pause");
return 0;

}


Grupo de Maperos 2011

Taller OpenStretMap Octubre 2010

Lógica Computacional e Introducción a la Programación

Libro de Lógica de Programación

Mapa

Visita Tecnológica Universidad de Antioquia

Taller de SIG Libre en Neiva Nov.28/2009

Preparese para las visitas tecnológicas 2010

Cholupa Visita Tecnológica a Medellín U de Antioquia

Registro

Lógica Computacional

Lógica Computacional