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

Получение матрицы - C++

Восстановить пароль Регистрация
 
Hammersky
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 9
22.01.2012, 01:03     Получение матрицы #1
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
"* Дана действительная матрица A[i][j] i,j=1,..,n
"* Получить действительную матрицуB[i][j] i,j=1,...,n,
"* B[i][j] равен сумме элементов данной матрицы, расположенной
"* в области определения А[i][j] в заштрихованной области
"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
"* ________________
"* |X| |X X X X | Х - заштрихованная
"* |X| |X X X X | область
"* |X| |X X X X |
"* |X|__|X_X_X_X_|
"* | |Aij| |
"* |_|___|________|
"* |X|___|X_X_X_X_|
"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Помогитете с кодом для элемента Aij(то есть для элемента a00=a11+a12+a21+22 и так далее)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Serejke_qq
 Аватар для Serejke_qq
149 / 107 / 9
Регистрация: 06.07.2011
Сообщений: 224
Завершенные тесты: 2
22.01.2012, 01:06     Получение матрицы #2

Не по теме:

супер

нарисуйте в paint'е хотябы.
volchonokilli
4 / 4 / 0
Регистрация: 04.01.2012
Сообщений: 41
22.01.2012, 02:00     Получение матрицы #3
Лучше нарисуйте в тетрадке и сфотографируйте.
А то так ведь ничего не понятно.
Hammersky
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 9
22.01.2012, 20:04  [ТС]     Получение матрицы #4
Под буквой а)
Миниатюры
Получение матрицы  
Roof
 Аватар для Roof
154 / 154 / 10
Регистрация: 03.11.2010
Сообщений: 393
23.01.2012, 00:16     Получение матрицы #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
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
 
#define M_DIMM 5 // порядок матрицы
 
// заполнение массива псевдослучайными действительными значениями
void fill_src_array_rand( double[], const size_t );
// вывод массива на экран
void print_array( const double[], const size_t );
// вычисление элемента нового массива
double calc_elem_dest_array( const double[], const size_t, const size_t,
        const size_t );
// заполнение результирующего массива соответсвенно схеме
void fill_dest_array_scheme( const double[], double[], const size_t );
 
int main() {
    srand( time( NULL ) );
 
    double my_src_arr[ M_DIMM ][ M_DIMM ];
    double my_dest_arr[ M_DIMM ][ M_DIMM ];
 
    cout << "Исходный массив:" << endl;
    // заполняем исходный массив
    fill_src_array_rand( *my_src_arr, M_DIMM );
    // выводим исходный массив на экран
    print_array( *my_src_arr, M_DIMM );
 
    cout << "Результирующий массив:" << endl;
    // заполняем результирующий массив соответсвенно схеме
    fill_dest_array_scheme( *my_src_arr, *my_dest_arr, M_DIMM );
    // выводим результирующий массив на экран
    print_array( *my_dest_arr, M_DIMM );
 
    return 0;
}
 
void fill_src_array_rand( double array[], const size_t dimm ) {
    for ( size_t i = 0; i < dimm; ++i )
        for ( size_t j = 0; j < dimm; ++j )
            array[ i * M_DIMM + j ] = ( rand() % 201 - 100 ) / 10.0; //[ -10.0..10.0 ];
 
}
 
void print_array( const double array[], const size_t dimm ) {
    for ( size_t i = 0; i < dimm; ++i ) {
        for ( size_t j = 0; j < dimm; ++j )
            cout << setw( 8 ) << array[ i * M_DIMM + j ];
        cout << endl;
    }
}
 
double calc_elem_array( const double array[], const size_t dimm, const size_t row,
        const size_t col ) {
    double elem = 0;
    for ( size_t i = 0; i < dimm; ++i )
        for ( size_t j = 0; j < dimm; ++j )
            if ( i != row && j != col )
                elem += array[ i * M_DIMM + j ];
 
    return elem;
}
 
void fill_dest_array_scheme( const double src_array[], double dest_array[], const size_t dimm ){
    for ( size_t i = 0; i < dimm; ++i )
            for ( size_t j = 0; j < dimm; ++j )
                dest_array[ i * M_DIMM + j ] = calc_elem_array( src_array, dimm, i, j );
}
Консоль
Исходный массив:
-1.2 8.5 -5.6 5 -7.6
-1.3 -0.7 9.6 -3.1 -6.1
6 -6 -1.8 8.1 7.4
-8.9 -2 0.7 -1.5 -9.8
2.4 0.9 -3 -9.1 -5
Результирующий массив:
-21.4 -15.4 -28.7 -17.6 -9.7
-20.8 -23.9 -12.8 -25 -7.5
-28.8 -44.5 -39.5 -29.1 -9.3
-8.5 -5.3 -1.8 -3.5 8.7
-4.9 -10.1 -13.2 -18.8 5.8
Yandex
Объявления
23.01.2012, 00:16     Получение матрицы
Ответ Создать тему
Опции темы

Текущее время: 20:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru