Anuncio

Colapsar
No hay ningún anuncio todavía.

Duda intercambio de vectores

Colapsar
X
 
  • Filtro
  • Hora
  • Mostrar
Borrar todo
nuevos mensajes

  • Fortran Duda intercambio de vectores

    Hola, no consigo crean en fortran un programa que coja un vector (da igual la dimension, supongamos 6) , ejemplo, v=(1,2,3,4,5,6) y me intercambie dos posiciones. Por ejemplo: v(1)=1 y v(2)=2 pues quiero cambiar v(1)=2 y v(2)=1 entonces queda como v=(2,1,3,4,5,6) y tambien como podria ordenarlo luego de mayor a menor?


    Graicas!!!
    Última edición por galilea; 04/01/2017, 14:04:23.

  • #2
    Re: Duda intercambio de vectores

    Hace demasiado tiempo que no programo en FORTRAN. La versión en C++ para el intercambio de dos elementos de un vector sería de la forma siguiente. No creo que te cueste adaptarla al FORTRAN

    Código:
    void intercambiar (float* vector, int i, int j)
    {
        float temp = vector[i];
        vector[i] = vector[j];
        vector[j] = temp;
    }
    Por supuesto, puede reforzarse con comprobaciones de rango, previas al intercambio, pero la esencia son esas tres líneas.

    Con respecto a la ordenación existen numerosos algoritmos, de los cuales el más sencillo, pero muy poco eficiente es el humilde de burbuja (https://es.wikipedia.org/wiki/Ordenamiento_de_burbuja). Si tienes ganas de aprender algo mejor, te recomiendo el quicksort (https://es.wikipedia.org/wiki/Quicksort, quizá mejor explicado en la versión inglesa: https://en.wikipedia.org/wiki/Quicksort)
    Última edición por arivasm; 04/01/2017, 22:48:55.
    A mi amigo, a quien todo debo.

    Comentario

    Contenido relacionado

    Colapsar

    Trabajando...
    X