Доработать код зубчатой матрицы - C#

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

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

В каждой строке матрицы A найти наименьший элемент и поменять его местами с первым элементом строки. Определить строку, в которой первый элемент является крупнейшим среди первых элементов других строк, переписать его элементы в одномерный массив B и инвертировать порядок их расположения. Есть такой код при выполнении которого если в строке генерируется количество столбцов меньше чем максимальное заданное, то вместо столбца создается число "0", что в свою очередь воспринимается минимальным элементом при поиске его в строке. Мне нужна помощь с тем чтобы этот ноль не учитывался(скрин выполнения программы прилагается):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OOP_LAB2
{
    class Program
    {
        static void Main()
        {
            int rows, col; //переменные для количества строк и столбцов в матрице
            int[,] A;
            //int[] B;
            Random rand = new Random();
            Console.WriteLine("Введите количество строк матрицы: ");
            rows = int.Parse(Console.ReadLine());
            Console.WriteLine("Введите количество с матрицы: ");
            col = int.Parse(Console.ReadLine());
            A = new int[rows, col];
            for (int i = 0; i < rows; i++)
            {
                int z = rand.Next(1, col);
                for (int j = 0; j < z; j++)
                {
                    A[i, j] = rand.Next(1, 100);//заполняем матрицу рандомными значениями от 0 до 100
                    Console.Write(A[i, j] + "\t");
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            Console.WriteLine("Меняем местами:");
            for (int i = 0; i < rows; i++)
            {
                // Поиск минимального элемента в строке
                int ind = 0, min = A[i, ind];
                for (int j = 0; j < col; j++)
                    if (A[i, j] < min) { ind = j; min = A[i, j]; }
                int temp = A[i, 0];
                A[i, 0] = A[i, ind];
                A[i, ind] = temp;
 
                // Выводим строку на экран
                for (int j = 0; j < col; j++)
                    Console.Write(A[i, j] + "\t");
                Console.WriteLine();
            }
 
            Console.ReadLine();
 
        }

    }
}

Решение задачи: «Доработать код зубчатой матрицы»

textual
Листинг программы
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.IO;
using System.Numerics;
 
namespace ConsoleApplication5
{
    class Program
    {
        static Random rnd = new Random();
        static void Main(string[] args)
        {
            Console.WriteLine("Введите количество строк матрицы: ");
            int rows = int.Parse(Console.ReadLine());
            Console.WriteLine("Введите количество с матрицы: ");
            int col = int.Parse(Console.ReadLine());
            int[][] A = new int[rows][];
            for(int i = 0; i < A.Length; i++)
            {
                A[i] = new int[rnd.Next(1,col+1)];
                for(int j = 0; j < A[i].Length; j++)
                {
                    A[i][j] = rnd.Next(1, 101); // если диапазон от 1 до 100 включительно
                    Console.Write(A[i][j] + "\t");
                }
                Console.WriteLine();
            }
            Console.WriteLine("Меняем местами:");
            for(int i = 0; i < A.Length; i++)
            {
                int ind = 0, min = A[i][ind];
                for(int j = 0; j < A[i].Length; j++)
                    if(A[i][j] < min) { ind = j; min = A[i][j]; }
                int temp = A[i][0];
                A[i][0] = A[i][ind];
                A[i][ind] = temp;
 
 
                for(int j = 0; j < A[i].Length; j++)
                    Console.Write(A[i][j] + "\t");
                Console.WriteLine();
            }
            Console.ReadKey(true);
        }
    }
}

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


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

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

13   голосов , оценка 4.154 из 5
Похожие ответы