1 / 1 / 0
Регистрация: 08.11.2010
Сообщений: 61

Элементы квадратной матрицы

13.03.2013, 17:01. Показов 1378. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте эксперты, и все те, кто заинтересован языком c#! Постепенно изучаю язык. Дошел до двумерных массивов, с одномерными разобрался, а вот с двумерными ладу дать не могу. Вообщем задание: Дана целочисленная квадратная матрица. Выведите номера строк, все элементы которой отсортированы по возрастанию. Если таких строк нет, то сделайте так, чтобы программа вывела соответствующее сообщение.
Получилось кое-что накромсать, а в частности только ввести размер и элементы матрицы, а далее я запутался.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Console.WriteLine("Введите рразмер матрицы A1");
            int size = Convert.ToInt32(Console.ReadLine()); //вводим массив
            int[,] A1 = new int[size, size];
            int l = 0, m = 0;
            int[,] A2 = new int[l, m];
            Console.WriteLine("Введите элементы массива A1");
            for (int i = 0; i < size; i++) 
            {
                for (int j = 0; j < size; j++)
                    A1[i, j] = int.Parse(Console.ReadLine());
            }
 
            for (int i = 0; i < size; i++) 
                for (int j = 0; j < size; j++)
                    if (A1[i, j] < A1[i, j]++)
                    {
                        A2[i, j] = A1[i, j];
                        Console.WriteLine("Строка №" + i);
                    }
                    else Console.WriteLine("Нет строки отсортированной по возрастанию");
 
 
            Console.ReadLine();
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.03.2013, 17:01
Ответы с готовыми решениями:

Как представить элементы квадратной матрицы?
Помогите пожалуйста! Построить квадратную матрицу, элементы которой находятся по формуле- \begin{cases} &amp; \text{ if i*j&lt;3 ,}...

Найти положительные элементы главной диагонали квадратной матрицы
Найти положительные элементы главной диагонали квадратной матрицы на языке C#

Зеркально отразить элементы квадратной матрицы относительно побочной диагонали
Дана квадратная матрица A порядка M. Зеркально отразить ее элементы относительно побочной диагонали. (при этом элементы побочной диагонали...

11
192 / 192 / 29
Регистрация: 03.12.2009
Сообщений: 853
13.03.2013, 17:12
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            for (int i = 0; i < size; i++)
            {
                var isSorted = true;
                for (int j = 0; j < size - 1; j++)
                {
                    if (A1[i, j] > A1[i, j + 1])
                    {
                        isSorted = false;
                    }
                }
                if (isSorted)
                {
                    Console.WriteLine(i);
                }
            }
Не пробовал, но должно работать
1
1 / 1 / 0
Регистрация: 08.11.2010
Сообщений: 61
13.03.2013, 17:23  [ТС]
Механизм вроде рабочий, но никак не могу состыковать его с вводом элементов.
0
192 / 192 / 29
Регистрация: 03.12.2009
Сообщений: 853
13.03.2013, 17:39
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Console.WriteLine("Введите рразмер матрицы A1");
            int size = Convert.ToInt32(Console.ReadLine()); //вводим массив
            int[,] A1 = new int[size, size];
            int l = 0, m = 0;
            int[,] A2 = new int[l, m];
            Console.WriteLine("Введите элементы массива A1");
            for (int i = 0; i < size; i++) 
            {
                for (int j = 0; j < size; j++)
                    A1[i, j] = int.Parse(Console.ReadLine());
            }
 
  //Вставьте его сюда
 
 
            Console.ReadLine();
0
 Аватар для Heidel
115 / 115 / 39
Регистрация: 11.10.2011
Сообщений: 649
13.03.2013, 17:41
Пользователь вводит число строк и столбцов матрицы, далее матрица заполняется случайными числами от 0 до 20, далее проверяется, есть ли в матрице строки, элементы которых отсортированы по возрастанию, если такие строки есть, то выводятся номера этих строк, если нет, выводится сообщение "В матрице нет строк, элементы которых отсортированы по возрастанию"

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
using System;
 
namespace lab
{
    class Program
    {
        static void Main(string[] args)
        {
            int x, y;
            Console.Write("Введите количество строк матрицы x = ");
            x = int.Parse(Console.ReadLine());
            Console.Write("Введите количество стобцов матрицы y = ");
            y = int.Parse(Console.ReadLine());
 
            int[,] mas = new int[x, y];
            Random rand = new Random();
 
            Console.WriteLine("Массив: ");
            for (int i = 0; i < x; ++i)
            {
                for (int j = 0; j < y; ++j)
                {
                    mas[i, j] = rand.Next(0, 20);
                    Console.Write(mas[i, j] + " ");
                }
                Console.WriteLine();
            }
 
            int count = 0;
            for (int i = 0; i < x; i++)
            {
                bool isSorted = true;
                for (int j = 0; j < y - 1; ++j)
                {
                    if (mas[i, j] > mas[i, j + 1])
                    {
                        isSorted = false;
                    }
                }
                if (isSorted)
                {
                    ++count;
                    Console.WriteLine("Строка номер " + i);
                }
            }
 
            if (count == 0)
            {
                Console.WriteLine("В матрице нет строк, элементы которых отсортированы по возрастанию");
            }
        }
    }
}
1
1 / 1 / 0
Регистрация: 08.11.2010
Сообщений: 61
13.03.2013, 17:53  [ТС]
da1z, пробовал, не корректно работает!

Heidel, спасибо огромное! переделаю, что бы элементы можно было задать самому и все отлично будет!)
0
192 / 192 / 29
Регистрация: 03.12.2009
Сообщений: 853
13.03.2013, 18:01
del
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.03.2013, 18:15
FroZko, совет: выделите отдельные функции, которые будут выполнять определенные части задачи, не пихайте все в одну кучу...

Добавлено через 9 минут
Вот, насколько проще разобраться в каждом куске кода, чем в общей мешанине...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using System;
 
namespace lab
{
    class Program
    {
        static void Main()
        {
            Console.Write("Введите количество строк матрицы x = ");
            int m = int.Parse(Console.ReadLine());
            Console.Write("Введите количество стобцов матрицы y = ");
            int n = int.Parse(Console.ReadLine());
 
            int[,] mas = new int[m, n];
            GenerateArray(mas);
            PrintArray(mas);
 
            int count = 0;
            for (int i = 0; i < m; i++)
                if (RowIsSorted(mas, i))
                {
                    ++count;
                    Console.WriteLine("Строка номер " + i);
                }
 
            if (count == 0)
                Console.WriteLine("В матрице нет строк, элементы которых отсортированы по возрастанию");
            Console.ReadKey();
        }
 
        private static bool RowIsSorted(int[,] mas, int i)
        {
            for (int j = 0; j < mas.GetLength(1) - 1; ++j)
                if (mas[i, j] > mas[i, j + 1])
                    return false;
            return true;
        }
 
        private static void GenerateArray(int[,] mas)
        {
            Random rand = new Random();
            for (int i = 0; i < mas.GetLength(0); ++i)
                for (int j = 0; j < mas.GetLength(1); ++j)
                    mas[i, j] = rand.Next(0, 20);
        }
 
        private static void PrintArray(int[,] mas)
        {
            Console.WriteLine("Массив: ");
            for (int i = 0; i < mas.GetLength(0); i++)
            {
                for (int j = 0; j < mas.GetLength(1); j++)
                    Console.Write(mas[i,j] + " ");
                Console.WriteLine();
            }
        }
    }
}
1
 Аватар для Heidel
115 / 115 / 39
Регистрация: 11.10.2011
Сообщений: 649
13.03.2013, 18:48
Psilon, а почему вы объявляете все эти методы закрытыми (private) ?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.03.2013, 18:53
Heidel, ну так а зачем они кому-то еще? Все методы по-умолчанию приватные, открываются только если они нужны вызывающему коду, без рассчета "полезная функция, может быть когда-нибудь кто-нибудь будет её вызывать"
0
 Аватар для Heidel
115 / 115 / 39
Регистрация: 11.10.2011
Сообщений: 649
13.03.2013, 19:01
Psilon, разве методы по умолчанию приватные? я только недавно изучаю C#, мне такого не попадалось.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.03.2013, 19:17
Heidel, да, по-умолчанию методы и поля приватные, классы - internal, конструкторы - public.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.03.2013, 19:17
Помогаю со студенческими работами здесь

Заменить все элементы главной диагонали квадратной матрицы нулями и выше ее
Заменить все элементы главной диагонали квадратной матрицы нулями и выше ее. спасибо всем кто откликнется. нашел похожую программу. но...

Выписать минимальные элементы на главной и побочной диагонали квадратной матрицы целых чисел
Здравствуйте. У меня тут проблема с матрицей. Вот условия задачи &quot;Дана квадратная матрица целых чисел. Выписать минимальные элементы на...

Перестановкой строк и столбцов упорядочить по возрастанию элементы главной диагонали квадратной матрицы
Люди помогите пожалуйста...Нужно программку на С#...: Перестановкой строк и столбцов упорядочить по возрастанию элементы главной диагонали...

По выбору вывести элементы квадратной матрицы, расположенные либо выше либо ниже главной диагонали
Дано квадратную матрицу nXm нужно вывести 1)если нажал 1, то что выше диагонали 2)если нажал 2, то то что ниже.

Заменить все элементы главной диагонали квадратной матрицы нулями, если на главной диагонали есть хотя бы один отрицательный элемент
Заменить все элементы главной диагонали квадратной матрицы (4*4) нулями, если на главной диагонали есть хотя бы один отрицательный элемент


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru