Дана матрица. Найти произведение элементов в тех строках, которые не содержат отрицательных элементов - C#

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

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

C #дана матрица. Найти произведение элементов в тех строках, которые не содержат отрицательных элементов. Помогите почему произведение считает и отрицательные числа ?
Листинг программы
  1. static void Main(string[] args)
  2. {
  3. Console.Write("Введите размер квадратной матрицы: ");
  4. int r = Convert.ToInt16(Console.ReadLine());
  5. int[,] matrix = new int[r, r];
  6. Random random = new Random();
  7. int rand;
  8. //Выводим матрицу на экран
  9. for (int i = 0; i < r; i++)
  10. {
  11. for (int j = 0; j < r; j++)
  12. {
  13. rand = random.Next(-10, 100);
  14. matrix[i, j] = rand;
  15. Console.Write(matrix[i, j] + "\t");
  16. }
  17. Console.WriteLine();
  18. }
  19. //Произведение элементов в тех строках, которые не содержат отрицательных элементов;
  20. int[] RowTotal = new int[r];
  21. for (int i = 0; i < r; i++)
  22. {
  23. for (int j = 0; j < r; j++)
  24. {
  25. if (matrix[i, j] > 0)
  26. {
  27. if (!RowTotal[i].Equals(0))
  28. RowTotal[i] *= matrix[i, j];
  29. else RowTotal[i] = matrix[i, j];
  30. }
  31. }
  32. }
  33. for (int i = 0; i < r; i++)
  34. Console.WriteLine("Строка {0} матрицы имеет произведение положительных элементов =: {1}", i+1, RowTotal[i]);

Решение задачи: «Дана матрица. Найти произведение элементов в тех строках, которые не содержат отрицательных элементов»

textual
Листинг программы
  1. using System;
  2.  
  3. class Program
  4. {
  5.     static void Main()
  6.     {
  7.         Random rnd = new Random();
  8.         int[,] matrix = new int[5, 6];
  9.         for (int i = 0; i < matrix.GetLength(0); i++)
  10.         {
  11.             for (int j = 0; j < matrix.GetLength(1); j++)
  12.             {
  13.                 Console.Write(matrix[i, j] = rnd.Next(10));
  14.                 Console.Write("\t");
  15.             }
  16.             Console.WriteLine();
  17.         }
  18.         int max = Int32.MinValue;
  19.         for (int i = 1 - matrix.GetLength(0); i < matrix.GetLength(1); i++)
  20.         {
  21.             int sum = 0;
  22.             int j = i < 0 ? -i : 0;
  23.             int k = i > 0 ? i : 0;
  24.             while (j < matrix.GetLength(0) && k < matrix.GetLength(1))
  25.             {
  26.                 sum += matrix[j++, k++];
  27.             }
  28.             Console.WriteLine(sum);
  29.             max = Math.Max(max, sum);
  30.         }
  31.         Console.WriteLine(max);
  32.     }
  33. }

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


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

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

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

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

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

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