Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
1

Как три нуля заменим на единицы, если они стоят друг с другом только ровно три?

21.01.2019, 14:40. Показов 2780. Ответов 25
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В массиве
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] ar = new int[10];
            Random rand = new Random();
 
            for (int i = 0; i < ar.Length; i++)
            {
                ar[i] = rand.Next(2);
            }
 
            for (int i = 0; i < ar.Length; i++)
            {
 
                if (ar[i] <= 0)
                    ar[i] = 1;
            }
 
            foreach (var i in ar)
                Console.Write(" " + i);
 
            Console.ReadLine();
        }
    }
}
Как заменить элементы трёх нулей единицами и вывести на экран ?

1.Как сделать проверку если в матрице присутствуют три нуля то заменить их на единицы но с учётом того что в сроке и столбце
будет то выглядеть так.

Допустим есть строка 0 1 0 0 0 1 1
Её надо заменить на 0 1 1 1 1 1 1
то есть вывод из этого такой мы три нуля заменим на единицы если они стоят друг с другом.
Можете мне пожалуйста помочь это реализовать прошу вас очень сильно спасибо огромное за ранние ?

Он должен считать нули которые стоят рядом возле себя если после нуля на втором месте стоит единица то он циклом идёт дальше и так ищет до тех пор пока не будет ровно три нуля в массиве то есть последовательность трёх нулей в массиве если до пустим 0 1 0 0 0 1
То заменит только получим 0 1 1 1 1 1. Не могу это сделать помогите пожалуйста мне буду очень благодарен вам спасибо за ранее ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.01.2019, 14:40
Ответы с готовыми решениями:

Как вывести строчки в файл чтобы они были по середине и шли ровно друг под другом?
Как вывести строчки в файл чтобы они были по середине и шли ровно друг под другом? Делаю так но...

На шахматной доске стоят три ферзя. найти ту пару из них которые угрожают друг другу!
помогите пожалуйста, или подскажите как начать)) на шахматной доске стоят три ферзя. найти ту...

Дан массив из 10 байт. Посчитать количество байт содержащих ровно три единицы
Здравствуйте, возникла проблема с решением задачи: &quot;Дан массив из 10 байт. Посчитать количество...

На шахматной доске расставлены три фигуры. Определить бьют они друг друга или нет
На шахматной доске расставлены три фигуры. Используя стандартные правила игры узнать бьют они друг...

25
17 / 15 / 3
Регистрация: 09.06.2016
Сообщений: 75
21.01.2019, 15:27 2
Лучший ответ Сообщение было отмечено Nikita110001 как решение

Решение

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
    class Program
    {
        static void Main(string[] args)
        {
            int[] array = {0, 1, 0, 0, 0, 1, 1};
            int count = 0;
 
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] == 0)
                    count++;
                else
                    count = 0;
                if (count == 3)
                {
                    array[i] = 1;
                    array[i - 1] = 1;
                    array[i - 2] = 1;
                }
            }
 
            foreach (var VARIABLE in array)
            {
                Console.Write($"{VARIABLE} ");
            }
 
            Console.ReadKey();
        }
    }
Миниатюры
Как три нуля заменим на единицы, если они стоят друг с другом только ровно три?  
0
17 / 15 / 3
Регистрация: 09.06.2016
Сообщений: 75
21.01.2019, 15:34 3
Забыл обнуление count сделать
C#
1
2
3
4
5
6
7
if (count == 3)
{
    array[i] = 1;
    array[i - 1] = 1;
    array[i - 2] = 1;
    count = 0;
}
1
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
21.01.2019, 16:09  [ТС] 4
Спасибо

Добавлено через 34 минуты
Помогите исправить ошибку пожалуйста строка 26.
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
using System;
using System.IO;
using System.Text;
using System.Diagnostics;
using System.Collections;
using System.Linq;
namespace ConsoleApp4
{
    class Program
    {
 
 
        
            static void Main(string[] args)
            {
                int N = 10;
                int M = 10;
                int count = 0;
                int[,] array = new int[N, M];
                Random rand = new Random();
            for (int j = 0; j < array.Length; j++)
            {
                for (int i = 0; i < array.Length; i++)
                {
                    array[i, j] = rand.Next(2);
                    if (array[i, j] == 0)
                        count++;
                    else
                        count = 0;
                    if (count == 4)
                    {
                        array[i, j] = 1;
                        array[i, j - 1] = 1;
                        array[i, j - 2] = 1;
                        array[i, j -3] = 1;
                    }
                }
            }
 
                foreach (var VARIABLE in array)
                {
                    Console.Write($"{VARIABLE} ");
                }
 
                Console.ReadKey();
            }
        
    }
}
0
17 / 15 / 3
Регистрация: 09.06.2016
Сообщений: 75
21.01.2019, 16:23 5
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
static void Main(string[] args)
        {
            int N = 10;
            int M = 10;
            int count = 0;
            int[,] array = new int[N, M];
 
            Random rand = new Random();
 
            for (int i = 0; i < array.GetLength(0); i++)
            {
                for (int j = 0; j < array.GetLength(1); j++)
                {
                    array[i, j] = rand.Next(2);
                    if (array[i, j] == 0)
                        count++;
                    else
                        count = 0;
                    if (count == 4)
                    {
                        array[i, j] = 1;
                        array[i, j - 1] = 1;
                        array[i, j - 2] = 1;
                        array[i, j - 3] = 1;
                        count = 0;
                    }
                }
 
                count = 0;
            }
 
            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();
            }
 
            Console.ReadKey();
        }
Добавлено через 3 минуты
1) У тебя j отвечает за строку, а i за столбец, а потом ты в коде обращаешься к j как к столбцу, а i как с строка.

Цитата Сообщение от Nikita110001 Посмотреть сообщение
C#
1
2
3
for (int j = 0; j < array.Length; j++)
* * * * * * {
* * * * * * * * for (int i = 0; i < array.Length; i++)
2) В N-мерном массиве (N > 1) это отвечает за длину всего массива. В твоем случает это будет равно 100 (10х10)
Цитата Сообщение от Nikita110001 Посмотреть сообщение
C#
1
array.Length
Поэтому надо использовать, где X - измерение массива
C#
1
array.GetLength(X)
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
21.01.2019, 16:23  [ТС] 6
Как найти максимальную под матрицу ?
0
17 / 15 / 3
Регистрация: 09.06.2016
Сообщений: 75
21.01.2019, 16:26 7
Научись формулировать вопрос правильно. Что максимальную?
Цитата Сообщение от Nikita110001 Посмотреть сообщение
Как найти максимальную под матрицу ?
Добавлено через 1 минуту
Если тебе нужно в строке менять четыре подряд идущих нуля, то я тебе решение выше сделал.
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
21.01.2019, 16:32  [ТС] 8
Как сделать так же как тут только что бы все строки матрицы заполнялись случайно ?
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp20
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.BackgroundColor = ConsoleColor.Black;
            Console.SetWindowSize(Console.LargestWindowWidth - 3, Console.LargestWindowHeight - 2);
            Console.WriteLine("Условие программы: 3.После решения задачи с пашней земли,\n" +
            "фермер хочет построить на этой земле как можно больший по площади]n" +
            "сарай прямоугольной формы.\n" +
            "Но на его участке есть деревья и хозяйственные постройки,\n" +
            "которые он не хочет никуда переносить.\n" +
            "Для простоты представим ферму прямоугольной сеткой размера MxN.\n" +
            "Каждое из деревьев и построек размещается в одном или нескольких узлах сетки.\n" +
            "Сарай должен быть построен на свободных узлах сетки.\n" +
            "Помогите фермеру определить максимально возможную площадь сарая.\n");
            int N = 4;
            int M = 6;
            int[,] Matrix = new int[N, M];
            { 
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Ферма:");
            }
            int[,] ArrT = { { 1, 0, 1, 1, 0, 0, 1, 0, 1, 0 },
                            { 1, 0, 1, 1, 0, 0, 0, 0, 0, 0 },
                            { 0, 0, 0, 0, 0, 1, 0, 0, 1, 0 },
                            { 1, 0, 0, 0, 0, 1, 1, 0, 0, 1 },
                            { 1, 0, 1, 0, 0, 0, 0, 0, 0, 1 },
                            { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, 
                            { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
                            { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
                            { 1, 1, 0, 0, 0, 0, 0, 0, 0, 1 },
                            { 0, 0, 1, 1, 1, 0, 1, 0, 1, 0 } };
            for (int i = 0; i < ArrT.GetLength(0); i++)
            {
                for (int j = 0; j < ArrT.GetLength(1); j++)
                {
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.Write($"{ArrT[i, j]}\t");
                }
                Console.WriteLine();
 
            }
            {
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("\nСарай прямоугольной формы:");
                }
                Random random = new Random();
                for (int i = 0; i < N; i++)
                {
                    for (int j = 0; j < M; j++)
                    {
                        int rand = random.Next(1, 1);
                        ArrT[i, j] = rand;
                        Console.ForegroundColor = ConsoleColor.DarkGray;
                        Console.Write(ArrT[i, j] + "\t");
                    }
                    Console.WriteLine();
                }
            }
            {
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("\nСарай прямоугольной формы в нашей ферме:");
                }
                int[,] A = { { 1, 0, 1, 1, 0, 0, 1, 0, 1, 0 },
                             { 1, 0, 1, 1, 0, 0, 0, 0, 0, 0 },
                             { 0, 0, 0, 0, 0, 1, 0, 0, 1, 0 },
                             { 1, 0, 0, 0, 0, 1, 1, 0, 0, 1 },
                             { 1, 0, 1, 1, 1, 1, 1, 1, 1, 1 },
                             { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 },
                             { 0, 1, 0, 1, 1, 1, 1, 1, 1, 0 },
                             { 1, 0, 0, 1, 1, 1, 1, 1, 1, 1 },
                             { 1, 1, 0, 0, 0, 0, 0, 0, 0, 1 },
                             { 0, 0, 1, 1, 1, 0, 1, 0, 1, 0 } };
                for (int i = 0; i < A.GetLength(0); i++)
                {
                    for (int j = 0; j < A.GetLength(1); j++)
                    {
                        if (i >= A.GetLength(0) / 2.5 && j >= A.GetLength(0) / 3)
                        {
                            Console.ForegroundColor = ConsoleColor.DarkGray;
                        }
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.Cyan;
                        }
                        Console.Write($"{A[i, j]}\t");
                    }
                    Console.WriteLine("");
                }
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    int S = N * M;
                    Console.WriteLine("\nМаксимальна возможная площадь сарая: = " + S);
                    {
                        Console.WriteLine("\nПрограмма завершена, нажмите любую клавишу . . .");
                        Console.ReadKey();
                    }
                }
            }
        }
    }
}
Делеал я программу и стакнулся я с с такой проблемой как мне сделать так что бы 2 матрица поместилась в первую и вывелась третья матрица суть заключается в том что мы вторую матрицу мы поместили место нулей например но матрица третья должна быть точна такая же как и первая только должна выглядеть так. То что обозначена | это значит из матрицы второй мы берём и все нули заменяем на единицы но так что бы единицы могли в лесть в матрицу первую и таким образом выводим третью матрицу.
Ферма:
0 0 1 1 0 0
0 1 1 0 0 0
1 0 0 0 0 0
0 1 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
Сарай прямоугольной формы:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
Сарай прямоугольной формы в нашей ферме:
0 0 1 1 0 0
0 1 1 0 0 0
1 0 |1 1 1 1|
0 1 |1 1 1 1|
0 0 |1 1 1 1|
0 0 |1 1 1 1|
Максимальна возможная площадь сарая: = 16
0
17 / 15 / 3
Регистрация: 09.06.2016
Сообщений: 75
21.01.2019, 16:45 9
Берешь индексы элемента матрицы и с него начинаешь заполнять
C#
1
2
3
4
5
6
7
for (int i = iIndex; i < array.GetLength(0); i++)
{
    for (int j = jIndex; j < array.GetLength(1); j++)
    {
        array[i, j] = 1;
    }
}
Добавлено через 6 минут
На твоем примере iIndex = 2, jIndex = 2. Если тебе надо находить кусок нулей равный 2й матрице, то это уже другой вопрос.
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
21.01.2019, 16:51  [ТС] 10
Да мне нужно находить курск нулей равный второй матрицы сможешь помочь мне это сделать ?
0
17 / 15 / 3
Регистрация: 09.06.2016
Сообщений: 75
21.01.2019, 16:55 11
Вот код и пример, но это уже какой-то мазахизм
C#
1
2
3
4
5
6
7
8
9
10
int iIndex = 3;
int jIndex = 3;
 
for (int i = iIndex; i < iIndex + array2.GetLength(0); i++)
{
    for (int j = jIndex; j < jIndex + array2.GetLength(1); j++)
    {
        array[i, j] = array2[i - iIndex, j - jIndex];
    }
}
Миниатюры
Как три нуля заменим на единицы, если они стоят друг с другом только ровно три?  
0
17 / 15 / 3
Регистрация: 09.06.2016
Сообщений: 75
21.01.2019, 17:02 12
Цитата Сообщение от Nikita110001 Посмотреть сообщение
Да мне нужно находить курск нулей равный второй матрицы сможешь помочь мне это сделать ?
1) Находишь первый ноль.
2) Сравниваешь следующие цифры.
- Если 0, то ищешь, пока iCount != array2.GetLength(0)
- Если 1, то обнуляешь
3) Запоминаешь индекс столбца
4) Доходишь до следующего элемента в строке с нужным индексом столбца
5) Повторяешь шаг 2
6) Повторяешь пока у тебя jCoint != array2.GetLength(1)
7) PROFIT
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
21.01.2019, 17:03  [ТС] 13
А как это сделать тут ?
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Application
{
    class Mainclass
    {
        static void Main(string[] args)/*3.После решения задачи с пашней земли, 
            фермер хочет построить на этой земле как можно больший по площади 
            сарай прямоугольной формы. 
            Но на его участке есть деревья и хозяйственные постройки, 
            которые он не хочет никуда переносить. 
            Для простоты представим ферму прямоугольной сеткой размера MxN. 
            Каждое из деревьев и построек размещается в одном или нескольких узлах сетки. 
            Сарай должен быть построен на свободных узлах сетки. 
            Помогите фермеру определить максимально возможную площадь сарая.*/
 
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.BackgroundColor = ConsoleColor.Black;
            var N1 = 10;
            var M1 = 10;
            Int32[,] Matrixs = new int[N1, M1];
 
            var N = 4;
            var M = 6;
            Int32[,] Matrix = new int[N, M];
 
            Random random = new Random();
            int rand;
            int rand1;
            int count = 0;
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < M; j++)
                {
                    rand1 = (byte)random.Next(0, 2);
                    Matrixs[i, j] = rand1;
                }
            }
            Console.WriteLine("Ферма:");
            for (int i = 0; i < N1; i++)
            {
                for (int j = 0; j < M1; j++)
                {
                    Console.Write(Matrixs[i, j] + "\t");
                }
                Console.WriteLine();
            }
            for (int i = 0; i < N; ++i)
            {
                for (int j = 0; j < M; ++j)
                {
                    rand = random.Next(1, 1);
                    Matrix[i, j] = rand;
                }
            }
 
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("Сарай прямоугольной формы:");
            for (int i1 = 0; i1 < N; i1++)
            {
                for (int j1 = 0; j1 < M; j1++)
                {
                    Console.Write(Matrix[i1, j1] + "\t");
                }
                Console.WriteLine();
            }
 
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Сарай прямоугольной формы в нашей ферме:");
            for (int i = 0; i < N1; i++)
            {
                for (int j = 0; j < M1; j++)
                {
                    {
                        if (Matrixs[i,j] == 0)
                            count++;
                        else
                            count = 0;
                        if (count == 3)
                        {
                            Matrixs[i,j] = 1;
                            Matrixs[i,j - 1] = 1;
                            Matrixs[i,j - 2] = 1;
                        }
                        count = 0;
                    }
 
                        Console.Write(Matrixs[i, j] + "\t");
 
                }
            }
 
            Console.ForegroundColor = ConsoleColor.Blue;
            int S = 0;
            for (int i1 = 0; i1 < N; i1++)
                for (int j1 = 0; j1 < M; j1++)
                    S = N * M;
            Console.WriteLine("\nМаксимальна возможная площадь сарая: = " + S);
            Console.ReadKey();
    }   }
}
Добавлено через 1 минуту
А можно сделать на моём коде который с верху как я по просил пожалуйста ?
0
17 / 15 / 3
Регистрация: 09.06.2016
Сообщений: 75
21.01.2019, 17:06 14
Для чего, вообще, тебе нужно решить данный мазохизм?
Цитата Сообщение от Nikita110001 Посмотреть сообщение
А можно сделать на моём коде который с верху как я по просил пожалуйста ?
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
21.01.2019, 17:08  [ТС] 15
Пожалуйста помогите завтра зачёт это мне надо последнюю лабу сдать все не как не могу написать
0
17 / 15 / 3
Регистрация: 09.06.2016
Сообщений: 75
21.01.2019, 17:12 16
То есть размер фермы и сараев задаем вручную?

Цитата Сообщение от Nikita110001 Посмотреть сообщение
Пожалуйста помогите завтра зачёт это мне надо последнюю лабу сдать все не как не могу написать
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
21.01.2019, 17:12  [ТС] 17
Как тут Исправить ошибку ?
Индекс находится не в границ массива ?
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Application
{
    class Mainclass
    {
        static void Main(string[] args)/*3.После решения задачи с пашней земли, 
            фермер хочет построить на этой земле как можно больший по площади 
            сарай прямоугольной формы. 
            Но на его участке есть деревья и хозяйственные постройки, 
            которые он не хочет никуда переносить. 
            Для простоты представим ферму прямоугольной сеткой размера MxN. 
            Каждое из деревьев и построек размещается в одном или нескольких узлах сетки. 
            Сарай должен быть построен на свободных узлах сетки. 
            Помогите фермеру определить максимально возможную площадь сарая.*/
 
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.BackgroundColor = ConsoleColor.Black;
            var N1 = 10;
            var M1 = 10;
            Int32[,] Matrixs = new int[N1, M1];
 
            var N = 4;
            var M = 6;
            Int32[,] Matrix = new int[N, M];
 
            Random random = new Random();
            int rand;
            int rand1;
            int count = 0;
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < M; j++)
                {
                    rand1 = (byte)random.Next(0, 2);
                    Matrixs[i, j] = rand1;
                }
            }
            Console.WriteLine("Ферма:");
            for (int i = 0; i < N1; i++)
            {
                for (int j = 0; j < M1; j++)
                {
                    Console.Write(Matrixs[i, j] + "\t");
                }
                Console.WriteLine();
            }
            for (int i = 0; i < N; ++i)
            {
                for (int j = 0; j < M; ++j)
                {
                    rand = random.Next(1, 1);
                    Matrix[i, j] = rand;
                }
            }
 
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("Сарай прямоугольной формы:");
            for (int i1 = 0; i1 < N; i1++)
            {
                for (int j1 = 0; j1 < M; j1++)
                {
                    Console.Write(Matrix[i1, j1] + "\t");
                }
                Console.WriteLine();
            }
 
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Сарай прямоугольной формы в нашей ферме:");
            int iIndex = 1;
            int jIndex = 1;
 
            for (int i = iIndex; i < iIndex + Matrixs.GetLength(0); i++)
            {
                for (int j = jIndex; j < jIndex + Matrixs.GetLength(1); j++)
                {
 
                    Matrix[i, j] = Matrixs[i - iIndex, j - jIndex];
 
                    Console.Write(Matrixs[i, j] + "\t");
                }
 
            }
 
            Console.ForegroundColor = ConsoleColor.Blue;
            int S = 0;
            for (int i1 = 0; i1 < N; i1++)
                for (int j1 = 0; j1 < M; j1++)
                    S = N * M;
            Console.WriteLine("\nМаксимальна возможная площадь сарая: = " + S);
            Console.ReadKey();
    }   }
}
0
17 / 15 / 3
Регистрация: 09.06.2016
Сообщений: 75
21.01.2019, 17:13 18
Если я правильно понял, то тебе нужно найти максимальную матрицу нулей, а не переместить.
C#
1
2
3
4
5
6
7
8
9
/*3.После решения задачи с пашней земли, 
            фермер хочет построить на этой земле как можно больший по площади 
            сарай прямоугольной формы. 
            Но на его участке есть деревья и хозяйственные постройки, 
            которые он не хочет никуда переносить. 
            Для простоты представим ферму прямоугольной сеткой размера MxN. 
            Каждое из деревьев и построек размещается в одном или нескольких узлах сетки. 
            Сарай должен быть построен на свободных узлах сетки. 
            Помогите фермеру определить максимально возможную площадь сарая.*/
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
21.01.2019, 17:19  [ТС] 19
Да так и надо
0
17 / 15 / 3
Регистрация: 09.06.2016
Сообщений: 75
21.01.2019, 17:20 20
Из ниже скрина и твоей задачи, я понял, что требуется найти максимальную матрицу состоящую из нулей прямоугольной формы. Из скриншота следуя, что ты можешь построить сарай прямоугольной формы 2х2.
Миниатюры
Как три нуля заменим на единицы, если они стоят друг с другом только ровно три?  
0
21.01.2019, 17:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.01.2019, 17:20
Помогаю со студенческими работами здесь

Подсчитать количество столбцов, в которых отличны от нуля только три элемента
Подсчитать количество столбцов, в которых отличны от нуля только три элемента.

Сложить три числа, если они отличаются не больше чем на 2
Есть к примеру 3 числа, A, B, C. Если эти числа отличаются не больше чем на 2, то сложить их. ...

Как сделать так чтобы при спавне предметов они отталкивались друг от друга если они спавнятся близко С#
Есть загвоздка, не как не могу понять как это релизовать, приведу пример : происходит спавн кубов...

Даны три стороны одного и три стороны другого треугольника. Определить, будут ли эти треугольники равновеликими, т.е. имеют ли они равные площади
Даны три стороны одного и три стороны другого треугольника. Определить, будут ли эти треугольники...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru