Программа сравнения матриц - C#

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

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

доброго времени суток товарищи, столкнулся с такой проблемой не могу доделать лабу по программированию сравнение массивов. текст задания для заданной матрицы размером 8 x 8 найти такие к, при которых k-я строка матрицы совпадает с k-м столбцом. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент. Сумму элементов я уже нашел, а вот сравнить матрицы не могу. код программы :
Листинг программы
  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. namespace лаба_5
  11. {
  12. public partial class Form1 : Form
  13. {
  14. public Form1()
  15. {
  16. InitializeComponent();
  17. }
  18. private void button1_Click(object sender, EventArgs e)
  19. {
  20. textBox3.Text = " ";
  21. int[,] mas = new int[10, 10];
  22. int m = 2,
  23. n = 2;
  24. Random a = new Random();
  25. for (int i = 0; i < m; i++)
  26. {
  27. for (int j = 0; j < n; j++)
  28. {
  29. if (a.Next(100) > 1) mas[i, j] = a.Next(3);
  30. else mas[i, j] = -a.Next(2);
  31. textBox3.Text = textBox3.Text + Convert.ToString(mas[i, j]) + " ";
  32. }
  33. textBox3.Text = textBox3.Text + System.Environment.NewLine;
  34. }
  35. #region найти сумму эллементов
  36. int p = 0;
  37.  
  38. for (int i = 0; i < n; i++)
  39. {
  40. for (int s = 0; s < m; s++)
  41. {
  42. if (mas[i, s] < 0)
  43. {
  44. for (int j = 0; j < 9; j++)
  45. p += mas[i, j];
  46.  
  47. }
  48. label4.Text = "Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент: " + Convert.ToString(p);
  49. }
  50. }
  51. #endregion

Решение задачи: «Программа сравнения матриц»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace Matrix
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             int[,] matr = { { 1, 2, 3, 4 },
  11.                             { 2, 3, 9, 5 },
  12.                             { 3, 1, 3, 6 },
  13.                             { 4, 5, 6, 1 } };
  14.             foreach (int k in FindK(matr))
  15.                 Console.Write(k + " ");
  16.             Console.ReadKey();
  17.         }
  18.  
  19.         static IEnumerable<int> FindK(int[,] matrix)
  20.         {
  21.             int n = matrix.GetLength(0);
  22.             for (int i = 0; i < n; i++)
  23.             {
  24.                 bool isEqual = true;
  25.                 for (int j = 0; j < n; j++)
  26.                 {
  27.                     if (matrix[i, j] != matrix[j, i])
  28.                     {
  29.                         isEqual = false;
  30.                         break;
  31.                     }
  32.                 }
  33.                 if (isEqual) yield return i;
  34.             }
  35.         }
  36.     }
  37. }

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


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

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

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

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

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

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