Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 08.11.2010
Сообщений: 61

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

13.03.2013, 17:01. Показов 1373. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru