С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
alastrion
0 / 0 / 0
Регистрация: 19.02.2014
Сообщений: 5
1

Среднее арифметическое Матрицы с вычетом элементов строки и проценты

19.02.2014, 23:15. Просмотров 734. Ответов 4
Метки нет (Все метки)

1 - Необходимо найти среднее арифметическое каждой строки матрицы Q(l,m) и вычесть его из элементов этой строки.
2 - В целочисленном массиве K(n) много повторяющихся элементов. Найти (в процентах) частоту появления каждого из m наиболее часто встречающихся элементов (m<< n ). Нашел и на C++ и на Pascal, а на C# не нашел ответов..
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2014, 23:15
Ответы с готовыми решениями:

Вычислить среднее арифметическое значений элементов каждой строки матрицы
Вычислить среднее арифметическое значений элементов каждой строки матрицы...

Для каждой строки матрицы найти среднее арифметическое ее элементов
1 Дана матрица размера M × N. Для каждой строки матрицы с нечет-ным номером...

Вывести номер и среднее арифметическое элементов строки матрицы, начинающейся с 1
Дана матрица F(15,15). Вывести номер и среднее арифметическое элементов строки,...

Найти номера строки и столбца самого меньшего элемента матрицы, чем среднее арифметическое значение всех ее элементов
Дана матрица размера M х N. Найти номера строки и столбца самого меньшего...

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

4
alastrion
0 / 0 / 0
Регистрация: 19.02.2014
Сообщений: 5
20.02.2014, 23:44  [ТС] 2
блин..
0
dirtez0
44 / 44 / 19
Регистрация: 20.01.2014
Сообщений: 87
21.02.2014, 00:15 3
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

Решение первой задачи:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int[,] matrix = {{3, 4, 5}, {5, 5, 5}, {9, 10, 11}};
 
for (int i = 0; i < matrix.GetLength(0); i++)
{
    for (int j = 0; j < matrix.GetLength(1); j++)
    {
        int avg = 0;
        for(int x = 0; x < matrix.GetLength(1); x++)
        {
             avg += matrix[i, x];
         }
 
         avg /= matrix.GetLength(1);
 
         for(int x = 0; x < matrix.GetLength(1); x++)
         {
             matrix[i, x] -= avg;
          }
      }
}
1
alastrion
0 / 0 / 0
Регистрация: 19.02.2014
Сообщений: 5
21.02.2014, 21:20  [ТС] 4
спасибо..сейчас попробуем..

Добавлено через 3 часа 15 минут
вот так получилось в итоге..но! при выводе каша(сначала первая строка, потом строка - средн.арф, затем 2-ая далее 2-ая - ср.арф и т.д..рассортировать можно как нибудь?
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 5;
            int[,] matrix = new int[n, n];
            Random rnd = new Random();
 
            for (int i = 0; i < matrix.GetLength(0); i++)
            {
                for (int j = 0; j < matrix.GetLength(1); j++)
                {
                    matrix[i, j] = rnd.Next(0, 10);
 
                    Console.Write(matrix[i, j] + " ");
 
                }
 
 
                int avg = 0;
                for (int x = 0; x < matrix.GetLength(1); x++)
                {
                    avg += matrix[i, x];
                }
 
                avg /= matrix.GetLength(1);
 
                for (int x = 0; x < matrix.GetLength(1); x++)
                {
                    matrix[i, x] -= avg;
                    Console.Write(matrix[i, x] + " ");
                    Console.ReadKey(true);
 
                }
            }
        }
    }
}
Добавлено через 4 минуты
мне бы матрицу, а при нажатии вторую или сразу..как организовать?пните в нужном направлении xD
0
alastrion
0 / 0 / 0
Регистрация: 19.02.2014
Сообщений: 5
24.02.2014, 21:33  [ТС] 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
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
using System;
 
internal class Findnum
{
    internal static int m; //количество наиболее часто встречающихся елементов которые нужно вывести
    internal static int n = 10;
    //static int[] K = new int[n];
    internal static int[] K = { 1, 3, 1, 5, 5, 9, 9, 5, 9, 9 };
    //ORIGINAL LINE: internal static int[][] hesh = new int[2][n]; //таблица, где хранятся числа и их количество совпадений в массиве,
    //JAVA TO VB & C# CONVERTER NOTE: The following call to the 'RectangularArrays' helper class reproduces the rectangular array initialization that is automatic in Java:
    internal static int[][] hesh = RectangularArrays.ReturnRectangularIntArray(2, n); //таблица, где хранятся числа и их количество совпадений в массиве,
    // тоесть частота появления
    internal static int[] E = new int[n];
 
    internal static void add() // заполнения массива числами
    {
        for (int i = 0; i < K.Length; i++)
        {
            K[i] = (int)(10 * new Random(1).NextDouble());
        }
    }
    internal static void getK() //получить массив K
    {
        Console.WriteLine();
        for (int i = 0; i < n; i++)
        {
            Console.Write(K[i] + " ");
        }
    }
    internal static void sort(int[] K) // сортировка массива
    {
        Console.WriteLine();
        int limit = n;
        int var = -1;
        while (var < limit)
        {
            var++;
            limit--;
            for (int j = var; j < limit; j++)
            {
                if (K[j] < K[j + 1])
                {
                    int t = K[j];
                    K[j] = K[j + 1];
                    K[j + 1] = t;
                }
            }
            for (int j = limit; --j >= var; )
            {
                if (K[j] < K[j + 1])
                {
                    int t = K[j];
                    K[j] = K[j + 1];
                    K[j + 1] = t;
                }
            }
        }
    }
    internal static void number() //ф-ция для заполнения массива частотой появления значений
    {
        for (int j = 0; j < n; j++)
        {
            int s = 0;
 
            hesh[0][j] = K[j];
            for (int i = 0; i < n; i++)
            {
                if (K[j] == K[i])
                {
                    s++;
                }
            }
            hesh[1][j] = s;
        }
    }
    internal static void getHesh() //вывод таблицы чисел и их количества совпадений
    {
        Console.WriteLine();
        for (int j = 0; j < n; j++)
        {
            Console.Write(hesh[0][j] + " ");
        }
        Console.WriteLine();
        for (int i = 0; i < n; i++)
        {
            E[i] = hesh[1][i]; // инициализ. массива частотой появлений
            Console.Write(hesh[1][i] + " ");
        }
    }
    internal static void getE()
    {
        for (int k = 0; k < n; k++)
        {
            Console.Write(E[k] + " ");
        }
    }
    internal static void finish()
    {
        for (m = 4; m > 0; m--)
        {
            for (int i = 0, j = 0; i < n; i++)
            {
 
                if (E[j] == hesh[1][i])
                {
                    Console.Write("\nNumber " + hesh[0][i] + " - " + (float)(100.0 / n) * hesh[1][i]);
                    E[j]--;
                }
                //else
                //{E[j]--;} 
            }
        }
    }
    static void Main(string[] args)
    {
        //add();          
        number();
        getHesh();
        sort(E);
        getE();
        finish();
    }
}
 
internal static class RectangularArrays
{
    internal static int[][] ReturnRectangularIntArray(int Size1, int Size2)
    {
        int[][] Array = new int[Size1][];
        for (int Array1 = 0; Array1 < Size1; Array1++)
        {
            Array[Array1] = new int[Size2];
        }
        return Array;
    }
}
Добавлено через 4 часа 2 минуты
блин,знающие, толкните мысль, а дальше сам..первую сделал, вторая осталась..скоро сдавать дядьке
0
24.02.2014, 21:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2014, 21:33

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

Найти среднее арифметическое первой строки матрицы
Выяснить, сколько элементов матрицы размера MN не превышает среднее...

Найти среднее арифметическое элементов каждой диагонали матрицы
Помогите перевести эту задачу на С #!Дана квадратная матрица A порядка M....


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

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

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