Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 26.12.2016
Сообщений: 5
.NET 4.x

Матрица и её среднее арифметическое

26.12.2016, 14:19. Показов 1258. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу о помощи. Надо задать матрицу M x N (вводит пользователь), вывести её, определить максимальный элемент, определить среднее арифметическое и вывести результирующую матрицу, в которой все элементы большие среднего арифметического будут заменены на ноль.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.12.2016, 14:19
Ответы с готовыми решениями:

Найти среднее арифметическое двух чисел в четвертой степени и среднее арифметическое их квадратов
срочно пожалуйста!!!Даны два числа. Найти среднее арифметическое этих чисел в четвертой степени и среднее арифметическое их квадратов.в с#

Описать процедуру Mean(X, Y, AMean, GMean), вычисляющую среднее арифметическое и среднее геометрическое
Описать процедуру Mean(X, Y, AMean, GMean), вычисляющую среднее арифметическое AMean = (X + Y)/2 и среднее геометрическое GMean =...

Найти среднее арифметическое (среднее геометрическое) положительных элементов матрицы
Ребята, помогите пожалуйста сделать лабу, буду очень благодарен, а то сижу на паре, не знаю что и как. Вот само задание Найти среднее...

6
309 / 309 / 215
Регистрация: 24.09.2013
Сообщений: 771
26.12.2016, 14:25
Dread Infernal,
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;
 
class Program
{
    static void Main(string[] args)
    {
        int N = 5, M = 3, max = int.MinValue, avr = 0;
        int[,] matrix = new int[N, M];
 
        for (int i = 0; i < N; i++)
        {
            for (int j = 0; j < M; j++)
            {
                matrix[i, j] = Int32.Parse(Console.ReadLine());
                if (max < matrix[i, j])
                    max = matrix[i, j];
                avr += matrix[i, j];
            }
        }
        avr /= N * M;
 
        for (int i = 0; i < N; i++)
        {
            for (int j = 0; j < M; j++)
                Console.Write(matrix[i, j] + " ");
            Console.WriteLine();
        }
 
        for (int i = 0; i < N; i++)
        {
            for (int j = 0; j < M; j++)
                Console.Write((matrix[i, j] > avr ? 0 : matrix[i, j]) + " ");
            Console.WriteLine();
        }
        Console.ReadKey();
    }
}
0
 Аватар для ata
269 / 253 / 186
Регистрация: 28.10.2015
Сообщений: 723
26.12.2016, 15:11
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
using System;
using System.Linq;
using System.Collections.Generic;
 
class Program
{
    static IEnumerable<int> Flatten(int[,] matrix)
    {
        for (int i = 0; i < matrix.GetLength(0); i++)
        {
            for (int j = 0; j < matrix.GetLength(1); j++)
            {
                yield return matrix[i, j];
            }
        }
    }
 
    static void Main()
    {
        Random rnd = new Random();
        int[,] matrix = new int[3, 4];
        for (int i = 0; i < matrix.GetLength(0); i++)
        {
            for (int j = 0; j < matrix.GetLength(1); j++)
            {
                matrix[i, j] = rnd.Next(100);
            }
        }
        Console.WriteLine(Flatten(matrix).Max());
        int avg = (int)Flatten(matrix).Average();
        for (int i = 0; i < matrix.GetLength(0); i++)
        {
            for (int j = 0; j < matrix.GetLength(1); j++)
            {
                Console.Write(matrix[i, j] > avg ? 0 : matrix[i, j]);
                Console.Write('\t');
            }
            Console.WriteLine();
        }
    }
}
0
0 / 0 / 0
Регистрация: 26.12.2016
Сообщений: 5
26.12.2016, 15:38  [ТС]
Не работает, к сожалению
0
309 / 309 / 215
Регистрация: 24.09.2013
Сообщений: 771
26.12.2016, 16:15
Dread Infernal, работает.
Если вы считаете иначе - говорите что по-вашему не работает, ибо как показывает практика - обычно проблема на стороне клиента.
0
0 / 0 / 0
Регистрация: 26.12.2016
Сообщений: 5
26.12.2016, 16:30  [ТС]
Я пока смог сделать подобное. Можете добавить в код вычисление среднего арифметического? И указать на ошибки в коде.
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication7
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] matr = new int[6, 6];
            Random rnd = new Random(1);
            int i = 0, c = 0, b, j = 0, x, y, max;
 
            Console.Write("i=");
            x = Convert.ToInt32(Console.ReadLine());
            Console.Write("j=");
            y = Convert.ToInt32(Console.ReadLine());
 
            for (i = 0; i < x; i++)
            {
                for (j = 0; j < y; j++)
                {
                    matr[i, j] = rnd.Next(1, 10);
 
                    Console.Write(matr[i, j] + " ");
                }
                Console.WriteLine();
            }
 
            Console.WriteLine();
            Console.WriteLine();
            max = matr[0, 0];
 
            for (i = 0; i < 5; i++)
            {
                for (j = 0; j < 5; j++)
                {
                    if (max < matr[i, j])
                        max = matr[i, j];
                }
            }
            Console.WriteLine("максимальный элемент:" + max);
 
 
            Console.WriteLine();
 
            Console.WriteLine();
            Console.WriteLine();
           
            for (i = 0; i < x; i++)
            {
                for (j = 0; j < y; j++)
                {
                    //если больше среднего арифметического, то приравнять элемент нулю
 
                    Console.Write(matr[i, j] + " ");
                }
                Console.WriteLine();
            }
 
            Console.ReadKey();
 
        }
    }
}
0
309 / 309 / 215
Регистрация: 24.09.2013
Сообщений: 771
26.12.2016, 17:16
Лучший ответ Сообщение было отмечено Dread Infernal как решение

Решение

Dread Infernal, в комментариях пояснил исправления. Код можно упростить, но и так сойдет.
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
using System;
 
namespace ConsoleApplication7
{
    class Program
    {
        static void Main(string[] args)
        {
            Random rnd = new Random(1);
            int i = 0, j = 0, x, y, max, avr = 0;
 
            Console.Write("i=");
            x = Convert.ToInt32(Console.ReadLine());
            Console.Write("j=");
            y = Convert.ToInt32(Console.ReadLine());
 
            // лучше выделить память под матрицу после того как будет известна ее размерность (введены x и y)
            int[,] matr = new int[x, y];    
 
            for (i = 0; i < x; i++)
            {
                for (j = 0; j < y; j++)
                {
                    matr[i, j] = rnd.Next(1, 10);
                    Console.Write(matr[i, j] + " ");
                }
                Console.WriteLine();
            }
 
            Console.WriteLine("\n");    // эквивалентно 2-м переносам строки
            max = matr[0, 0];
 
            for (i = 0; i < x; i++)     // вместо x и y было число 5, неверно, т.к. размерность массива может быть и меньше (в таком случае индекс выйдет за пределы матрицы). Думаю, это опечатка была :)
            {
                for (j = 0; j < y; j++)
                {
                    if (max < matr[i, j])
                        max = matr[i, j];
                }
            }
            Console.WriteLine("максимальный элемент:" + max);
 
            // Вычисление среднего арифметического
            for (i = 0; i < x; i++)
                for (j = 0; j < y; j++)
                    avr += matr[i, j];
            avr = avr / (x * y);    // можно записать avr /= x * y;
            Console.WriteLine("среднее арифметическое:" + avr);
 
            Console.WriteLine("\n\n");  // эквивалентно 3-м переносам строки
 
            for (i = 0; i < x; i++)
            {
                for (j = 0; j < y; j++)
                {
                    if (matr[i, j] > avr)
                        matr[i, j] = 0;
                    Console.Write(matr[i, j] + " ");
                }
                Console.WriteLine();
            }
            Console.ReadKey();
        }
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.12.2016, 17:16
Помогаю со студенческими работами здесь

Найти среднее арифметическое и среднее геометрическое двух заданных чисел
1. Даны два действительных положительных числа. Найти средне арифметическое и средне геометрическое этих чисел (или их модулей).

Найти среднее геометрическое модулей и среднее арифметическое каждой из пар этих чисел
Даны три действительных числа. Найти среднее геометрическое модулей и среднее арифметическое каждой из пар этих чисел.

Найти среднее арифметическое и среднее геометрическое трёх чисел, вычислить периметр и площадь 10-угольника
Нужно написать программы с помощью функций: 1)Найти среднее арифметическое и среднее геометрическое трёх заданных чисел. 2)Вычислить...

Найти среднее арифметическое и среднее геометрическое модулей чисел
даны два числа. найти среднее арифметическое и среднее геометрическое их модулей

Найти среднее арифметическое и среднее геометрическое чисел
даны два действительных положительных числа.найти среднеарифметическое и среднегеометрическое этих чисел(или их модулей)


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
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 существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru