D6. Обработка двухмерного массива с использованием операторов цикла с условием

Напишите в комментариях к этой записи консольные приложения для решения этих задач, укажите также код задачи.
Внимание! При решении задач обязательно учтите Рекомендации по оформлению решений задач на двумерные массивы

Решены задачи нет. Не решены: пока все.

Задачи

D6.1. Дан двумерный массив целых чисел. В пятой строке имеются элементы, равные 13. Определить номер столбца, в котором расположен самый левый из таких элементов.
D6.2. Дан двумерный массив целых чисел. В третьей строке имеются элементы, равные нулю. Определить номер столбца, в котором расположен самый правый из таких элементов.
D6.3. Дан двумерный массив целых чисел. Во втором столбце имеются элементы, равные 21. Определить номер строки, в котором расположен самый верхний из таких элементов.
D6.4. Дан двумерный массив целых чисел. Во втором столбце имеются элементы, равные 10. Определить номер строки, в котором расположен самый нижний из таких элементов.
D6.5. Дан двумерный массив целых чисел. Составить программу:
а) которая определяет, есть ли в некоторой строке массива хотя бы один элемент, равный заданному числу;
б) которая определяет, есть ли в некотором столбце массива хотя бы один элемент, кратный заданному числу.
В случае положительного ответа должны быть напечатаны координаты любого из таких элементов.
D6.6. Дан двумерный массив целых чисел. Составить программу:
а) которая определяет, есть ли в некоторой строке массива хотя бы один элемент, оканчивающийся цифрой 3;
б) которая определяет, есть ли в некотором столбце массива хотя бы один элемент, равный нулю.
В случае положительного ответа должны быть напечатаны координаты любого из таких элементов.
D6.7. Дан двумерный массив. Составить программу:
а) которая определяет, является ли последовательность элементов некоторой строки массива упорядоченной по не убыванию;
б) которая определяет, является ли последовательность элементов некоторого столбца массива упорядоченной по не возрастанию.
В случае отрицательного ответа в обеих задачах должны быть напечатаны координаты первого элемента, нарушающего указанную упорядоченность.
D6.8. Дан двумерный массив целых чисел. Принимая, что массив просматривается построчно сверху вниз, а в каждой строке — слева направо, найти:
а) координаты (номера) первого элемента, кратного семи;
б) координаты (номера) последнего элемента, большего числа z.
В обеих задачах принять, что такие элементы в массиве есть.
D6.9. Дан двумерный массив целых чисел. Принимая, что массив просматривается построчно сверху вниз, а в каждой строке — слева направо, найти:
а) координаты (номера) первого элемента, равного нулю;
б) координаты (номера) последнего четного элемента.
В обеих задачах принять, что такие элементы в массиве есть.
D6.10. Дан двумерный массив целых чисел. Выяснить:
а) имеется ли в нем положительный элемент;
б) имеется ли в нем элемент, последняя цифра которого равна а.
D6.11. В двумерном массиве имеются отрицательные элементы. Определить координаты самого нижнего и самого правого из них.
D6.12. Дан двумерный массив целых чисел. В каждом его столбце найти:
а) первый нечетный элемент (принять, что нечетные элементы есть в каждом столбце);
б) последний положительный элемент (принять, что положительные элементы есть в каждом столбце).
D6.13. Дан двумерный массив целых чисел. Для каждой строки выяснить:
а) имеются ли в ней положительные элементы;
б) имеются ли в ней элементы, последняя цифра которых равна а;
в) упорядочены ли ее элементы по возрастанию (при просмотре слева направо);
г) имеются ли в ней одинаковые элементы.
D6.14. Дан двумерный массив целых чисел. Для каждого его столбца выяснить:
а) имеются ли в нем элементы, большие некоторого числа d;
б) имеются ли в нем нечетные элементы;
в) упорядочены ли его элементы по убыванию (при просмотре сверху вниз);
г) имеются ли в нем одинаковые элементы.
D6.15. Дан двумерный массив целых чисел. Определить:
а) минимальный номер строки, состоящей только из положительных элементов;
б) минимальный номер строки, состоящей только из положительных и нулевых элементов;
в) минимальный номер строки, состоящей только из четных элементов;
г) минимальный номер строки, состоящей только из элементов, кратных числу a.
Во всех случаях принять, что такие строки в массиве есть.
D6.16. Дан двумерный массив целых чисел. Определить:
а) минимальный номер столбца, состоящего только из нечетных элементов;
б) минимальный номер столбца, состоящего только из элементов, больших числа 10;
в) минимальный номер столбца, состоящего только из элементов, принадлежащих промежутку от a до b;
г) минимальный номер столбца, состоящего только из элементов, кратных числу b.
Во всех случаях принять, что такие столбцы в массиве есть.
D6.17. Дан двумерный массив целых чисел. Определить:
а) есть ли в нем строка, состоящая только из нечетных элементов;
б) есть ли в нем строка, состоящая только из элементов, кратных числу a или b;
в) есть ли в нем строка, состоящая только из отрицательных элементов;
г) есть ли в нем строка, содержащая больше положительных элементов, чем отрицательных;
д) есть ли в нем строка, в которой имеются одинаковые элементы;
е) есть ли в нем строка, в которой имеются как минимум два элемента, являющиеся максимальными в массиве.
D6.18. Дан двумерный массив целых чисел. Определить:
а) есть ли в нем столбец, состоящий только из нулей;
б) есть ли в нем столбец, состоящий только из элементов, принадлежащих промежутку от 0 до b;
в) есть ли в нем столбец, состоящий только из четных элементов;
г) есть ли в нем столбец, в котором равное количество положительных и отрицательных элементов;
д) есть ли в нем столбец, в котором имеются одинаковые элементы;
е) есть ли в нем столбец, в котором имеются как минимум три элемента, являющиеся минимальными в массиве.
D6.19. Дан двумерный массив целых чисел. В каждой его строке найти:
а) первый отрицательный элемент (принять, что отрицательные элементы есть в каждой строке);
б) последний четный элемент (принять, что четные элементы есть в каждой строке).


NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.


Помощь проекту:

Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
7 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

D6.13. Дан двумерный массив целых чисел. Для каждой строки выяснить:
а) имеются ли в ней положительные элементы;
б) имеются ли в ней элементы, последняя цифра которых равна а;
в) упорядочены ли ее элементы по возрастанию (при просмотре слева направо);
г) имеются ли в ней одинаковые элементы.

using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using System.Globalization;


namespace Learning_Csharp
{
    interface IResult
    {
        void Result();
    }


    struct Data
    {
        public int[,] array;
        public static readonly string space = string.Concat(Enumerable.Repeat("-", 100));
        public static readonly string slash = string.Concat(Enumerable.Repeat("/", 100));
        public static readonly string dog = string.Concat(Enumerable.Repeat("@", 100));


        public void PrintArray<T>(in T[,] array)
        {
            Console.WriteLine("Array:");
            for (int i = 0; i < array.GetLength(0); i++)
            {
                for (int j = 0; j < array.GetLength(1); j++) Console.Write(array[i,j] + " ");
                Console.WriteLine();
            }
        }
    }


    abstract class Array : IResult
    {
        protected Data data;
        protected readonly Random rand = new Random();
        public Array(int[,] array) => data = new Data() { array = array };


        protected virtual void CreateArray(int[,] array)
        {
            for (int i = 0; i < array.GetLength(0); i++)
            {
                for (int j = 0; j < array.GetLength(1); j++)
                    array[i, j] = rand.Next(-10,1000);
            }
        }


        public abstract void Result();
    }


    class Solution : Array
    {


        private bool condition { get; set; }


        private bool conditionPointA { get; set; }
        private bool conditionPointB { get; set; }
        private bool conditionPointC { get; set; }
        private bool conditionPointD { get; set; }


        private readonly int userNum;


        public Solution(int[,] array, int userNum) : base(array)
        {
            this.userNum = userNum;
            CreateArray(data.array);
        }


        private void AllPoints()
        {


            PointA(data.array);
            Console.WriteLine($"\n{Data.dog}\n");


            PointB(data.array);
            Console.WriteLine($"\n{Data.dog}\n");


            PointC(data.array);
            Console.WriteLine($"\n{Data.dog}\n");


            PointD(data.array);


            void PointA(in int[,] array)
            {
                Console.WriteLine("Point A:\n");
                for (int i = 0; i < array.GetLength(0); i++)
                {
                    for (int j = 0; j < array.GetLength(1); j++)
                    {
                        conditionPointA = array[i, j] > 0;
                        if (conditionPointA)
                        {
                            condition = true;
                        }
                    }


                    if (condition) Console.WriteLine($"Stirng array:\t{i + 1}: {condition}");
                    else Console.WriteLine($"String array:\t{i + 1}: {condition}");


                    condition = false;
                }


                condition = false;
            }


            void PointB(in int[,] array)
            {
                Console.WriteLine("Point B:\n");
                for (int i = 0; i < array.GetLength(0); i++)
                {
                    for (int j = 0; j < array.GetLength(1); j++)
                    {
                        conditionPointB = array[i, j] % 10 == userNum;
                        if (conditionPointB)
                        {
                            condition = true;
                        }
                    }


                    if (condition) Console.WriteLine($"String array:\t{i + 1}: {condition}");
                    else Console.WriteLine($"String array:\t{i + 1}: {condition}");


                    condition = false;
                }


                condition = false;
            }


            void PointC(in int[,] array)
            {
                Console.WriteLine("Point C:\n");
                for (int i = 0; i < array.GetLength(0); i++)
                {
                    for (int j = 1; j < array.GetLength(1); j++)
                    {
                        conditionPointC = array[i, j] > array[i, j - 1];
                        if (conditionPointC)
                        {
                            condition = true;
                        }
                        else
                        {
                            condition = false;
                            break;
                        }
                    }


                    if (condition) Console.WriteLine($"String array:\t{i + 1}: {condition}");
                    else Console.WriteLine($"String array:\t{i + 1}: {condition}");


                    condition = false;
                }


                condition = false;
            }


            void PointD(in int[,] array)
            {
                Console.WriteLine("Point D:\n");
                for (int i = 0; i < array.GetLength(0); i++)
                {
                    for (int j = 1; j < array.GetLength(1); j++)
                    {
                        conditionPointD = array[i, j] == array[i, j - 1];


                        if (conditionPointD) condition = true;
                    }




                    if (condition) Console.WriteLine($"String array:\t{i + 1}: {condition}");
                    else Console.WriteLine($"String array:\t{i + 1}: {condition}");


                    condition = false;
                }


                condition = false;
            }


        }


        private void AnswerForMission()
        {
            Console.WriteLine($"\n{Data.slash}\n");
            AllPoints();
            Console.WriteLine($"\n{Data.slash}\n");
        }




        public override void Result()
        {
            data.PrintArray(data.array);


            Console.WriteLine($"\n{Data.space}\n");


            AnswerForMission();
        }
    }


    class Program
    {
        static void Main(string[] args)
        {


            Console.WriteLine("Write your number: ");
            int.TryParse(Console.ReadLine(), out int userNum);
            int[,] array = new int[15, 15];


            Console.WriteLine("\n\n");


            Solution sol = new Solution(array, userNum);


            if (sol is IResult result) result.Result();
        }
    }
}

D6.11. В двумерном массиве имеются отрицательные элементы. Определить координаты самого нижнего и самого правого из них.

using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;


namespace Learning_Csharp
{
    interface IResult
    {
        void Result();
    }


    struct Data
    {
        public int[,] array;


        public static readonly string space = string.Concat(Enumerable.Repeat("-", 100));
        public static readonly string symbolEqual = string.Concat(Enumerable.Repeat("=", 100));


        public void Print()
        {
            Console.WriteLine("Array:");
            for (int i = 0; i < array.GetLength(0); i++)
            {
                for (int j = 0; j < array.GetLength(1); j++)
                {
                    Console.Write(array[i,j] + " ");
                }
                Console.WriteLine();
            }
        }
    }


    abstract class Array : IResult
    {
        protected Data data;
        protected readonly Random rand = new Random();
        private const int maxValue = 100;
        private const int minValue = -4;
        public Array(int[,] array) => data = new Data() { array = array };


        protected virtual void CreateArray(int[,] array)
        {
            for (int i = 0; i < array.GetLength(0); i++)
            {
                for (int j = 0; j < array.GetLength(1); j++)
                    array[i, j] = rand.Next(minValue, maxValue); 
            }
        }


        public abstract void Result();
    }


    class Solution : Array
    {
        private bool condition { get; set; }
        private bool resultCondition { get; set; }


        private int[] indexsFirst;
        private int[] indexsSecond;
        private const int numberOfIndex = 2;
        private int firstNum;
        private int secondNum;


        public Solution(int[,] array) : base(array)
        {
            indexsFirst = new int[numberOfIndex];
            indexsSecond = new int[numberOfIndex];
            CreateArray(data.array);
        }


        private void FirstPoint(in int[,] array)
        {
            for (int i = 0; i < array.GetLength(0); i++)
            {
                for (int j = 0; j < array.GetLength(1); j++)
                {
                    condition = array[i, j] < 0;
                    if (condition)
                    {
                        indexsFirst[0] = i;
                        indexsFirst[1] = j;
                        firstNum = array[i, j];
                        resultCondition = true;
                    }
                }
            }


            if (resultCondition)
            {
                Console.WriteLine("Number: " + firstNum);
                Console.WriteLine($"His indexs: i: {indexsFirst[0]}\tj: {indexsFirst[1]}");
                condition = false;
                resultCondition = false;
            }
            else
            { Console.WriteLine("I dont find gotta element\nSorry =("); condition = false; resultCondition = false; }
        }


        private void SecondPoint(in int[,] array)
        {
            for (int i = 0; i < array.GetLength(0); i++)
            {
                for (int j = 0; j < array.GetLength(1); j++)
                {
                    condition = array[i, j] < 0 && i != indexsFirst[0];
                    if (condition)
                    {
                        indexsSecond[0] = i;
                        indexsSecond[1] = j;
                        secondNum = array[i, j];
                        resultCondition = true;
                    }
                }
            }


            if (resultCondition)
            {
                Console.WriteLine("Number: " + secondNum);
                Console.WriteLine($"His indexs: i: {indexsSecond[0]}\tj: {indexsSecond[1]}");
                condition = false;
                resultCondition = false;
            }
            else
            { Console.WriteLine("I dont find gotta element\nSorry =("); condition = false; resultCondition = false; }
        }


        private void AnswerForMission()
        {
            Console.WriteLine("FirstPoint:\n");
            FirstPoint(data.array);


            Console.WriteLine($"\n{Data.symbolEqual}\n");


            Console.WriteLine("SecondPoint:\n");
            SecondPoint(data.array);
        }


        public override void Result()
        {
            data.Print();
            Console.WriteLine($"\n{Data.space}\n");
            AnswerForMission();
        }
    }


    class Program
    {
        static void Main(string[] args)
        {
            Solution solution = new Solution(new int[40,40]);


            if (solution is IResult result) result.Result();
        }
    }
}
using System;
namespace Task6_1
{
    class Program
    {
        int[,] array; int line; int coloumn;
        public Program(int[,] array, int line, int coloumn)
        {
            this.array = array; this.line = line; this.coloumn = coloumn;
        }
        public void GetArray2D()
        {
            int num = 0;
            for (int i = 0; i < line; i++)
            {
                for (int j = 0; j < coloumn; j++)
                {
                    Console.Write($"{array[i, j] = new Random().Next(11, 15)} \t");     
                }
                Console.WriteLine("\n");
            }
            
            for (int i = 0; i < line; i++)
            {
                for (int j = 0; j < coloumn; j++)
                {
                    if (array[4, j] == 13)
                    {
                        num = j;
                        break;
                    }
                }
            }
            Console.WriteLine($"{ num + 1} номер столбца");
        }
    }
    class Array2D
    {
        static void Main()
        {
            int line = 6;
            int coloumn = 6;
            int[,] array = new int[line, coloumn];
            Program Object = new(array, line, coloumn);
            Object.GetArray2D();
        }
    }
}
Важно: Вы можете поддержать проект и автора.

можете показать пример для решения д и е?

как сделать д и е?

7
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x