Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент - C# (184987)

Узнай цену своей работы

Формулировка задачи:

1)Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент. 2)Создать ступенчатый массив, скопировав в него только те элементы из начального массива, которые отличаются от среднего арифметического всех элементов массива не более чем на 30%.

Решение задачи: «Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент»

textual
Листинг программы
  1.      int[,] MainArray = { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }, { 3,3, 3, 3, 3, 3, 3, 3, 3, 3 } };
  2.  
  3.  
  4.  
  5.             string[][] SteppedArray = new string[MainArray.GetLength(0)][];   // итоговый ступенчатый, будем в стринге делать
  6.             string result = "";    
  7.  
  8.             int Sum=0;// сумма всех
  9.  
  10.             double AverageValue = 0; // среднее значение
  11.  
  12.             // считаем среднее;
  13.  
  14.             for (int i = 0; i < MainArray.GetLength(0); i++)
  15.  
  16.                 for (int j = 0; j < MainArray.GetLength(1); j++)
  17.  
  18.                     Sum+=MainArray[i,j];
  19.  
  20.  
  21.             AverageValue = Sum / MainArray.Length;
  22.  
  23.  
  24. // проходимся еще раз сравнивая со средним   //   будем делать так , записываем нужные значения в строку , разделяя каждый столбец ';' , а элементы столбцов '+'
  25.  
  26.  
  27.        for (int i = 0; i < MainArray.GetLength(0); i++)
  28.        {
  29.            if(i!=0) result+=";";  // при первом входе не ставим ';';
  30.  
  31.            for (int j = 0; j < MainArray.GetLength(1); j++)
  32.  
  33.                if (Math.Abs(AverageValue - MainArray[i, j]) < (0.3 * AverageValue))
  34.                {// вычитаем из среднего текущий, берем модуль получивщегося и сравниваем с 30% (не будет работать при отрицательных значений в массиве , попробуйте добавить это сами)
  35.                    result += MainArray[i, j]+"+";
  36.  
  37.                }
  38.  
  39.         }
  40.  
  41.  
  42.             string[] temp = result.Split(';');
  43.  
  44.  
  45.             for (int i = 0; i < MainArray.GetLength(0); i++)
  46.                 SteppedArray[i] = temp[i].Split('+');

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


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

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

12   голосов , оценка 4.083 из 5

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

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

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