none
Ordenar elementos de una matriz en forma de caracol o espiral.

    Question

  • using

     

    System;

    using

     

    System.Collections.Generic;

    using

     

    System.Linq;

    using

     

    System.Text;

    namespace

     

    proyecto_amigable

    {

     

    class Program

    {

     

    static void Main(string[] args)

    {

     

    int n;

     

    int m;

     

     

     

    Console.WriteLine("Valor de n: ");

    n =

    Convert.ToInt32(Console.ReadLine());

    m = n * n;

     

    int[] matriz = new int[m];

     

    int z;

     

    for (z = 0; z < m; z++)

    {

     

    Console.WriteLine("Introduzca los valores ");

    matriz[z] =

    Convert.ToInt32(Console.ReadLine());

     

    }

     

    string salida = "Valores de los elementos originales\n";

     

    for ( int i = 0; i < matriz.Length; i++ )

    salida +=

    " " + matriz[ i ];

     

    // ordenar elementos del arreglo

    OrdenarBurbuja(matriz);

    {

    salida +=

    "\n\nValores de los elementos en orden ascendente\n";

     

    for ( int i = 0; i < matriz.Length; i++ )

     

     

    salida +=

    " " + matriz[i];

     

    Console.WriteLine(salida);

     

    Console.ReadLine();

    }

     

    }

    // fin del metodo main

     

    // ordenar elementos de un arreglo con el metodo burbuja

     

    static public void OrdenarBurbuja(int[] b)

    {

     

    for ( int pasadas = 1; pasadas < b.Length; pasadas++ ) // pasadas

     

    for ( int i = 0; i < b.Length - 1; i++ )

     

    if ( b[ i ] > b[ i + 1 ] ) // comparar

    intercambio( b, i );

    // intercambiar

    }

     

    // intercambio de dos elementos en un arreglo

     

    static public void intercambio( int[] c, int primero )

    {

     

    int temp; // variable temporal para el intercambio

    temp = c[ primero ];

    c[ primero ] = c[ primero + 1 ];

    c[ primero + 1 ] = temp;

    }

    }

    }

     

    Tuesday, November 02, 2010 9:08 PM

Answers