Posts Tagged ‘array’

h1

Ordenar Vector (Intercambio Directo)

13 octubre 2011

¡Buenas a todos!

Seguiremos  con la serie de tutoriales de tipos de algoritmos, como en otras ocasiones os he comentado, este tipo de tutoriales se llevaran a cabo en lenguaje C.

Hoy os enseñaré otra técnica para poder ordenar un vector con el algoritmo de intercambio directo. El desarrollo básico es que  compararemos pares de elementos y si están  desordenados  se ordenaran  de menor a mayor.

Primero llenaremos el vector  con números aleatorios mediante la función random. Y a continuación comenzaremos a desarrollar el algoritmo.

for (i=1; i<10; i++)

{

for (j=1; j<10-i; j++)

{

if (vector[j]> vector [j+1])   // comparamos si el valor actual es menor que el siguiente

{

aux=vector[j+1];

//  Si el valor que tiene el valor contiguo es mayor se almacena en una variable

vector[j+1]=vector[j];

//Se cambia el valor de la posicion actual a la posicion siguiente

vector[j]=aux;

//la posicion actual toma el valor menor

}

}

} 

Para poder descargar  el código completo desde el siguiente enlace

¡Un saludo!

h1

Ordenar Vector(Insercion directa)

7 octubre 2011

¡Buenas a todos!

Hoy vamos a aprender métodos de ordenación de un vector. Voy a ser una serie de tutoriales que versaran  sobre distintas formas de llevar a cabo la misma operación,  este tipo de artículos ayudarán sobre todo a las personas que  estén aprendiendo a programar y desarrollar algoritmos.

Este tipo de tutorial lo desarrollaré en Lenguaje C ya que creo que es uno de los más típicos con los que la gente aprende a programar y que todos más o menos conocemos su sintaxis.

Hoy os enseñaré a cómo  desarrollar la ordenación por método de  inserción directa. Tiene  cuatro pasos básicos.

  1. Tomar un elemento en la posición
  2. Buscar un lugar en sus posiciones anteriores
  3. Mover hacia la derecha los restantes
  4. Insertarlo


for (i=1; i<10; i++) // recorreremos el vector
{
vector[0]=vector[i]; // almacenaremos el valor
posicion=i; //almacenaremos la posicion
while (vector[0]<vector[posicion-1])
//compararemos si ese valor es menor que los anteriores y si es así moveremos los valores hacia la derecha hasta encontrar su posición
{
vector[posicion]=vector[posicion-1];
posicion--;
}
vector[posicion]=vector[0]; // insertaremos el valor en la posición correcta
}

Para poder descargar  el código por completo pincharemos en el siguiente enlace.

¡Un saludo!

h1

Ordenar numeros en un vector

25 noviembre 2010

¡Buenas a todos!

Hoy os presento un código en Lenguaje C donde se  ordenan ( de mayor a menor) unos numeros que aleatoriamente ha generado el propio programa.

Este codigo es muy interesante que se estudie ya que es un ejercicio tipico que se presenta en los comienzos del estudio de la programación.

 

Enlace para descargar el código.

¡Un saludo!

h1

Foreach y Arrays Asociativos

19 abril 2009

¡Buenas a todos!

Hoy os explicaré una sentencia de control de datos, un tipo de bucle. El cual nos permite recorrer  matrices o  arrays asociativos.

La diferencia entre las matrices y los arrays asociativos es muy simple :  en los arrays el índice lo marca  un valor numérico desde el 0 hasta X, sin embargo  en estos arrays el índice lo marca un valor.


<?php

$colores = array(

"Rojo" => Red,

"Azul" => Blue,

"Blanco" => White,

"Negro" => Black);

foreach($colores as $indice => $valor)

{

echo $indice.' =>' .$valor."<br>";

}

?>

En  las primeras líneas de código creamos  el array asociativo $colores.Guardamos como índice el  nombre en castellano de un color,  este índice contiene la traducción  en Ingles de él mismo.

Después recorremos este vector  y mostramos en  pantalla tanto el índice como el valor de él.

Os invito a que probéis el uso tanto de la sentencia foreach como de este tipo de arrays.

¡Un saludo!

Juncal Cepeda