Пространство имен уже содержит определение для класса - 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(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д