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

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

Восстановить пароль Регистрация
 
saintchezzz
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 8
22.11.2012, 00:20     Применить функцию к каждому столбцу матрицы #1
записать функцию P,которая в заданном одномерном массиве x элементов типа float,
приравнивает нулю все элементы Xj,для которых одновременно f(Xj)<0иff(Xj)>0,где f и ff
некоторые функции.
применить функцию P к каждому столбцу матрици А,размером 5х4,
используя(sin(x)+cos(x)) в качестве функции f и ln(x) в качестве функции ff.

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

Сортировка матрицы по строке/столбцу C++
Сортировка матрицы по последнему столбцу C++
Применить функцию для упрощения вычислений C++
Дана матрица A(n, n). Найти сумму элементов по каждому столбцу C++
Применить формулу к каждому элементу матрицы C++
C++ Как применить функцию в потомке
Найти min по каждой строке матрицы и max по каждому столбцу C++
Сортировка матрицы по столбцу вместе со строкой C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
(SkyNet)
 Аватар для (SkyNet)
22 / 40 / 6
Регистрация: 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;
}
saintchezzz
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 8
22.11.2012, 18:42  [ТС]     Применить функцию к каждому столбцу матрицы #3
спасибо огромное))очень благодарен.
saintchezzz
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 8
04.12.2012, 18:33  [ТС]     Применить функцию к каждому столбцу матрицы #4
как правильно записать ту же самую задачку ,только вводить матрицу вручную?
как сказал препод с приглашением)) это на сколько я понимаю cin>> и тд?
(SkyNet)
 Аватар для (SkyNet)
22 / 40 / 6
Регистрация: 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;
}
Могли уже сами добавить, ето не сложно
Yandex
Объявления
04.12.2012, 23:27     Применить функцию к каждому столбцу матрицы
Ответ Создать тему
Опции темы

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