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

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

Восстановить пароль Регистрация
 
crummy
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 8
04.11.2011, 21:40     Найти количество столбцов матрицы, элементы которых упорядочены по убыванию #1
Matrix43. Дана матрица размера M × N. Найти количество ее столбцов, элемен-ты которых упорядочены по убыванию.
Matrix65. Дана матрица размера M × N. Удалить ее первый столбец, содержа-щий только положительные элементы. Если требуемых столбцов нет, то вывести матрицу без изменений.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2011, 21:40     Найти количество столбцов матрицы, элементы которых упорядочены по убыванию
Посмотрите здесь:

Вычислить количество строк матрицы, элементы которых упорядочены по возрастанию C++
Найти количество строк матрицы, элементы которых упорядочены по возрастанию. C++
Найти и вывести на экран: количество и номера строк, у которых элементы упорядочены по убыванию C++
Найти количество столбцов матрицы, все элементы которых различны. C++
Найти количество строк матрицы, элементы которых упорядочены по возрастанию. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
JEKA_JS
 Аватар для JEKA_JS
20 / 6 / 3
Регистрация: 01.07.2011
Сообщений: 12
04.11.2011, 22:23     Найти количество столбцов матрицы, элементы которых упорядочены по убыванию #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Это снова я.
1)
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int n, m, a[50][50];
    int nmb = 0;
    
    cout << "n = "; cin >> n;
    cout << "m = "; cin >> m;
    
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            cout << "a[" << i << "][" << j << "] = ";
            cin >> a[i][j];
        }
    }
    
    for (int i = 0; i < m; i++)
    {
        bool x = true;
        
        for (int j = 0; j < (n - 1); j++)
        {
            if (a[j][i] < a[j + 1][i])
            {
                x = false;
            }
        }
        
        if (x) nmb++;
    }
    
    cout << nmb << endl;
    
    return 0;
}
Добавлено через 25 минут
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
59
60
61
#include <iostream>
 
using namespace std;
 
int main()
{
    int n, m, a[50][50];
    
    cout << "n = "; cin >> n;
    cout << "m = "; cin >> m;
    
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            cout << "a[" << i << "][" << j << "] = ";
            cin >> a[i][j];
        }
    }
    
    int fs = m;
     
    for (int i = (m - 1); i >= 0; i--)
    {
        bool x = true;
        
        for (int j = (n - 1); j >= 0; j--)
        {
            if (a[j][i] < 0)
            {
                x = false;
            }
        }
        
        if (x) fs = i;
    }
    
    if (fs != m)
    {
        m--;
        
        for (int i = fs; i < m; i++)
        {
            for (int j = 0; j < n; j++)
            {
                a[j][i] = a[j][i + 1];
            }
        }
    }
    
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            cout << a[i][j] << "\t";
        }
        cout << endl;
    }
    
    return 0;
}
crummy
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 8
05.11.2011, 07:59  [ТС]     Найти количество столбцов матрицы, элементы которых упорядочены по убыванию #3
da ty krasav4ik )) spasibo tebe ogromnoe
crummy
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 8
16.11.2011, 18:09  [ТС]     Найти количество столбцов матрицы, элементы которых упорядочены по убыванию #4
JEKA_JS, Привет! не мог бы ты помочь с матрицами обычно пожалуйста) просто оч срочно... буду очень благодарен...

Добавлено через 1 минуту
1.Дана матрица размера M × N. Упорядочить ее строки так, чтобы их первые элементы образовывали возрастающую последовательность.
2.Дана квадратная матрица A порядка M. Найти максимальный элемент для каждой ее диагонали, параллельной побочной (начиная с одноэле-ментной диагонали A1,1).
JEKA_JS
 Аватар для JEKA_JS
20 / 6 / 3
Регистрация: 01.07.2011
Сообщений: 12
17.11.2011, 16:31     Найти количество столбцов матрицы, элементы которых упорядочены по убыванию #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
1) Простой пузырёк.
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int n, m, a[50][50];
 
    cout << "Кол-во строк: "; cin >> n;
    cout << "Кол-во столбцов: "; cin >> m;
 
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            cout << "a[" << i << "][" << j << "] = ";
            cin >> a[i][j];
        }
    }
 
    for (int j = 1; j < n; j++)
    {
        for (int i = 0; i < (n - 1); i++)
        {
            if (a[i][0] > a[i + 1][0])
            {
                for (int k = 0; k < m; k++)
                {
                    int c = a[i][k];
                    a[i][k] = a[i + 1][k];
                    a[i + 1][k] = c;
                }
            }
        }
    }
 
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            cout << a[i][j] << "\t";
        }
 
        cout << endl;
    }
 
    return 0;
}
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
17.11.2011, 17:21     Найти количество столбцов матрицы, элементы которых упорядочены по убыванию #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от crummy Посмотреть сообщение
2.Дана квадратная матрица A порядка M. Найти максимальный элемент для каждой ее диагонали, параллельной побочной (начиная с одноэле-ментной диагонали A1,1).
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int **init(const int m)
{
    int **arr;
    arr = (int**)malloc(m * sizeof(int*));
    if ( !arr )
        exit ( -1 );
    for (int i = 0; i < m; ++i)
        arr[ i ] = (int*)malloc(m * sizeof(int));
    for (int i = 0; i < m; ++i)
        for (int j = 0; j < m; ++j)
            arr[ i ][ j ] = rand() % 30;
    return arr;
}
 
void print_matrix(int **arr, const int m)
{
    for (int i = 0; i < m; ++i)
    {
        puts("");
        for (int j = 0; j < m; ++j)
            printf("%2i ", arr[ i ][ j ]);
    }
    puts("");
    puts("");
}
 
void find_max(int**arr, const int m)
{
    int tmp = 0, n = m - 1, i, j, max;
 
    while (tmp < n)
    {
        i = tmp++; j = 0; max = 0;
        if ( !(i | j) )
        {
            max = arr[ i ][ j ];
            printf("диагональ %d", arr[ i ][ j ]);
            puts("");
        }
        else
        {
            printf("диагональ ");
            while ( i >= 0)
            {
                if (max < arr[ i ][ j ])
                    max = arr[ i ][ j ];
                printf("%2d ", arr[ i ][ j ]);
                --i; ++j;
            }
            puts("");
        }
        printf("max = %d\n", max);
    }
 
    tmp = 1;
    while (tmp <= n)
    {
        i = n; j = tmp++; max = 0;
        if ( (i == n) & (j == n) )
        {
            max = arr[ i ][ j ];
            printf("диагональ %d", arr[ i ][ j ]);
            puts("");
        }
        else
        {
            printf("диагональ ");
            while ( j < m)
            {
                if (max < arr[ i ][ j ]);
                    max = arr[ i ][ j ];
                printf("%2d ", arr[ i ][ j ]);
                --i; ++j;
            }
            puts("");
        }
        printf("max = %d\n", max);
    }
}
 
void free_matrix(int **arr, const int m)
{
    for (int i = 0; i < m; ++i)
        free(arr[ i ]);
    free(arr);
}
 
int main(void)
{
    const int M = 6;
    int **matr;
 
    matr = init(M);
    print_matrix(matr, M);
    find_max(matr, M);
    free_matrix(matr, M);
 
    return 0;
}
crummy
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 8
17.11.2011, 18:25  [ТС]     Найти количество столбцов матрицы, элементы которых упорядочены по убыванию #7
spasibo)no eto zhe kod c) a mozhno na c++? budu blagodaren)
JEKA_JS
 Аватар для JEKA_JS
20 / 6 / 3
Регистрация: 01.07.2011
Сообщений: 12
17.11.2011, 18:25     Найти количество столбцов матрицы, элементы которых упорядочены по убыванию #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int m, a[50][50];
 
    cout << "Порядок матрицы: "; cin >> m;
 
    for (int i = 0; i < m; i++)
    {
        for (int j = 0; j < m; j++)
        {
            cout << "a[" << i << "][" << j << "] = ";
            cin >> a[i][j];
        }
    }
 
    for (int i = 0; i < (2 * m - 1); i++)
    {
        int t = (i < (m - 1)) ? i : (m - 1);
        int max = a[t][i - t];
 
        for (int j = (i - t); j <= t; j++)
        {
            if (a[i - j][j] > max)
            {
                max = a[i - j][j];
            }
        }
 
        cout << "Максимум " << (i + 1) << "й диагонали = " << max << endl;
    }
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2011, 19:06     Найти количество столбцов матрицы, элементы которых упорядочены по убыванию
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
17.11.2011, 19:06     Найти количество столбцов матрицы, элементы которых упорядочены по убыванию #9
JEKA_JS,
Yandex
Объявления
17.11.2011, 19:06     Найти количество столбцов матрицы, элементы которых упорядочены по убыванию
Ответ Создать тему
Опции темы

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