Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
saintchezzz
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 8
#1

Применить функцию к каждому столбцу матрицы

22.11.2012, 00:20. Просмотров 966. Ответов 4
Метки нет (Все метки)

записать функцию P,которая в заданном одномерном массиве x элементов типа float,
приравнивает нулю все элементы Xj,для которых одновременно f(Xj)<0иff(Xj)>0,где f и ff
некоторые функции.
применить функцию P к каждому столбцу матрици А,размером 5х4,
используя(sin(x)+cos(x)) в качестве функции f и ln(x) в качестве функции ff.

вот такая вот задачка,помогите пожалуйста.а то у меня и так за контрольную неделю 2((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2012, 00:20
Ответы с готовыми решениями:

Применить формулу к каждому элементу матрицы
Даны 3 целых числа,получить b матрицу элементы которого равны b=a(i)-3*a(j);...

Найти min по каждой строке матрицы и max по каждому столбцу
Вводится порядок квадратной матрицы n. Вводятся элементы квадратной матрицы...

Дана матрица A(n, n). Найти сумму элементов по каждому столбцу
Помогите решить двухмерный массив: Дана матрица A(n, n). Найти сумму элементов...

Как сделать вывод средне арифмет по каждому столбцу
Как сделать что бы считал сред арифмет каждого столбца или строки при нажатии...

Как применить функцию в потомке
Есть 3 класса: A предок B, B предок C. У А есть функция foo, к которой хочет...

4
(SkyNet)
22 / 40 / 15
Регистрация: 25.10.2011
Сообщений: 175
22.11.2012, 01:48 #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
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <cmath>
 
const int COLUMS = 4, ROW = 5;
 
 
using namespace std;
 
float f( float x)
{
    return sin(x) + cos(x);
}
 
float ff(float x)
{
    return log(x);
}
 
void P(float* arr, size_t n)
{
    for(int i = 0; i < n; i++)
        if( f(arr[i]) < 0 && ff(arr[i]) > 0 )
            arr[i] = 0;         
}
 
void Print(float arr[][COLUMS], int row, int colums)
{
    for(int i = 0; i < row; i ++)
    {
        for(int j = 0; j < colums; j++)
        {
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
} 
 
 
int main()
{
    float A[ROW][COLUMS] = {{1.0,   2.0,  3.0,  4.0},
                            {5.0,   6.0,  7.0,  8.0},
                            {9.0,  10.0, 11.0, 12.0},
                            {13.0, 14.0, 15.0, 16.0},
                            {17.0, 18.0, 19.0, 20.0}};
        
    Print(A, ROW, COLUMS);  
             
    float* ptr;  
    for(int i = 0; i < COLUMS; i++, ptr = &A[0][i], P(ptr, COLUMS));
            
    cout << endl;
    Print(A, ROW, COLUMS);      
    
    cin.get();
    cin.get();  
    return 0;
}
1
saintchezzz
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 8
22.11.2012, 18:42  [ТС] #3
спасибо огромное))очень благодарен.
0
saintchezzz
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 8
04.12.2012, 18:33  [ТС] #4
как правильно записать ту же самую задачку ,только вводить матрицу вручную?
как сказал препод с приглашением)) это на сколько я понимаю cin>> и тд?
0
(SkyNet)
22 / 40 / 15
Регистрация: 25.10.2011
Сообщений: 175
04.12.2012, 23:27 #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
#include <iostream>
#include <cmath>
 
const int COLUMS = 4, ROW = 5;
 
 
using namespace std;
 
float f( float x)
{
    return sin(x) + cos(x);
}
 
float ff(float x)
{
    return log(x);
}
 
void P(float* arr, size_t n)
{
    for(int i = 0; i < n; i++)
        if( f(arr[i]) < 0 && ff(arr[i]) > 0 )
            arr[i] = 0;         
}
 
void Clear()
{
    system("cls");
    cout << "Input matrix: " << endl;
}
 
void Input(float arr[][COLUMS], int row, int colums)
{
    for(int i = 0; i < row; i ++)
    {
        for(int j = 0; j < colums; j++)
        {   
            Clear();
            cout << "arr[" << i + 1 << "][" << j + 1<< "] = ";
            cin >> arr[i][j];
        }
        cout << endl;
    }
}
 
void Print(float arr[][COLUMS], int row, int colums)
{
    for(int i = 0; i < row; i ++)
    {
        for(int j = 0; j < colums; j++)
        {
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
} 
 
 
int main()
{
    float A[ROW][COLUMS];
    
    Input(A, ROW, COLUMS);    
    Print(A, ROW, COLUMS);  
             
    float* ptr;  
    for(int i = 0; i < COLUMS; i++, ptr = &A[0][i], P(ptr, COLUMS));
            
    cout << endl;
    Print(A, ROW, COLUMS);      
    
    cin.get();
    cin.get();  
    return 0;
}
Могли уже сами добавить, ето не сложно
1
04.12.2012, 23:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2012, 23:27

Сортировка матрицы по строке/столбцу
Как отсортировать матрицу по n строке? Нужно отсортировать матрицу, например...

Сортировка матрицы по последнему столбцу
Нужно отсортировать матрицу по последнему столбцу. То есть в зависимости...

Применить функцию для упрощения вычислений
в данной программе для упрощения вычислений надо ввести дополнительную функцию....


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

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

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