Пространство имен уже содержит определение для класса - C#
Формулировка задачи:
Привет всем!
Опишу свою проблему. Пишу дипломную работу, и в практической части мне нужно написать программную реализацию неокогнитрона. Решил взять эту тему, хотя, конечно, сомневался, смогу ли я написать программу...
Решил писать на C#. На данный момент создана форма, описаны интерфейсы нейронов и плоскостей. Интерфейсы нейронов реализовал с помощью наследования - класс-потомок Neuron и от него производные классы "SCell", "C", "Brake", "Lateral"(изначально назвал SNeuron, CNeuron, BrakeNeuron, LateralNeuron, но выдавало ошибку, которая в сабже, для первых трех классов). С плоскостями так же.
Однако, после переименования классов ошибка "Пространство имен уже содержит определение для класса" осталась. Что я не так делаю?
Вот список ошибок:
1>f:\landik\документы\visual studio 2012\Projects\Неокогнитрон\Неокогнитрон\Neuron.cs(124,18,124,19): error CS0101: Пространство имен "Неокогнитрон" уже содержит определение для "C"
1>f:\landik\документы\visual studio 2012\Projects\Неокогнитрон\Неокогнитрон\Neuron.cs(156,18,156,23): error CS0101: Пространство имен "Неокогнитрон" уже содержит определение для "Brake"
1>f:\landik\документы\visual studio 2012\Projects\Неокогнитрон\Неокогнитрон\SNeuron.cs(9,11,9,16): error CS0101: Пространство имен "Неокогнитрон" уже содержит определение для "SCell"
Вот файл Neuron.cs, если что....правда, тут 260 строк:
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Неокогнитрон
- {
- public class Neuron
- {
- protected double[,] inputs;
- protected double synapse;
- protected double output;
- public Neuron()
- {
- inputs = new double[4, 4];
- for (int i = 0; i < 4; i++)
- for (int j = 0; j < 4; j++)
- inputs[i, j] = 0;
- synapse = 0;
- output = 0;
- }
- public void setInputs(int a, int b, int c, int d, double[,] mas)
- {
- int k = 0;
- int n = 0;
- for (int i = a; i < b; i++)
- {
- for (int j = c; j < d; j++)
- {
- inputs[k, n] = mas[i, j];
- n++;
- }
- k++;
- n = 0;
- }
- }
- public double[,] getInputs()
- {
- return inputs;
- }
- public double getSynapse()
- {
- return synapse;
- }
- };
- public class SCell : Neuron
- {
- private double[,] SSynapses;
- private double lateralSynapse;
- public SCell()
- {
- lateralSynapse = 0;
- SSynapses = new double[4, 4];
- for (int i = 0; i < 4; i++)
- for (int j = 0; j < 4; j++)
- SSynapses[i, j] = 0;
- }
- public void setSSynapses(int a, int b, int c, int d, double[,] mas)
- {
- int k = 0;
- int n = 0;
- for (int i = a; i < b; i++)
- {
- for (int j = c; j < d; j++)
- {
- SSynapses[k, n] = mas[i, j];
- n++;
- }
- k++;
- n = 0;
- }
- }
- public void setLateralSynapse(double num)
- {
- lateralSynapse = num;
- }
- public double getLateralSynapse()
- {
- return lateralSynapse;
- }
- public double getSOutput(double num1, double num2, double output1, double output2)
- {
- double E = 0;
- double I = 0;
- double NET = 0;
- for (int i = 0; i < 4; i++)
- for (int j = 0; j < 4; j++)
- E += (SSynapses[i, j] * inputs[i, j]);
- I = ((num1 * output1) + (num2 * output2));
- NET = (((1 + E) / (1 + I)) - 1);
- if (NET > 0)
- output = NET;
- else
- output = 0;
- return output;
- }
- }
- public class C : Neuron
- {
- private double cSynapse;
- public void setCSynapse(double num)
- {
- cSynapse = num;
- }
- public double getCOutput()
- {
- for (int i = 0; i < 4; i++)
- for (int j = 0; j < 4; j++)
- if (inputs[i, j] > 0)
- {
- output = 1;
- break;
- }
- return output;
- }
- public void startChangeCSynapse(double q1, double syn, double outp)
- {
- synapse = (q1 * syn * outp);
- }
- public void ChangeCSynapse(double q, double syn, double outp)
- {
- synapse = (q * syn * outp);
- }
- }
- public class Brake : Neuron
- {
- private double[,] BSynapses;
- public Brake()
- {
- BSynapses = new double[4, 4];
- for (int i = 0; i < 4; i++)
- for (int j = 0; j < 4; j++)
- BSynapses[i, j] = 0;
- }
- public void setBSynapses(int a, int b, int c, int d, double[,] mas)
- {
- int k = 0;
- int n = 0;
- for (int i = a; i < b; i++)
- {
- for (int j = c; j < d; j++)
- {
- BSynapses[k, n] = mas[i, j];
- n++;
- }
- k++;
- n = 0;
- }
- }
- public double getBOutput()
- {
- for (int i = 0; i < 4; i++)
- for (int j = 0; j < 4; j++)
- output += Math.Pow((BSynapses[i, j] * inputs[i, j]), 2);
- return Math.Sqrt(output);
- }
- public void startChangeBSynapse(double q)
- {
- synapse = (q * output);
- }
- public void changeBSynapse(double q)
- {
- double sum = 0;
- for (int i = 0; i < 4; i++)
- for (int j = 0; j < 4; j++)
- sum += (BSynapses[i, j] * inputs[i, j]);
- synapse = ((q * sum) / (2 * output));
- }
- }
- public class Lateral : Neuron
- {
- private double[,] LSynapses;
- private double lInhib;
- public Lateral()
- {
- lInhib = 0;
- LSynapses = new double[4, 4];
- for (int i = 0; i < 4; i++)
- for (int j = 0; j < 4; j++)
- LSynapses[i, j] = 0;
- }
- public void setLSynapses(int a, int b, int c, int d, double[,] mas)
- {
- int k = 0;
- int n = 0;
- for (int i = a; i < b; i++)
- {
- for (int j = c; j < d; j++)
- {
- LSynapses[k, n] = mas[i, j];
- n++;
- }
- k++;
- n = 0;
- }
- }
- public void setLInhib()
- {
- for (int i = 0; i < 4; i++)
- for (int j = 0; j < 4; j++)
- lInhib += (LSynapses[i, j] * inputs[i, j]);
- }
- public double getLOutput(double num)
- {
- output = (((1 + num) / (1 + lInhib)) - 1);
- return output;
- }
- }
- }
Решение задачи: «Пространство имен уже содержит определение для класса»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace Неокогнитрон
- {
- public partial class Form1 : Form
- {
- Bitmap image;
- public double[,] pixels;
- public void printing()
- {
- int var;
- int n = image.Width;
- int m = image.Height;
- pixels = new double[n, m];
- for (int k = 0; k <= 11; k++)
- listBox1.Items.Add(" ");
- for (int i = 0; i <= 11; i++)
- for (int j = 0; j <= 11; j++)
- {
- var = image.GetPixel(i, j).R;
- if (var >= 250)
- var = 0;
- else
- var = 1;
- pixels[i, j] = var;
- listBox1.Items[j] = listBox1.Items[j] + " " + Convert.ToString(var);
- }
- }
- public void Neocognitron(double[,] array)
- {
- Simple[,] splanes;
- Complex[,] cplanes;
- double[,] sOutputs;
- double[,] lOutputs;
- double[,] cOutputs;
- double[,] bOutputs;
- double[,] lSynapses;
- double[,] cSynapses;
- double[,] bSynapses;
- double q = 10;
- double q1 = 5;
- int layers = 4;
- int epochs = 100;
- int i, j;
- splanes = new Simple[4, 12];
- cplanes = new Complex[4, 12];
- sOutputs = new double[12, 12];
- lOutputs = new double[12, 12];
- cOutputs = new double[12, 12];
- bOutputs = new double[12, 12];
- lSynapses = new double[12, 12];
- cSynapses = new double[12, 12];
- bSynapses = new double[12, 12];
- }
- public Form1()
- {
- InitializeComponent();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- listBox1.Items.Clear();
- if (openFileDialog1.ShowDialog() == DialogResult.OK)
- {
- image = new Bitmap(openFileDialog1.FileName);
- pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
- pictureBox1.Image = image;
- pictureBox1.Invalidate();
- }
- printing();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д