Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 9
1

Замена максимального элемента в столбце матрицы

27.02.2020, 19:20. Показов 1301. Ответов 3

Дана матрица размера 7 x 5. Если кол-во положительных элементов столбца больше количества отрицательных, то максимальный элемент этого столбца заменить на 0, в противном случае максимальный элемент заменить на номер максимального элемента этого столбца.
Получилось только инициализировать матрицу и найти максимальный элемент, дальше уже не знаю как. C#
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2020, 19:20
Ответы с готовыми решениями:

Поиск максимального элемента в строке и минимального в столбце
Дана таблица a, состоящая из n строк и n столбцов. Требуется определить, есть ли в таблице такой...

Замена максимального элемента
Помогите плиз) Записать (-100) вместо максимального элемента массива D(30) из элементов,...

Найти индекс максимального элемента матрицы
Дана матрица 4х4. Найти номер строки и номер столбца максимального элемента

Матрицы. Нахождение максимального элемента в строках массива
Дана матрица P(N,N). Найти в каждой строке наибольший элемент и поменять его местами с элементом...

3
Фрилансер
679 / 439 / 136
Регистрация: 06.01.2017
Сообщений: 4,427
27.02.2020, 19:36 2
Цитата Сообщение от Moxito Посмотреть сообщение
Получилось только инициализировать матрицу и найти максимальный элемент, дальше уже не знаю как. C#
покажете как у вас это получилось?)
0
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 9
27.02.2020, 19:56  [ТС] 3
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
int[,] arr = new int[7, 5];
            int i1, j1, maxi = 0, maxj = 0;
            Random rnd = new Random();
            Console.WriteLine("Случайная матрица");
            for (int i = 0; i<7;i++)
            {
                for (int j = 0; j<5;j++)
                {
                    arr[i, j] = rnd.Next(10, 100);
                    Console.Write("{0} ", arr[i,j]);
                }
                Console.Write("\n");
            }
            for (int i = 0; i < 7; i++)
            {
                for (int j = 0; j<5;j++)
                {
                    if (arr[i,j] > arr[maxi, maxj])
                    {
                        maxi = i;
                        maxj = j;
                    }
                }
            }
            Console.WriteLine("\nМакс элемент матрицы {0}", arr[maxi, maxj]);
        }
1
2363 / 766 / 560
Регистрация: 15.01.2019
Сообщений: 2,383
28.02.2020, 00:08 4
Лучший ответ Сообщение было отмечено Moxito как решение

Решение

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
using System;
 
 
namespace ConsoleApp36
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 7, m = 5;
            int[,] arr = new int[n, m];
            int[] arrmax = new int[m];
            int maxvalue, countpol, countneg;
            Random rnd = new Random();
            Console.WriteLine("Исходная матрица:");
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    arr[i, j] = rnd.Next(-100, 100);
                    Console.Write("{0,4} ", arr[i, j]);
                }
                Console.Write("\n");
            }
 
            for (int j = 0; j < m; j++)
            {
                maxvalue = arr[1, j];
                arrmax[j] = 1;
                for (int i = 0; i < n; i++)
                    if (arr[i, j] > maxvalue)
                    {
                        maxvalue = arr[i, j];
                        arrmax[j] = i;
                    }
                countpol = 0;
                countneg = 0;
                for (int i = 0; i < n; i++)
                    if (arr[i, j] > 0)
                        countpol++;
                    else
                      if (arr[i, j] < 0)
                        countneg++;
                if (countpol > countneg)
                    arr[arrmax[j], j] = 0;
                else
                    arr[arrmax[j], j] = arrmax[j]+1;
            }
 
 
            Console.WriteLine("Измененная матрица:");
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                   if (arrmax[j] == i)
                    {
                        if (arr[arrmax[j],j] == 0)
                            Console.ForegroundColor = ConsoleColor.Yellow;
                        else
                            Console.ForegroundColor = ConsoleColor.Red;
                        Console.Write("{0,4} ", arr[i, j]);
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Gray;
                        Console.Write("{0,4} ", arr[i, j]);
                    }
               
                Console.Write("\n");
            }
            Console.WriteLine("Красным цветом обозначены замененные максимальные элементы в " +
                "столбцах с большим количеством отрицательных элементов в столбце. Желтым цветом обозначены " +
                "замененные максимальные элементы с большим количеством положительных элементов в столбце.");
            Console.ReadKey();
        }
    }
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2020, 00:08

В каждой строке матрицы сменить знак максимального по модулю элемента на противоположный
Дана целочисленная матрица размером m x n. В каждой строке сменить знак максимального по модулю...

Найти произведение четных чисел в K-ом столбце и количество нулей в L-ом столбце матрицы
Здравствуйте помогите решить задачу. Дана матрица A(n,n). Найти произведение четных чисел в...

Найти произведение четных чисел в К-ом столбце и к-во нулей в L-ов столбце матрицы
Дана матрица А(n,n). Найти произведение четных чисел в К-ом столбце и к-во нулей в L-ов столбце...

Замена максимального элемента в столбце
Помогите пожалуйста. В каждом столбце матрицы A(n,m) нужно заменить максимальный элемент, на...


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

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

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