Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
Lollipo
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 36
#1

Построить результат сглаживания заданной вещественной матрицы размером 10 на 10. - C++

07.10.2010, 20:02. Просмотров 1792. Ответов 3
Метки нет (Все метки)

Соседями элемента Аij в матрице назовем элементы Аk! С i-1≤k≤i+1,j-1≤1≤j+1, (k, 1) ≠ (I, j). Операция сглаживания матрицы дает новую матрицу того же размера, каждый элемент который получается как среднее арифметическое имеющихся соседей соответствующего элемента исходной матрицы. Построить результат сглаживания заданной вещественной матрицы размером 10 на 10.
В сглаженной матрице найти сумму модулей элементов, расположенных ниже главной диагонали.
Вложения
Тип файла: docx Doc1.docx (77.9 Кб, 46 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2010, 20:02     Построить результат сглаживания заданной вещественной матрицы размером 10 на 10.
Посмотрите здесь:

Построить результат сглаживания заданной вещественной матрицы размером 10 на 10 - C++
:cry: Помогите пожалуйста, написать программу в с++. А то я чайник, ничего не понимаю... Соседями элемента А с индексом ij в матрице...

Построить результат сглаживания заданной вещественной матрицы - C++
Соседями элемента Aij в матрице назовем элементы Akl с i-1 ≤ k ≤ i+1, j-1 ≤ l ≤ j+1, (k, l) ≠ (i, j). Операция сглаживания матрицы дает...

Из заданной матрицы A размером N*M получить матрицу В размером K*3 по правилу: первый столбец состоит из полож - C++
Из заданной матрицы A размером N*M получить матрицу В размером K*3 по правилу: первый столбец состоит из положительных элементов, второй...

Из заданной матрицы A размером получить матрицу В размером по правилу: первый столбец состоит из положительных элементов, второй – из отрицате - C++
1. Из заданной матрицы A размером получить матрицу В размером по правилу: первый столбец состоит из положительных элементов, второй –...

Произвести сортировку столбцов заданной вещественной матрицы по убыванию элементов последней строки - C++
Дан двумерный массив вещественных чисел размерностью . Произвести сортировку столбцов по убыванию элементов последней строки....

Для заданной матрицы размером 8 ны 8 найти такие k, что k-ая строка матрицы совпадает с k-ым столбцом - C++
Для заданной матрицы размером 8 ны 8 найти такие k, что k-ая строка матрицы совпадает с k-ым столбцом.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
07.10.2010, 21:31     Построить результат сглаживания заданной вещественной матрицы размером 10 на 10. #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
47
48
49
#include <iostream>
 
int main()
{
    const int row = 3;
    const int col = 3;
 
    //создаем исходную матрицу
    int src_arr[row][col] = {   {1,2,3},
                                {4,5,6},
                                {7,8,9} };
 
    std::cout << "First matrix: " << std::endl;
    for (int i = 0; i < row; ++i){
        for (int j = 0; j < col; ++j){
            std::cout << src_arr[i][j] << " ";
        }
        std::cout << std::endl;
    }
 
    //создаем целевую (сглаженную) матрицу (тойже размерности)
    int dst_arr[row][col]={};
 
 
    for (int i = 0; i < row; ++i){
        int cnt = 0;
        int sum = 0;
        for (int j = 0; j < col; ++j){
            if ((i + 1) < row) { sum += src_arr[i+1][j]; ++cnt; }
            if ((j + 1) < col) { sum += src_arr[i][j+1]; ++cnt; }
            if ((i - 1) >= 0 ) { sum += src_arr[i-1][j]; ++cnt; }
            if ((j - 1) >= 0 ) { sum += src_arr[i][j-1]; ++cnt; }
 
            dst_arr[i][j] = sum / cnt;
            cnt = 0;
            sum = 0;
        }
    }
 
    std::cout << "Smoothed matrix: " << std::endl;
    for (int i = 0; i < row; ++i){
        for (int j = 0; j < col; ++j){
            std::cout << dst_arr[i][j] << " ";
        }
        std::cout << std::endl;
    }
 
    return 0;
}
приложение
Миниатюры
Построить результат сглаживания заданной вещественной матрицы размером 10 на 10.  
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
11.10.2010, 20:46     Построить результат сглаживания заданной вещественной матрицы размером 10 на 10. #3
сглаженная матрица 3 на 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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
 
int main()
{
    const int row = 3;
    const int col = 3;
 
    //создаем исходную матрицу
    int src_arr[row][col] = {   {1,2,3},
                                {4,5,6},
                                {7,8,9} };
 
    std::cout << "First matrix: " << std::endl;
    for (int i = 0; i < row; ++i){
        for (int j = 0; j < col; ++j){
            std::cout << src_arr[i][j] << " ";
        }
        std::cout << std::endl;
    }
 
    //создаем целевую (сглаженную) матрицу (тойже размерности)
    int dst_arr[row][col]={};
 
 
    for (int i = 0; i < row; ++i){
        int cnt = 0;
        int sum = 0;
        for (int j = 0; j < col; ++j){
            if ((i + 1) < row) { sum += src_arr[i+1][j]; ++cnt; }
            if ((j + 1) < col) { sum += src_arr[i][j+1]; ++cnt; }
            if ((i - 1) >= 0 ) { sum += src_arr[i-1][j]; ++cnt; }
            if ((j - 1) >= 0 ) { sum += src_arr[i][j-1]; ++cnt; }
 
            dst_arr[i][j] = sum / cnt;
            cnt = 0;
            sum = 0;
        }
    }
 
    std::cout << "Smoothed matrix: " << std::endl;
    for (int i = 0; i < row; ++i){
        for (int j = 0; j < col; ++j){
            std::cout << dst_arr[i][j] << " ";
        }
        std::cout << std::endl;
    }
 
    return 0;
}
поменять размерность и найти сумму модулей думаю не составит труда
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2010, 20:59     Построить результат сглаживания заданной вещественной матрицы размером 10 на 10.
Еще ссылки по теме:

Для заданной матрицы размером 8 на 8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом - C++
Для заданной матрицы размером 8 на 8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом. Найти сумму элементов в тех строках,...

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

В вещественной матрице размером NxN найти максимальный и минимальный элементы. - C++
Помогите решить с объяснениями. В вещественной матрице размером NxN найти максимальный и минимальный элементы. Переставить строки, в...

По заданной вещественной матрице N*M найти - C++
По заданной вещественной матрице N*M найти Мои наработки: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #define N 5 ...

предусмотреть динамический захват памяти, решение оформить в виде отдельной функции. В вещественной матрице размером NxN найти максимальный - C++
В задаче предусмотреть динамический захват памяти, решение оформить в виде отдельной функции. В вещественной матрице размером NxN найти...

класс вещественной матрицы - C++
Доброго времени, не могу написать программу, не знаю с++ Составить алгоритм и программу а которой не обходимо описать класс ...


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

Или воспользуйтесь поиском по форуму:
Lollipo
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 36
11.10.2010, 20:59  [ТС]     Построить результат сглаживания заданной вещественной матрицы размером 10 на 10. #4
Ой спасибо большое! Для меня матрицы это действительно сложно!
Yandex
Объявления
11.10.2010, 20:59     Построить результат сглаживания заданной вещественной матрицы размером 10 на 10.
Ответ Создать тему
Опции темы

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