Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Learn more about F# at http://fsharp.org
- // See the 'F# Tutorial' project for more help.
- let multiplyI (a:int[,]) (b:int[,]) =
- // în numele funcției, I vine de la „imperativ”
- // a:int[,] este o adnotare de tip (engl. “type annotation”),
- // adică se specifică explicit tipului parametrilor, în acest caz pentru a putea folosi metoda GetLength
- let n = a.GetLength(0) // numărul de linii al matricei a
- let m = a.GetLength(1) // numărul de coloane al matricei a
- let p = b.GetLength(0)// numărul de linii al matricei b
- let q = b.GetLength(1)// numărul de coloane al matricei b
- if (n <> q) then
- Array2D.zeroCreate 1 1
- else
- let mutable c = Array2D.init n q (fun x y -> 0) // se inițializează matricea rezultat cu funcția Array2D.init
- for i = 0 to n-1 do
- for j = 0 to q-1 do
- for k = 0 to m-1 do
- c.[i,j] <- c.[i,j] + (a.[i,k] * b.[k,j])
- c
- // se returnează rezultatul
- [<EntryPoint>]
- let main argv =
- printfn "%A" argv
- 0 // return an integer exit code
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement