0votos

Matriz Cuadrática en F#

por josejuan hace 5 años

Eso

Realizar una matriz cuadrática de n elementos, en el que se pida al usuario el tamaño de la matriz (n*n). De acuerdo a este número se va a realizar la matriz con las diferentes operaciones pedidas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
open System 
 
let mayorDiagonal (m : int array) n = 
    let p = [for x in [0..(n - 1)] do yield m.[     x  * (n + 1)]] 
    let s = [for x in [0..(n - 1)] do yield m.[(1 + x) * (n - 1)]] 
    if List.sum p > List.sum s then p else s 
 
do  
    printf "Tamaño de la matriz: " 
    let n = Int32.Parse(Console.ReadLine()) // C# code 
    printfn "Escribe los %d elementos de la matriz:" (n * n) 
    let m = Array.map (Int32.Parse) <| 
                Console.ReadLine().Split([|' '|]) // C# code 
    printfn "Mayor diagonal: %A" (mayorDiagonal m n) 
    printfn "Suma de pares: %d" (Array.sum <| Array.filter (fun n -> n % 2 = 0) m) 
    printfn "Suma de nones: %d" (Array.sum <| Array.filter (fun n -> n % 2 = 1) m) 
    printfn "Suma de ni 3 ni 5: %d" (Array.sum <| Array.filter (fun n -> n <> 3 && n <> 5) m) 

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.