【发布时间】:2014-03-12 07:12:02
【问题描述】:
我正在尝试检查一个数组是否已排列。问题是在 Verificar Fsharp 方法中忽略了 if 和 'ordenado' 总是取值 0。
open System
type VerificarOrden() =
let valor = Array.empty
let (valor : int array) = Array.create 10 1
let ordenado = 0
member this.Inicializar() =
for f in 0 .. valor.Length - 1 do
printfn "Introduzaca el valor %d: " f
let res=System.Console.ReadLine()
Array.set valor f (System.Int32.Parse(res))
member this.Verificar() =
for f in 1 .. valor.Length - 1 do
if valor.[f] > valor.[f-1]
then ordenado = 0
else ordenado = 1
printfn "f: %d\nanterior: %d\nordenado: %d\n" valor.[f] valor.[f-1] ordenado
member this.Imprimir() =
if ordenado = 0
then printfn "La matriz esta ordenada"
else printfn "La matriz no esta ordenada"
let chekear = VerificarOrden()
chekear.Inicializar()
chekear.Verificar()
chekear.Imprimir()
正因为如此,它总是显示数组虽然不是排列的
【问题讨论】:
标签: f#