Sei sulla pagina 1di 4

GUIA DE ACTIVIDADES N 2

ALGORITMOS I

DATOS ESTRUCTURADOS: ARRAYS

Una tabla, vector, matriz o array (que algunos autores traducen por “arreglo”) es un conjunto
de elementos, todos los cuales son del mismo tipo. Estos elementos tendrán todos el mismo
nombre, y ocuparan un espacio contiguo en la memoria.

Para situarnos en una posición específica dentro de un vector; primero nombramos a nuestro
vector, seguido del número de la posición en la cual nos ubicaremos, así: vec[k]; siendo vec el
nombre de nuestro vector, y k la posición en él.

Los subíndices son enteros, y pueden tomar valores desde 0 hasta <número de
elementos>-1. Esto es muy importante, y hay que tener mucho cuidado, por ejemplo:
int Vector[10];
Creará un array con 10 enteros a los que accederemos como Vector[0] a Vector[9].

Los arrays pueden ser inicializados en la declaración.

Ejemplos:

float R[10] = {2, 32, 4.6, 2, 1, 0.5, 3, 8, 0, 12};


float S[] = {2, 32, 4.6, 2, 1, 0.5, 3, 8, 0, 12};
int N[] = {1, 2, 3, 6};
char Mensaje[] = "Error de lectura";

En estos casos no es obligatorio especificar el tamaño para la primera dimensión, como


ocurre en los ejemplos de las líneas 2, 3, 4 y 5. En estos casos la dimensión que queda
indefinida se calcula a partir del número de elementos en la lista de valores iniciales.
En el caso 2, el número de elementos es 10, ya que hay diez valores en la lista.
En el caso 3, será 4.
Y en el caso 5, el número de elementos es 17, 16 caracteres más el cero de fin de
cadena.

ING SONIAGARZON
Valor inicial de una tabla

Al igual que ocurría con las variables “normales”, podemos dar valor a los elementos de una
tabla al principio del programa. Sera mas cómodo que dar los valores uno por uno, como
hemos hecho antes. Esta vez los indicaremos todos entre llaves, separados por comas:

#include <iostream>
using namespace std;
main()
{
int numero[5] = {200, 150, 100, -50, 300};

int suma; /* Un entero que será la suma */


suma = numero[0] + numero[1] + numero[2] + numero[3] + numero[4];
cout<<"Su suma es:"<<suma;
}
------------------------------------------------------------------------------------------------------------------------

#include <iostream>
using namespace std;

int numero[5] ={200, 150, 100, -50, 300};


int suma=0;
int i;
main()
{
for (i=0;i<=4;i++)
{
suma = suma+numero[i];
}
cout<<"Su suma es:"<<suma;
}

PARA INGRESAR DATOS-


Para las cadenas de texto, la situación se complica un poco: se crean como “arrays” de
caracteres. Están formadas por una sucesión de caracteres terminada con un carácter nulo
(\0), de modo que tendremos que reservar una letra mas de las que necesitamos. Por ejemplo,
para guardar el texto “Hola” usariamos “char saludo[5]”.

#include <iostream>
using namespace std;

char texto[40]; /* Para guardar hasta 39 letras */


main()
{
cout<<"Introduce tu nombre: ";
cin>>texto;
cout<<"Hola:::::"<< texto;

ING SONIAGARZON
}
Si la cadena contiene espacios, se lee solo hasta el primer espacio. Esto se puede
considerar una ventaja o un inconveniente, según el uso que se le quiera dar.

PARA ACCEDER A LAS LETRAS QUE FORMAN LA CADENA:

Podemos leer (o modificar) una de las letras de una cadena de igual forma que leemos o
modificamos los elementos de cualquier tabla: el primer elemento sera texto[0], el segundo
sera texto[1] y asi sucesivamente:

#include <iostream>
using namespace std;

char texto[40]; /* Para guardar hasta 39 letras */


main()
{
cout<<"Introduce tu nombre: ";
cin>>texto;
cout<<"Hola:::::"<< texto;
cout<<"TU INICIAL ES ::"<<texto[0];
}

GUARDAR EN VECTORES

Genere un arreglo de tamaño 10 con números reales leídos desde teclado.


#include <iostream>
#include <stdio.h>
using namespace std;

double numero[10];
int i;
main()
{
for(i=0;i<=9;i++)
{
cout<<"Introduce Numero: ";
cin>>numero[i];
}
cout<<numero[9];
}

EJERCICIOS PROPUESTOS
 Realice un algoritmo que lea 10 números por teclado y los sume
 Realice un algoritmo que lea n números por teclado y los sume
 Realice un algoritmo que lea n números y al final los imprima con sus índices
 Realice un algoritmo que lea n números y al final los imprima en orden inverso
 Realice un algoritmo que lea n números y al final determine cuál
es el mayor

2 VECTORES EN UN SOLO VECTOR

ING SONIAGARZON
#include <iostream>

using namespace std;

char vector1[]= {'a','b','c','d','e'};


char vector2[]= {'f','g','h','i','j'};
char vector3[10];
int i;
main()

for(i=0;i<5;i++)
{
vector3[i]=vector1[i];

}
for(i=5;i<10;i++)
{
vector3[i]=vector2[i-5];

}
for (i=0;i<10;i++)
{
cout<<vector3[i];
}

EJERCICIO PROPUESTO
 Elabore un algoritmo que lea 6 números en un arreglo, los copie a otro arreglo
multiplicados por 2 y lo imprima.
 Elabore un algoritmo que sume dos vectores
 Elabore un algoritmo que calculo el producto escalar

ING SONIAGARZON

Potrebbero piacerti anche