日期:2014-05-17  浏览次数:22188 次

c# 索引超出了数组界限
初学编程,不怎么会。求助,修改。
要做一个公式的计算的窗口,计算概率的,求概率的最大值。
输入:a[6],6个元素之不是1就是0。a[1]对应p[1],p[1]是概率,a[2]对应p[2],a[3]对应p[3],a[4]对应p[4]……,组成概率数组p[6].求其中概率最大的。

公式:
界面:
程序如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace bayes01
{

    public partial class Form1 : Form
    {
        
        int[] nArray = new int[6];//定义一个int型数组  
        public Form1()
        {

            InitializeComponent();
            String str = textBox1.Text;
             char[] ch = str.ToCharArray();//转换成char型来计算  
             //int[] nArray = new int[str.Length];//定义一个int型数组  

             const int ten = 10;   //定义常量  
             for (int i = 0; i < ch.Length; i++)
             {

                 nArray[i] = ch[i] - 48;  //把字符转换成int  
                 for (int j = ch.Length - i - 1; j > 0; j--)
                 {
                     nArray[i] *= ten;
                 }

             }  
            
       }    
        
        
        static double cimi(double p,int m)//连续相乘
        {
            double sum = 1;
            for(int i=0;i<m;i++)
            {
                
                sum *= p;
          &