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

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

Восстановить пароль Регистрация
 
retnan
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 10
20.11.2013, 16:01     Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик #1
Задание такое:
Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик (характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов).Знаю что это не первая тема по этой задаче, но мне это надо сделать БЕЗ УКАЗАТЕЛЕЙ! Заранее большое спасибо!
P.S. По возможности вместе с кодом пишите краткие комменты, где что выполняется.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 16:01     Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Darthriddikc
10 / 10 / 0
Регистрация: 23.12.2012
Сообщений: 45
20.11.2013, 17:30     Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик #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
#include <iostream>
#include <math.h> // для функции abs, которая выводит модуль числа
using namespace std;
int main()
{
    int arr[5][5]=
    {
        { 1,  5, -2,  4,  0},
        { 0, -2, -9,  8,  2},
        {-2,  9,  2, -7, -2},
        {-5, -1,  4, -5, -4},
        { 7, -3, -1, -6,  1}
    }; // собственно сама матрица
    // sumA - сумма модулей отрицательных нечетных элементов предыдущего столбца; sumB - теущего; temp - временно хранит элемент текущего столбца для будущего переноса в другой
    int sumA=0, sumB=0, temp=0;
    int i, j; // для циклов
    for(j=1; j<5; j++) // счёт столбцов (ничинается с 1 дабы избежать переполнения в будущем)
    {
        for(i=0; i<5; i++) // счёт строк
        {
            if (arr[i][j-1]<0 && arr[i][j-1]%2) // если предыдущий элемент меньше нуля и нечётный
                sumA+=abs(arr[i][j-1]); // то к общей сумме sumA прибавляется этот элемент
            if (arr[i][j]<0 && arr[i][j]%2) // если текущий элемент меньше нуля и нечётный
                sumB+=abs(arr[i][j]); // то к общей сумме sumB прибавляется этот элемент
        }
        if(sumA>sumB) // если сумма модулей предыдущего столбца больше текущего
        {
            for(i=0; i<5; i++) // столбцы меняются элементами
            {
                temp=arr[i][j]; // в temp записывается текущий элемент столбца, чтобы оно "не потерялось"
                arr[i][j]=arr[i][j-1]; // в текущий элемент столбца записывается текущий элемент предыдущего столбца
                arr[i][j-1]=temp; // в текущий элемент предыдущего столбца записывается значение из temp (текущего элемента столбца)
            }
            j=0;// сброс счётчика, чтобы начать заново проверять столбцы по вышенаписанному образу
        }
        sumA=0; //сброс
        sumB=0; //      сумм
    }
    return 0;
}
Yandex
Объявления
20.11.2013, 17:30     Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик
Ответ Создать тему
Опции темы

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