Пространство имен уже содержит определение для класса - 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();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы