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

Матрица А размером m x n. Определить k - количество особых элементов массива А

10.05.2012, 14:12. Показов 2560. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана матрица А размером m x n. Определить k - количество особых элементов массива А, считая его элемент особым, если он больше суммы остальных элементов его столбца
У меня только находит максимальные числа в строках

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace _5_2
{
    class Program
    {
        static void Main(string[] args)
        {
 
            Console.WriteLine("введите размер 2-хмерного массива: ");
            int n = Convert.ToInt16(Console.ReadLine());
            int m = Convert.ToInt16(Console.ReadLine());
            int[,] mass1 = new int[n, m];
            Random r = new Random();
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    mass1[i, j] = r.Next(10);
                    Console.Write("{0}  ", mass1[i, j]);
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            Console.WriteLine("MAX элементы каждого столбца:");
            int max1 = 0;
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    if (max1 < mass1[i, j])
                    {
                        max1 = mass1[i, j];
                    }
                }                
                Console.WriteLine(max1);
                max1 = 0;
            }
            Console.ReadKey();
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.05.2012, 14:12
Ответы с готовыми решениями:

Определить количество особых элементов массива
Дана матрица размером nxn. Определить количество особых элементов массива, считая его элемент особым, если он больше суммы остальных...

Определить количество «особых» элементов матрицы
Помогите, пожалуйста. :( Ну никак не могу разобраться с заданием. Задана матрица размером MxN. Определить k – количество «особых»...

Определить количество «особых» элементов матрицы
Задание: дана матрица размером N * M. . Определить количество «особых» элементов матрицы, считая элемент «особым», если он больше суммы...

6
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 194
10.05.2012, 15:23
как вариант можно ижти по столбцам и забить в массив одинарный все суммы столбцов после просто текущий элемент вычитаешь из суммы и сравниваешь. если больше то сохраняешь или выводишь смотря что там нужно индексы элемента. Я бы так делал)
0
Заблокирован
10.05.2012, 15:36
по-моему можно циклы местами поменять
вот тут:
C#
1
2
3
4
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
0
1 / 1 / 2
Регистрация: 07.05.2012
Сообщений: 36
10.05.2012, 20:49  [ТС]
Дана матрица А размером m x n. Определить k - количество особых элементов массива А, считая его элемент особым, если он больше суммы остальных элементов его столбца
Здесь у меня выводит только максимальное число в каждой строке, а мне нужно найти максимальное число в каждом столбце.

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace _5_2
{
    class Program
    {
        static void Main(string[] args)
        {
 
            Console.WriteLine("введите размер 2-хмерного массива: ");
            int n = Convert.ToInt16(Console.ReadLine());
            int m = Convert.ToInt16(Console.ReadLine());
            int[,] mass1 = new int[n, m];
            Random r = new Random();
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    mass1[i, j] = r.Next(10);
                    Console.Write("{0}  ", mass1[i, j]);
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            Console.WriteLine("MAX элементы каждого столбца:");
            int max1 = 0;
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    if (max1 < mass1[i, j])
                    {
                        max1 = mass1[i, j];
                    }
                }
                Console.WriteLine(max1);
                max1 = 0;
            }
            Console.ReadKey();
        }
    }
}
0
1250 / 408 / 52
Регистрация: 14.06.2009
Сообщений: 629
10.05.2012, 22:27
а так?
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace _5_2
{
    class Program
    {
        static void Main(string[] args)
        {
 
            Console.WriteLine("введите размер 2-хмерного массива: ");
            int n = Convert.ToInt16(Console.ReadLine());
            int m = Convert.ToInt16(Console.ReadLine());
            int[,] mass1 = new int[n, m];
            Random r = new Random();
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    mass1[i, j] = r.Next(10);
                    Console.Write("{0}  ", mass1[i, j]);
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            Console.WriteLine("MAX элементы каждого столбца:");
            int max1 = 0;
            for (int j = 0; j < m; j++)
            {
                for (int i = 0; i < n; i++)
                {
                    if (max1 < mass1[i, j])
                    {
                        max1 = mass1[i, j];
                    }
                }
                Console.WriteLine(max1);
                max1 = 0;
            }
            Console.ReadKey();
        }
    }
}
1
1 / 1 / 2
Регистрация: 07.05.2012
Сообщений: 36
10.05.2012, 22:41  [ТС]
спасибо, теперь мне нужно сделать так если максимальные элементы столбцов одинаковые то они не должны повторяться в результате, должно выводиться только один результат если будут одинаковые макс. элементы
0
1250 / 408 / 52
Регистрация: 14.06.2009
Сообщений: 629
10.05.2012, 23:37
Цитата Сообщение от aliba Посмотреть сообщение
особых элементов массива А, считая его элемент особым, если он больше суммы остальных элементов его столбца
Я бы нашел особые элементы так:
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;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace _5_2
{
    class Program
    {
        static void Main(string[] args)
        {
 
            Console.WriteLine("введите размер 2-хмерного массива: ");
            int n = Convert.ToInt16(Console.ReadLine());
            int m = Convert.ToInt16(Console.ReadLine());
            int[,] mass1 = new int[n, m];
            Random r = new Random();
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    mass1[i, j] = r.Next(100);
                    Console.Write("{0}  ", mass1[i, j]);
                }
                Console.WriteLine();
            }
            Console.WriteLine();
          
            int max1 = 0;
            int nomer = 0, summa=0;
            for (int j = 0; j < m; j++)
            {
                for (int i = 0; i < n; i++)
                {
                    if (max1 < mass1[i, j])
                    {
                        max1 = mass1[i, j];
                        nomer = i;
                    }
                }
              //  Console.WriteLine("Номер максимального: " + nomer);
                max1 = 0;
                summa = 0;
                for (int k = 0; k < n; k++)
                {
                    if (k == nomer) continue;
                    summa += mass1[k, j]; 
                    
                }
              //  Console.WriteLine("Сумма остальных: " + summa);
                if (mass1[nomer, j] > summa)
                    Console.WriteLine("Особый элемент столбца " + j + ": " + mass1[nomer, j]);
                else Console.WriteLine("Особый элемент в столбце " + j + " отсутствует");
            }
            Console.ReadKey();
        }
    }
}
Вот эту фразу не очень понял:

Цитата Сообщение от aliba Посмотреть сообщение
теперь мне нужно сделать так если максимальные элементы столбцов одинаковые то они не должны повторяться в результате, должно выводиться только один результат если будут одинаковые макс. элементы
Почему максимальные элементы в столбце не должны повторяться? Усложнять задачу не вижу смысла.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.05.2012, 23:37
Помогаю со студенческими работами здесь

Определить количество и координаты особых элементов матрицы
Дана матрица размером m*n, определить количество и координаты особых элементов матрицы. Элемент считается особым, если он больше суммы...

Определить количество "особых" элементов в матрице
Дана вещественная матрица А размерности n х m. Определить k — количество &quot;особых&quot; элементов массива А, считая его элемент особым, если...

Определить в целочисленном массиве размером n < 10 количество элементов, кратных некоторому числу m
Здравствуйте, очень прошу помочь с заданием: Напишите программу, определяющую в целочисленном массиве размерностью n &lt; 10...

Найти количество особых элементов матрицы
Здравствуйте! Дана целочисленная матрица А размером MxN. Элемент Аij назовем особым, если он равен сумме остальных элементов i-ой строки....

Преобразовать из C++ в C#: Найти количество особых элементов
Прошу помочь с преобразованием кода. Буду благодарен любому ответу и совету. Изначальное задание имеет следующее условие: Назовем...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru