Решить лабу на c#(задание на фото). 

Пример кода для похожей задачи ниже:

(*Модуль Form1.cs *)

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace Task_4

{

public partial class Form1 : Form

{

public Form1()

{ InitializeComponent();

}

private void txtBoxN_TextChanged(object sender,EventArgs e)

{ // установка размера матрицы и DataGridView

int i;

N = Int32.Parse(txtBoxN.Text);

DataTable matr = new DataTable("matr");

DataColumn[] cols = new DataColumn[N];

for (i = 0; i

{

cols = new DataColumn(i.ToString());

matr.Columns.Add(cols);

}

for ( i = 0; i

{

DataRow newRow;

newRow = matr.NewRow();

matr.Rows.Add(newRow);

}

datGrdViewIn.DataSource = matr;

for (i = 0; i

datGrdViewIn.Columns.Width = 50;

}

// обработка матрицы

private void btnStart_Click(object sender, EventArgs e)

{

datGrdViewRes.Visible = false;

MatrMake mt = new MatrMake(N);

mt.GridToMatrix(datGrdViewIn);

if (mt.DelStr())

MessageBox.Show("Все строки содержат нули");

else

{

datGrdViewRes.Visible = true;

mt.MatrixToGrid(datGrdViewRes);

}

}

}

}

----------------------------------------------------------------------

Модуль MatrMake.cs

(Условие:Удалить из матрицы строки, содержащие нули)

using System;

using System.Windows.Forms;

using System.Data;

namespace Task_4

{

class MatrMake

{ int n_str, //количество строк

n_col; //количество столбцов

int[,] matrix; // обрабатываемая матрица

public MatrMake(int n) // конструктор

{ n_str = n; // на входе матрица квадратная

n_col = n;

matrix = new int[n, n];

}

//заполнение матрицы из DataGridView

public void GridToMatrix(DataGridView dgv)

{

DataGridViewCell txtCell;

for(int i=0;i

{

for(int j=0; j

{

txtCell = dgv.Rows.Cells[j];

string s = txtCell.Value.ToString();

if (s == "")

matrix[i, j] = 0;

else

matrix[i, j] = Int32.Parse(s);

}

}

}

//вывод матрицы в DataGridView

public void MatrixToGrid(DataGridView dgv)

{

//установка размеров

int i;

DataTable matr = new DataTable("matr");

DataColumn[] cols = new DataColumn[n_col];

for (i = 0; i

{

cols = new DataColumn(i.ToString());

matr.Columns.Add(cols);

}

for (i = 0; i

{

DataRow newRow;

newRow = matr.NewRow();

matr.Rows.Add(newRow);

}

dgv.DataSource = matr;

for (i = 0; i

dgv.Columns.Width = 50;

// занесение значений

DataGridViewCell txtCell;

for ( i = 0; i

{

for (int j = 0; j

{

txtCell=dgv.Rows.Cells[j];

txtCell.Value= matrix[i, j].ToString() ;

}

}

}

// удаление строк, содержащих нули

public bool DelStr() //true, если результат пустая матрица

{

int i, j;

bool ok;

i = 0;

while ( i

{

ok = true;

for (j = 0; j

if (matrix[i, j] == 0)

ok = false;

if (!ok)

{

//удалить i строку

for (int k = i; k

for (j = 0; j

matrix[k, j] = matrix[k + 1, j];

n_str--;

}

else i++;

}

if (n_str == 0)

return true;

else return false;

}

}

}

2 года назад
guest_16384497125088
4 года в сервисе
Был
2 месяца назад

Выбранный исполнитель

doge5623
Юрий 
30 лет
2 года в сервисе
Был
2 года назад
1 отзыв(-1)
2 года назад
$10
1 день
Escrow
Не выполнил

Заявки фрилансеров

Арман
 
25 лет
2 года в сервисе
Был
2 года назад
2 года назад
doge5623
Юрий 
30 лет
2 года в сервисе
Был
2 года назад
1 отзыв(-1)
2 года назад
Олег
 
24 года
3 года в сервисе
Был
2 года назад
2 года назад
Андрей
 
30 лет
2 года в сервисе
Был
2 года назад
2 года назад
Антон
 
24 года
2 года в сервисе
Был
2 года назад
2 года назад
Павел
 
20 лет
2 года в сервисе
Был
2 года назад
2 года назад