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

Матрица - C++

Восстановить пароль Регистрация
 
Shargrath
 Аватар для Shargrath
1 / 1 / 0
Регистрация: 18.01.2009
Сообщений: 87
16.02.2010, 17:50     Матрица #1
Задано матрицу V(S,V). Определить, имеется ли в матрице элемент, значение которого равно по модулю разности максимального и минимального значений матрицы. Если такой элемент есть, определить, единственный ли он?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2010, 17:50     Матрица
Посмотрите здесь:

матрица C++
матрица C++
Матрица C++
Матрица C++
матрица с++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Shargrath
 Аватар для Shargrath
1 / 1 / 0
Регистрация: 18.01.2009
Сообщений: 87
18.02.2010, 20:47  [ТС]     Матрица #2
помогите с задачей, пожалуйста!
а то мне *опа
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
18.02.2010, 21:11     Матрица #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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
void print_m(int *m, int row, int col)
{
    for(int i = 0; i < row; i++)
    {
        for(int j = 0; j < col; j++)
            cout << *m++ << " ";
        cout << endl;
    }
}
int max_m(int *m, int row, int col)
{
    int max = 0;
    for(int i = 0; i < row; i++)
        for(int j = 0; j < col; j++, m++)
            if(*m > max)
                max = *m;
    return max; 
}
int min_m(int *m, int row, int col)
{
    int min = 0;
    for(int i = 0; i < row; i++)
        for(int j = 0; j < col; j++, m++)
            if(*m < m[1])
                min = *m;
    return min; 
}
int main()
{
    const int S = 3, V = 3;
    int M[S][V];
    
    for(int i = 0; i < S; i++)
        for(int j = 0; j < V; j++)
            M[i][j] = rand()%9 + 1;
    
    cout << "Исходная матрица: " << endl;
    print_m((int*)M, S, V);
    
    int max = max_m((int*)M, S, V);
    cout << "Максимум: " << max << endl;
    
    int min = min_m((int*)M, S, V);
    cout << "Минимум: " << min << endl;
    
    int mod = abs(max-min);
    bool el = false;
    for(int i = 0; i < S; i++)
        for(int j = 0; j < V; j++)
            if(M[i][j] == mod)
                el = true;
    if(el) 
        cout << "Такой элемент существует.";
    else 
        cout << "Такой элемент не существует.";
    
    int count_el = 0;
    for(int i = 0; i < S; i++)
        for(int j = 0; j < V; j++)
            if(M[i][j] == mod)
                count_el++;
    if(el) 
        cout << " Всего " << count_el << endl;
    
    cout << endl;
    system("pause");
}
Shargrath
 Аватар для Shargrath
1 / 1 / 0
Регистрация: 18.01.2009
Сообщений: 87
28.02.2010, 17:00  [ТС]     Матрица #4
работает...но немного "криво" )))
минимум находит не правильно...
а это...попробовал сам переделать что-бы самому в массив числа вводить...не получилось нифига))
с этим рандомом на С++ вообще не знаком..

помогите^^
Shargrath
 Аватар для Shargrath
1 / 1 / 0
Регистрация: 18.01.2009
Сообщений: 87
01.03.2010, 21:05  [ТС]     Матрица #5
помогите с ручным вводом)
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
01.03.2010, 22:36     Матрица #6
строки 34 - 36
C++
1
2
3
for(int i = 0; i < S; i++)
    for(int j = 0; j < V; j++)
        std::cin>>M[i][j];
Yandex
Объявления
01.03.2010, 22:36     Матрица
Ответ Создать тему
Опции темы

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