• 用数组实现矩阵乘法


    刚开始学c#,下面列出用数组实现矩阵乘法碰到的问题。

    1、如何运行c#程序

    1)新建一个控制台应用程序项目

    2)在该项目上右键新建类

    3)在类中添加逻辑代码

    示例:

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Hello World");
                Console.ReadKey();
            }
        }
    }

    4)点击运行即可

    示例结果:

    2、变量格式化输出

    参见连接:http://www.cnblogs.com/BeginnerClassroom/archive/2009/10/15/1583787.html

    3、用数组实现矩阵乘法

    废话不多说,直接上示例。

    示例:

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    /// <summary>
    /// [功能描述: 用数组实现矩阵乘法:
    /// 1、声明一个2行3列的两维数组,用于存放矩阵A;
    /// 2、声明一个3行4列的两维数组,用于存放矩阵B
    /// 3、声明一个2行4列的两维数组,用于存放矩阵A和矩阵B的乘积
    /// ]<br></br>
    /// [创 建 者: XXX]<br></br>
    /// [创建时间: 2017-08-28]<br></br>
    /// <修改记录 
    ///        修改人='' 
    ///        修改时间='yyyy-mm-dd' 
    ///        修改目的=''
    ///        修改描述=''
    ///  />
    /// </summary>
    namespace ConsoleApplication1
    {
        class MultiplyByArry
        {
            public MultiplyByArry()
            {
                Active();
            }
    
            /// <summary>
            /// 说明:矩阵乘法
            /// </summary>
            /// <param name=""></param>
            /// <returns></returns>
            /// <remarks>2017-08-28</remarks>
            private void Active()
            {
                int[,] A = new int[2, 3];
                int[,] B = new int[3, 4];
                int[,] C = new int[2, 4];
    
                //初始化数组
                int count = 1;
                for (int i = 0; i < 2; i++)
                {
                    for (int j = 0; j < 3; j++)
                    {
                        A[i, j] = count;
                        count++;
                    }
                }
                count = 1;
                for (int i = 0; i < 3; i++)
                {
                    for (int j = 0; j < 4; j++)
                    {
                        B[i, j] = count;
                        count++;
                    }
                }
    
                //数组乘法逻辑运算
                int sum = 0;
                int multiple = 0;
                for (int i = 0; i < 2; i++)
                {
                    for (int j = 0; j < 4; j++)
                    {
                        for (int k = 0; k < 3; k++) //矩阵共同点
                        {
                            multiple = A[i, k] * B[k, j];
                            sum += multiple;
                        }
                        C[i, j] = sum;
                        sum = 0;
                    }
                }
    
                //打印数组
                Console.WriteLine("A数组");
                for (int i = 0; i < 2; i++)
                {
                    for (int j = 0; j < 3; j++)
                    {
                        Console.Write("{0}, ", A[i, j]);
                    }
                    Console.WriteLine();
                }
                Console.WriteLine("
    B数组");
                for (int i = 0; i < 3; i++)
                {
                    for (int j = 0; j < 4; j++)
                    {
                        Console.Write("{0}, ", B[i, j]);
                    }
                    Console.WriteLine();
                }
                Console.WriteLine("
    结果数组");
                for (int i = 0; i < 2; i++)
                {
                    for (int j = 0; j < 4; j++)
                    {
                        Console.Write("{0}, ", C[i, j]);
                    }
                    Console.WriteLine();
                }
            }
        }
    }

    结果:

    4、小结

    我之间一直学的是Java,首次接触到c#,很多地方都不一样,比如命名规则等,但是只要懂了一门语言其它就是换汤不换药了,肯下功夫都可以学会的。

  • 相关阅读:
    codeforce 266c Below the Diagonal 矩阵变换 (思维题)
    8月21日训练日记
    CodeForces 651B Beautiful Paintings
    CodeForces 651 C Watchmen
    CodeForces 17D Notepad(同余定理)
    CodeForces 19B Checkout Assistant
    Code Forces 18D Seller Bob(简单DP)
    HOJ Recoup Traveling Expenses(最长递减子序列变形)
    ZOJ 3469Food Delivery(区间DP)
    Code Forces 149DColoring Brackets(区间DP)
  • 原文地址:https://www.cnblogs.com/chenhailing/p/7444699.html
Copyright © 2020-2023  润新知