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

Дана матрица B[N,M] - C++

Восстановить пароль Регистрация
 
mastadont
0 / 0 / 0
Регистрация: 13.03.2010
Сообщений: 40
21.06.2011, 21:31     Дана матрица B[N,M] #1
Дана матрица B[N,M]. Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом строки соответственно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2011, 21:31     Дана матрица B[N,M]
Посмотрите здесь:

C++ Дана матрица A[5,3].
C++ Дана матрица
Дана матрица C++
Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей) C++
Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей) C++
C++ Дана матрица A(N, N)
C++ дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим
Дана матрица(5,6) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
21.06.2011, 22:45     Дана матрица B[N,M] #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
62
63
64
65
66
#include <iostream>
using namespace std;
#define N   4
#define M   5
 
 
 
// индекс максимального элемента
int  max_pos(int* p, int size) {
    int m    = *p, pos = -1;
    for(int i = 0; i < size; i++) {
        if( *((p) + i) >= m) {
            pos = i;
            m    = *((p) + i);
        }
    }
    return pos;
}
 
 
// индекс минимального элемента
int  min_pos(int* p, int size) {
    int m    = *p, pos = -1;
    for(int i = 0; i < size; i++) {
        if( *((p) + i) <= m) {
            pos = i;
            m    = *((p) + i);
        }
    }
    return pos;
}
 
 
 
 
 
 void  main(void){
 
    int B[N][M] = {
        { 1000,  200, 3000, 103, 333  },
        { 7700,  200, 8000, 101, 233  },
        { 3000,  200, 3000, 108, 133  },
        { 4000,  200, 3070, 903, 111  },
    };
 
    int a, b;
    for(int  r = 0; r < N; r++) {
                a  = min_pos(B[r],  M);
                b =  max_pos(B[r], M);
                if(a != -1 && b != -1) {
                int tmp = B[r][a];
                B[r][a] = B[r][b];
                B[r][b] = tmp;
                 }
    }
 
 
    for(int  c = 0; c < N; c++) {
        for(int v = 0; v < M; v++)
                cout << B[c][v] << '\t';
        cout << '\n';
    }
 
    cin.get();
 
}
P.S.
Yandex
Объявления
21.06.2011, 22:45     Дана матрица B[N,M]
Ответ Создать тему
Опции темы

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