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

Представляя строки матрицы, расположить их в соответствии с убыванием характеристик - C++

Восстановить пароль Регистрация
 
xexe73
1 / 1 / 0
Регистрация: 27.09.2012
Сообщений: 22
16.10.2012, 21:47     Представляя строки матрицы, расположить их в соответствии с убыванием характеристик #1
Дана целочисленная прямоугольная матрица.Определите номер первого из столбцов,содержащих хотя бы 1 нулевой элемент.Характеристикой строки назовем сумму её отрицательных четных элементов. Представляя строки заданной матрицы,расположить их в соответствии с убыванием характеристик. Если можно то с коментами по строкам.
С++
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2012, 21:47     Представляя строки матрицы, расположить их в соответствии с убыванием характеристик
Посмотрите здесь:

C++ Расположить столбцы матрицы в соответствии с ростом характеристик
C++ Переставляя строки заданной матрицы, расположить их в соответствии с убыванием характеристик
C++ Переставляя строки заданной матрицы, расположить их соответствии с ростом характеристик.
C++ Представляя строки матрицы, расположить их в соответствии с убыванием характеристик
C++ Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик
C++ Переставляя столбцы заданной матрицы, расположить их в соответствии с убыванием суммы положительных элементов столбца
Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик C++
C++ Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
16.10.2012, 22:49     Представляя строки матрицы, расположить их в соответствии с убыванием характеристик #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
67
68
69
70
#include <iostream>
#include <iomanip>
#include <random>
#include <algorithm>
 
template<typename T, size_t rows, size_t cols>
void swap_rows(T (&matrix)[rows][cols], int row1, int row2)
{
    for (int i = 0; i < cols; i++)
    {
        T buf = matrix[row1][i];
        matrix[row1][i] = matrix[row2][i];
        matrix[row2][i] = buf;
    }
}
 
template<typename T>
void dump_row(const T *arr, int size, const std::streamsize& fieldSize)
{
    for (int i = 0; i < size; i++)
        std::cout << std::setw(fieldSize) << arr[i];
    std::cout.put('\n');
}
 
template<typename T, size_t rows, size_t cols>
void dump_matrix(T (&matrix)[rows][cols], const std::streamsize& fieldSize)
{
    for (int i = 0; i < rows; i++)
        dump_row<T>(matrix[i], cols, fieldSize);
}
 
int main()
{
    const int rows = 4;
    const int cols = 5;
    int matrix[rows][cols];
    std::random_device rd;
    for (int i = 0; i < rows; i++)
        for (int j = 0; j < cols; j++)
            matrix[i][j] = rd() % 21 - 10;
    dump_matrix<int, rows, cols>(matrix, 5);
    int col = -1;
    for (int i = 0; i < cols; i++)
        for (int j = 0; j < rows; j++)
            if (matrix[j][i] == 0)
            {
                col = i;
                break;
            }
 
    int chars[rows] = { 0 };
    int buf;
    for (int i = 0; i < rows; i++)
        for (int j = 0; j < cols; j++)
            if (matrix[i][j] < 0 && matrix[i][j] % 2 == 0)
                chars[i] += matrix[i][j];
            
 
    for (int i = 0; i < rows - 1; i++)
        for (int j = i + 1; j < rows; j++)
            if (chars[i] < chars[j])
            {
                swap_rows<int, rows, cols>(matrix, i, j);
                std::swap(chars[i], chars[j]);
            }
    std::cout << "\nFirst columns with zero: " << col << "\n\n";
    
    dump_matrix<int, rows, cols>(matrix, 5);
    return 0;
}
xexe73
1 / 1 / 0
Регистрация: 27.09.2012
Сообщений: 22
16.10.2012, 23:54  [ТС]     Представляя строки матрицы, расположить их в соответствии с убыванием характеристик #3
Сделай пожалуйста с комментариями по строкам,мне не везде понятно. Буду признателен.
Yandex
Объявления
16.10.2012, 23:54     Представляя строки матрицы, расположить их в соответствии с убыванием характеристик
Ответ Создать тему
Опции темы

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