Сформировать матрицу по правилу - C# (193097)

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

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

Всем привет! Никак не могу разобраться с задачей! Есть двумерный массив double[n, 7]. Нужно его сформировать таким образом, чтобы элемент a[i, 3] > 5, если он меньше, то складывать строки в этом столбце ниже (или выше), пока a[i, 3] <=5. При складывании удалить лишние строчки. Например Input 1, 2, 3, 1, 0.125, 3, 0.1 1, 2, 3, 6, 1.1, 4, 5 1, 2, 3, 1, 2, 3, 2 1, 2, 3, 3, 4, 5, 0.01 1, 2, 3, 2, 5, 3, 0.001 1, 2, 3, 7, 123, 32, 0.9 Output 1, 2, 3, 7, 0.125, 3, 0.1 1, 2, 3, 6, 2, 3, 2 1, 2, 3, 7, 123, 32, 0.9 Так же возможны и другие случаи

Решение задачи: «Сформировать матрицу по правилу»

textual
Листинг программы
  1.     class Program
  2.     {
  3.         static void Main(string[] args)
  4.         {
  5.             Console.Write("Ввести количество строк n: ");
  6.             int n = Convert.ToInt32(Console.ReadLine());
  7.             double[,] mass = new double[n, 7];
  8.             Console.Write("\nИсходный массив:\n\n");
  9.             Random rnd = new Random();
  10.             for (int i = 0; i < n; i++)
  11.             {
  12.                 for (int j = 0; j < 7; j++)
  13.                 {
  14.                     mass[i, j] = Convert.ToDouble(rnd.Next(1, 100)) / 10;
  15.                     Console.Write("{0} ", mass[i, j]);
  16.                 }
  17.                 Console.WriteLine();
  18.             }
  19.             int k = 0;
  20.             while (k < n)
  21.             {
  22.                 if (mass[k, 3] <= 5)
  23.                 {
  24.                     for (int m = 0; m < 7; m++)
  25.                     {
  26.                         if (n > k + 1)
  27.                         {
  28.                             mass[k, m] += mass[k + 1, m];
  29.                             for (int l = k + 1; l < n - 1; l++)
  30.                                 mass[l, m] = mass[l + 1, m];
  31.                         }
  32.                         else
  33.                         {
  34.                             mass[k - 1, m] += mass[k, m];
  35.                         }
  36.                     }
  37.                     n -= 1;
  38.                 }
  39.                 else k += 1;
  40.             }
  41.             Console.Write("\nНовый массив:\n\n");
  42.             for (int p = 0; p < n; p++)
  43.             {
  44.                 for (int s = 0; s < 7; s++)
  45.                     Console.Write("{0} ", mass[p, s]);
  46.                 Console.WriteLine();
  47.             }
  48.             Console.Read();
  49.         }
  50.     }

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


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

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

6   голосов , оценка 4.333 из 5

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

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

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