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 Adaline
{
public partial class Form1 : Form
{
float d1, d2, d3, d4, eta;
float y1, y2, y3, y4;
float w10, w11, w12;
float w20, w21, w22;
float w30, w31, w32;
float w40, w41, w42;
float x10, x11, x12;
float x20, x21, x22;
float x30, x31, x32;
float x40, x41, x42;
float net, net1, net2, net3, net4;
float dw10, dw11, dw12;
float dw20, dw21, dw22;
float dw30, dw31, dw32;
float dw40, dw41, dw42;
public Form1()
{
InitializeComponent();
}
public void Adaline(float x0, float x1, float x2,
float w0, float w1, float w2,
float d, float net, float y,
float dw0, float dw1, float dw2, float eta)
{
net = x0 * w0 + x1 * w1 + x2 * w2;
if (net <= 0)
y = 1;
else
y = -1;
dw0 = eta * x0 * (d - net);
dw1 = eta * x1 * (d - net);
dw2 = eta * x2 * (d - net);
string a = "{0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11}", x0, x1, x2, w0, w1, w2, d, net, y, dw0, dw1, dw2;
listBox1.Items.Add(a);
}
private void button1_Click(object sender, EventArgs e)
{
eta = Convert.ToSingle(textBox20);
d1 = Convert.ToSingle(textBox19);
d2 = Convert.ToSingle(textBox18);
d3 = Convert.ToSingle(textBox17);
d4 = Convert.ToSingle(textBox16);
w10 = Convert.ToSingle(textBox3);
w11 = Convert.ToSingle(textBox2);
w12 = Convert.ToSingle(textBox1);
int passes = 0;
x10 = Convert.ToSingle(textBox7);
x11 = Convert.ToSingle(textBox11);
x12 = Convert.ToSingle(textBox15);
x20 = Convert.ToSingle(textBox6);
x21 = Convert.ToSingle(textBox10);
x22 = Convert.ToSingle(textBox14);
x30 = Convert.ToSingle(textBox5);
x31 = Convert.ToSingle(textBox9);
x32 = Convert.ToSingle(textBox13);
x40 = Convert.ToSingle(textBox4);
x41 = Convert.ToSingle(textBox8);
x42 = Convert.ToSingle(textBox12);
while (passes <= 100)
{
Adaline(x10, x11, x12, w10, w11, w12, d1, net1, y1, dw10, dw11, dw12, eta);
w20 = w10 + dw10;
w21 = w11 + dw11;
w22 = w12 + dw12;
Adaline(x20, x21, x22, w20, w21, w22, d2, net2, y2, dw20, dw21, dw22, eta);
w30 = w20 + dw20;
w31 = w21 + dw21;
w32 = w22 + dw22;
Adaline(x30, x31, x32, w30, w31, w32, d3, net3, y3, dw30, dw31, dw32, eta);
w40 = w30 + dw30;
w41 = w31 + dw31;
w42 = w32 + dw32;
Adaline(x40, x41, x42, w40, w41, w42, d4, net4, y4, dw40, dw41, dw42, eta);
w10 = w40 + dw40;
w11 = w41 + dw41;
w12 = w42 + dw42;
passes += 1;
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
私はthieseエラーを取得:それが宣言される前に 1 'は、ネットのローカル変数を使用することはできません。ローカル変数の宣言はフィールド 'Adaline.Form1.net'を隠す 2宣言する前にローカル変数 'x0'を使用できません。 3宣言する前にローカル変数 'w0'を使用することはできません。 4宣言する前にローカル変数 'x1'を使用できません。 。 。 。
これは宿題ですか?この目的のためにそれぞれのタグを使用してください。 –
エラーは非常にはっきりしています。ちょうど...知っていて、それらを読んで、少し考えてみてください。ドキュメントを参照してください。 –
エラーが表示された場合、「変数Netは、宣言していないため使用できません。 –