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

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

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

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

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

textual
Листинг программы
     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 } };
 
 
 
            string[][] SteppedArray = new string[MainArray.GetLength(0)][];   // итоговый ступенчатый, будем в стринге делать
            string result = "";    
 
            int Sum=0;// сумма всех
 
            double AverageValue = 0; // среднее значение
 
            // считаем среднее;
 
            for (int i = 0; i < MainArray.GetLength(0); i++)
 
                for (int j = 0; j < MainArray.GetLength(1); j++)
 
                    Sum+=MainArray[i,j];
 
 
            AverageValue = Sum / MainArray.Length;
 
 
// проходимся еще раз сравнивая со средним   //   будем делать так , записываем нужные значения в строку , разделяя каждый столбец ';' , а элементы столбцов '+'
 
 
       for (int i = 0; i < MainArray.GetLength(0); i++)
       {
           if(i!=0) result+=";";  // при первом входе не ставим ';';
 
           for (int j = 0; j < MainArray.GetLength(1); j++)
 
               if (Math.Abs(AverageValue - MainArray[i, j]) < (0.3 * AverageValue))
               {// вычитаем из среднего текущий, берем модуль получивщегося и сравниваем с 30% (не будет работать при отрицательных значений в массиве , попробуйте добавить это сами)
                   result += MainArray[i, j]+"+";
 
               }
 
        }
 
 
            string[] temp = result.Split(';');
 
 
            for (int i = 0; i < MainArray.GetLength(0); i++)
                SteppedArray[i] = temp[i].Split('+');

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


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

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

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