Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
ivani5
0 / 0 / 0
Регистрация: 28.11.2014
Сообщений: 8
1

Подсчитать количество локальных минимумов заданной матрицы 10 x 10

28.11.2014, 13:34. Просмотров 600. Ответов 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
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            const int n = 4;
            Random r = new Random();
            int[,] a = new int[n + 2, n + 2];
            for (int i = 1; i < n + 1; i++)
            {
                for (int j = 1; j < n + 1; j++)
                {
                    a[i, j] = r.Next(-50, 50);
                    Console.Write(string.Format("{0,4}", a[i, j]));
                }
                Console.WriteLine();
                Console.WriteLine();
            }
 
            int count = 0;
            for (int i = 1; i < n + 1; i++)
                for (int j = 1; j < n + 1; j++)
                    if ((a[i, j] < a[i - 1, j]) && (a[i, j] < a[i + 1, j]) && (a[i, j] < a[i, j - 1]) && (a[i, j] < a[i, j + 1]))
                        count++;
            Console.WriteLine("Количество локальных минимумов: " + count.ToString());
            int sum = 0;
            for (int i = 1; i < n + 1; i++)
                for (int j = 1; j < n + 1; j++)
                    if (i < j) sum += Math.Abs(a[i, j]);
            Console.WriteLine("Сумма модулей элементов выше главной диагонали: " + sum.ToString());
            Console.ReadKey();
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2014, 13:34
Ответы с готовыми решениями:

Подсчитать количество локальных минимумов заданной матрицы
Помогите пожалуйста, сделать лабу :cry: Лабораторная работа 6. Двумерные...

Подсчитать количество локальных минимумов заданной матрицы
Задание: Элемент матрицы называется локальным минимумом, если он строго меньше...

Подсчитать количество локальных минимумов заданной матрицы
Подсчитать количество локальных минимумов заданной матрицы размером 10 х 10....

Подсчитать количество локальных минимумов заданной матрицы
Элемент матрицы называется локальным минимумом, если он строго меньше всех...

Подсчитать количество локальных минимумов заданной матрицы размером 10x10
написал код к заданию:(Элемент матрицы называется локальным минимумом, если он...

5
rRczZZ
541 / 309 / 138
Регистрация: 08.02.2013
Сообщений: 609
28.11.2014, 14:01 2
ivani5, не проверяются соседи по диагонали. Элементы "вне" матрицы (a[0,*], a[*, 0], ... ) равны нулю по умолчанию, а значит любой положительный элемент матрицы на границе никогда не является локальным минимумом.
0
ivani5
0 / 0 / 0
Регистрация: 28.11.2014
Сообщений: 8
28.11.2014, 22:13  [ТС] 3
а как написать, чтоб проверяло и диагонали?
0
ivani5
0 / 0 / 0
Регистрация: 28.11.2014
Сообщений: 8
02.12.2014, 21:31  [ТС] 4
tezaurismosis, можете помочь
0
rRczZZ
541 / 309 / 138
Регистрация: 08.02.2013
Сообщений: 609
03.12.2014, 01:36 5
ivani5,
Кликните здесь для просмотра всего текста
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
static class Program
{
    static bool IsLocalMinimum(int[,] A, int y, int x)
    {
        bool flag;
        for (int i = y - 1; i < y + 2; i++)
        {
            for (int j = x-1; j < x + 2; j++)
            {
                flag = i >= 0 && j >= 0;
                flag &= i != y || j != x;
                flag &= i < A.GetLength(0);
                flag &= j < A.GetLength(1);
 
                if (flag && A[y, x] > A[i, j]) 
                    return false;
            }
        }
 
        return true;
    }
 
    static void Main(string[] args)
    {
        int n = 3;
        int[,] a = new int[n, n];
        Random r = new Random();
        
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                a[i, j] = r.Next(-50, 50);
                Console.Write(string.Format("{0,4}", a[i, j]));
            }
            Console.WriteLine();
            Console.WriteLine();
        }
 
        int sum = 0;
        for (int i = 0; i < n; i++)
            for (int j = i + 1; j < n; j++)
                sum += Math.Abs(a[i, j]);
        Console.WriteLine("Сумма модулей элементов выше главной диагонали: " + sum);
 
        int count = 0;
        for (int i = 0; i < n; i++ )
        {
            for (int j = 0; j < n; j++ )
            {
                if (IsLocalMinimum(a, i, j))
                {
                    count++;
                    Console.WriteLine("Локальный минимум ({0}, {1}): {2}",
                        i, j, a[i,j]);
                }
            }
        }
        Console.WriteLine("Число локальных минимумов: " + count);
        Console.ReadLine();
    }
}
1
ivani5
0 / 0 / 0
Регистрация: 28.11.2014
Сообщений: 8
04.12.2014, 17:50  [ТС] 6
rRczZZ, спасибо большое

Добавлено через 22 часа 8 минут
rRczZZ, все равно не правильно считает
0
04.12.2014, 17:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2014, 17:50

Подсчитать количество локальных минимумов заданной матрицы размером 10x10
Помогите пожелуйста Сам не шарю пытался, но каша Элемент матрицы называется...

Подсчитать количество локальных минимумов в заданной матрице
Помогите кто чем может, заранее спасибо) Задание:Элемент матрицы называется...

Количество локальных минимумов заданной матрицы
элемент матрицы называется локальным минимум,если он строго меньше всех...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru