2017-04-07 13 views
-2

私は2つの配列:A = [1 2 3 4]B = [5 6 7 8]を持っています。 & Bを1つの配列Cにマージし、昇順にソートするにはどうすればよいですか?私は、アルゴリズムのソート/連結の素朴な実装であるここでは、FORTRAN 77Fortran 77での配列のマージ

+1

こんにちは、とのStackOverflowへようこそ!これはコード作成サービスではありません。あなたが試したことの例とあなたが遭遇した正確な問題を投稿してください。ガイダンスについては、http://stackoverflow.com/help/how-to-askを参照してください。 – betseyb

+0

は、なぜ近代的なfortranを使うことができないのかをはっきりと明確にします。 – agentp

答えて

-1

でこれを実行する必要があります。

program sort 
    integer size1, size2, sizeout 
    parameter (size1 = 4, size2 = 4) 
    parameter (sizeout = size1 + size2) 
    integer in1(size1), in2(size1) 
    data in1/1,2,4,4/, in2/5,8,7,5/ 
    integer out(sizeout) 

c concatenate arrays 
    do j=1,size1 
     out(j)=in1(j) 
    enddo 
    do j=1,size2 
     out(j+size1)=in2(j) 
    enddo 

c sort the elements of the output array 
4 do j=2,sizeout 
     if(out(j).lt.out(j-1)) then 
      temp =out(j-1) 
      out(j-1)=out(j ) 
      out(j )=temp 
      goto 4 
     endif 
    enddo 

    end 
+1

これはFortran 77からの何らかの方法であり、現代のFortranからの何らかの方法です。そして、それはどんな標準の下でも合法ではありません。 – francescalus

+0

@francescalusこの点にご指摘いただきありがとうございます。私が言いましたように、私のマシンにgfortranでコンパイルされた単純な実装です。 2つの配列を連結し、昇順にソートします。 F77に準拠させるために私の答えを編集してください。 – Sergio

+1

コードライティングサービスとしてSOを使用しようとするとOPをかけるか、*またはスプーンフィードしてください。両方ではありません。 –