Программа сравнения матриц - C#
Формулировка задачи:
доброго времени суток товарищи, столкнулся с такой проблемой не могу доделать лабу по программированию сравнение массивов.
текст задания
для заданной матрицы размером 8 x 8 найти такие к, при которых k-я строка
матрицы совпадает с k-м столбцом. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.
Сумму элементов я уже нашел, а вот сравнить матрицы не могу.
код программы :
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace лаба_5
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- textBox3.Text = " ";
- int[,] mas = new int[10, 10];
- int m = 2,
- n = 2;
- Random a = new Random();
- for (int i = 0; i < m; i++)
- {
- for (int j = 0; j < n; j++)
- {
- if (a.Next(100) > 1) mas[i, j] = a.Next(3);
- else mas[i, j] = -a.Next(2);
- textBox3.Text = textBox3.Text + Convert.ToString(mas[i, j]) + " ";
- }
- textBox3.Text = textBox3.Text + System.Environment.NewLine;
- }
- #region найти сумму эллементов
- int p = 0;
- for (int i = 0; i < n; i++)
- {
- for (int s = 0; s < m; s++)
- {
- if (mas[i, s] < 0)
- {
- for (int j = 0; j < 9; j++)
- p += mas[i, j];
- }
- label4.Text = "Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент: " + Convert.ToString(p);
- }
- }
- #endregion
Решение задачи: «Программа сравнения матриц»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- namespace Matrix
- {
- class Program
- {
- static void Main(string[] args)
- {
- int[,] matr = { { 1, 2, 3, 4 },
- { 2, 3, 9, 5 },
- { 3, 1, 3, 6 },
- { 4, 5, 6, 1 } };
- foreach (int k in FindK(matr))
- Console.Write(k + " ");
- Console.ReadKey();
- }
- static IEnumerable<int> FindK(int[,] matrix)
- {
- int n = matrix.GetLength(0);
- for (int i = 0; i < n; i++)
- {
- bool isEqual = true;
- for (int j = 0; j < n; j++)
- {
- if (matrix[i, j] != matrix[j, i])
- {
- isEqual = false;
- break;
- }
- }
- if (isEqual) yield return i;
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д