Пространство имен уже содержит определение для класса - 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 строк:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Неокогнитрон
  7. {
  8. public class Neuron
  9. {
  10. protected double[,] inputs;
  11. protected double synapse;
  12. protected double output;
  13. public Neuron()
  14. {
  15. inputs = new double[4, 4];
  16. for (int i = 0; i < 4; i++)
  17. for (int j = 0; j < 4; j++)
  18. inputs[i, j] = 0;
  19. synapse = 0;
  20. output = 0;
  21. }
  22. public void setInputs(int a, int b, int c, int d, double[,] mas)
  23. {
  24. int k = 0;
  25. int n = 0;
  26. for (int i = a; i < b; i++)
  27. {
  28. for (int j = c; j < d; j++)
  29. {
  30. inputs[k, n] = mas[i, j];
  31. n++;
  32. }
  33. k++;
  34. n = 0;
  35. }
  36. }
  37. public double[,] getInputs()
  38. {
  39. return inputs;
  40. }
  41. public double getSynapse()
  42. {
  43. return synapse;
  44. }
  45. };
  46. public class SCell : Neuron
  47. {
  48. private double[,] SSynapses;
  49. private double lateralSynapse;
  50. public SCell()
  51. {
  52. lateralSynapse = 0;
  53. SSynapses = new double[4, 4];
  54. for (int i = 0; i < 4; i++)
  55. for (int j = 0; j < 4; j++)
  56. SSynapses[i, j] = 0;
  57. }
  58. public void setSSynapses(int a, int b, int c, int d, double[,] mas)
  59. {
  60. int k = 0;
  61. int n = 0;
  62. for (int i = a; i < b; i++)
  63. {
  64. for (int j = c; j < d; j++)
  65. {
  66. SSynapses[k, n] = mas[i, j];
  67. n++;
  68. }
  69. k++;
  70. n = 0;
  71. }
  72. }
  73. public void setLateralSynapse(double num)
  74. {
  75. lateralSynapse = num;
  76. }
  77. public double getLateralSynapse()
  78. {
  79. return lateralSynapse;
  80. }
  81. public double getSOutput(double num1, double num2, double output1, double output2)
  82. {
  83. double E = 0;
  84. double I = 0;
  85. double NET = 0;
  86. for (int i = 0; i < 4; i++)
  87. for (int j = 0; j < 4; j++)
  88. E += (SSynapses[i, j] * inputs[i, j]);
  89. I = ((num1 * output1) + (num2 * output2));
  90. NET = (((1 + E) / (1 + I)) - 1);
  91. if (NET > 0)
  92. output = NET;
  93. else
  94. output = 0;
  95. return output;
  96. }
  97. }
  98. public class C : Neuron
  99. {
  100. private double cSynapse;
  101. public void setCSynapse(double num)
  102. {
  103. cSynapse = num;
  104. }
  105. public double getCOutput()
  106. {
  107. for (int i = 0; i < 4; i++)
  108. for (int j = 0; j < 4; j++)
  109. if (inputs[i, j] > 0)
  110. {
  111. output = 1;
  112. break;
  113. }
  114. return output;
  115. }
  116. public void startChangeCSynapse(double q1, double syn, double outp)
  117. {
  118. synapse = (q1 * syn * outp);
  119. }
  120. public void ChangeCSynapse(double q, double syn, double outp)
  121. {
  122. synapse = (q * syn * outp);
  123. }
  124. }
  125. public class Brake : Neuron
  126. {
  127. private double[,] BSynapses;
  128. public Brake()
  129. {
  130. BSynapses = new double[4, 4];
  131. for (int i = 0; i < 4; i++)
  132. for (int j = 0; j < 4; j++)
  133. BSynapses[i, j] = 0;
  134. }
  135. public void setBSynapses(int a, int b, int c, int d, double[,] mas)
  136. {
  137. int k = 0;
  138. int n = 0;
  139. for (int i = a; i < b; i++)
  140. {
  141. for (int j = c; j < d; j++)
  142. {
  143. BSynapses[k, n] = mas[i, j];
  144. n++;
  145. }
  146. k++;
  147. n = 0;
  148. }
  149. }
  150. public double getBOutput()
  151. {
  152. for (int i = 0; i < 4; i++)
  153. for (int j = 0; j < 4; j++)
  154. output += Math.Pow((BSynapses[i, j] * inputs[i, j]), 2);
  155. return Math.Sqrt(output);
  156. }
  157. public void startChangeBSynapse(double q)
  158. {
  159. synapse = (q * output);
  160. }
  161. public void changeBSynapse(double q)
  162. {
  163. double sum = 0;
  164. for (int i = 0; i < 4; i++)
  165. for (int j = 0; j < 4; j++)
  166. sum += (BSynapses[i, j] * inputs[i, j]);
  167. synapse = ((q * sum) / (2 * output));
  168. }
  169. }
  170. public class Lateral : Neuron
  171. {
  172. private double[,] LSynapses;
  173. private double lInhib;
  174. public Lateral()
  175. {
  176. lInhib = 0;
  177. LSynapses = new double[4, 4];
  178. for (int i = 0; i < 4; i++)
  179. for (int j = 0; j < 4; j++)
  180. LSynapses[i, j] = 0;
  181. }
  182. public void setLSynapses(int a, int b, int c, int d, double[,] mas)
  183. {
  184. int k = 0;
  185. int n = 0;
  186. for (int i = a; i < b; i++)
  187. {
  188. for (int j = c; j < d; j++)
  189. {
  190. LSynapses[k, n] = mas[i, j];
  191. n++;
  192. }
  193. k++;
  194. n = 0;
  195. }
  196. }
  197. public void setLInhib()
  198. {
  199. for (int i = 0; i < 4; i++)
  200. for (int j = 0; j < 4; j++)
  201. lInhib += (LSynapses[i, j] * inputs[i, j]);
  202. }
  203. public double getLOutput(double num)
  204. {
  205. output = (((1 + num) / (1 + lInhib)) - 1);
  206. return output;
  207. }
  208. }
  209. }

Решение задачи: «Пространство имен уже содержит определение для класса»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace Неокогнитрон
  12. {
  13.     public partial class Form1 : Form
  14.     {
  15.         Bitmap image;
  16.  
  17.         public double[,] pixels;
  18.  
  19.         public void printing()
  20.         {
  21.             int var;
  22.             int n = image.Width;
  23.             int m = image.Height;
  24.  
  25.             pixels = new double[n, m];
  26.  
  27.             for (int k = 0; k <= 11; k++)
  28.                 listBox1.Items.Add(" ");
  29.  
  30.             for (int i = 0; i <= 11; i++)
  31.                 for (int j = 0; j <= 11; j++)
  32.                 {
  33.                     var = image.GetPixel(i, j).R;
  34.                     if (var >= 250)
  35.                         var = 0;
  36.                     else
  37.                         var = 1;
  38.  
  39.                     pixels[i, j] = var;
  40.  
  41.                     listBox1.Items[j] = listBox1.Items[j] + "  " + Convert.ToString(var);
  42.                 }
  43.         }
  44.  
  45.         public void Neocognitron(double[,] array)
  46.         {
  47.             Simple[,] splanes;
  48.             Complex[,] cplanes;
  49.  
  50.             double[,] sOutputs;
  51.             double[,] lOutputs;
  52.             double[,] cOutputs;
  53.             double[,] bOutputs;
  54.  
  55.             double[,] lSynapses;
  56.             double[,] cSynapses;
  57.             double[,] bSynapses;
  58.  
  59.             double q = 10;
  60.             double q1 = 5;
  61.  
  62.             int layers = 4;
  63.             int epochs = 100;
  64.             int i, j;
  65.  
  66.             splanes = new Simple[4, 12];
  67.             cplanes = new Complex[4, 12];
  68.  
  69.             sOutputs = new double[12, 12];
  70.             lOutputs = new double[12, 12];
  71.             cOutputs = new double[12, 12];
  72.             bOutputs = new double[12, 12];
  73.  
  74.             lSynapses = new double[12, 12];
  75.             cSynapses = new double[12, 12];
  76.             bSynapses = new double[12, 12];
  77.         }
  78.  
  79.         public Form1()
  80.         {
  81.             InitializeComponent();
  82.         }
  83.  
  84.         private void button1_Click(object sender, EventArgs e)
  85.         {
  86.             listBox1.Items.Clear();
  87.  
  88.             if (openFileDialog1.ShowDialog() == DialogResult.OK)
  89.             {
  90.                 image = new Bitmap(openFileDialog1.FileName);
  91.                 pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
  92.                 pictureBox1.Image = image;
  93.                 pictureBox1.Invalidate();
  94.             }
  95.  
  96.             printing();
  97.         }
  98.     }
  99. }

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


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

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

11   голосов , оценка 3.818 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы