0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 8
1

Для каждого из столбцов матрицы выполнить следующее: если сумма элементов столбца не равна нулю, то заменить значения

04.06.2013, 16:44. Показов 1403. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста решить

Элементами матрицы MxN могут быть только числа -1, 0 или 1. Для каждого из столбцов матрицы выполнить следующее: если сумма элементов столбца не равна нулю,
то заменить значения +1 на -1(или наоборот) таким образом, чтобы указанная сумма как можно меньше отличалась от нуля.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2013, 16:44
Ответы с готовыми решениями:

Блок-схема. произведение ненулевых элементов каждого столбца матрицы В(5,12). Полученные значения вывести, указав номера столбцов
var b:array of integer; a:array of integer; i,j:integer; begin randomize; for...

Для матрицы из 2 строк и 9 столбцов отпечатать среднее арифметическое элементов каждого столбца
Для матрицы из 2 строк и 9 столбцов отпечатать среднее арифметическое элементов каждого столбца, в...

Если сумма индексов элементов матрицы, расположенных ниже главной диагонали, равна минимальному элементу для всей матрицы, вывести "да"
Дана квадратная матрица А порядка N, состоящая из натуральных чисел. Если сумма индексов каких-либо...

Найти номера столбцов матрицы, сумма элементов которых равна 10
Помогите пожалуйста. Дана целая матрица размером mxn. Найти номера столбцов, сумма элементов...

2
190 / 160 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
04.06.2013, 17:27 2
Лучший ответ Сообщение было отмечено kobets как решение

Решение

Цитата Сообщение от kobets Посмотреть сообщение
Помогите пожалуйста решить

Элементами матрицы MxN могут быть только числа -1, 0 или 1. Для каждого из столбцов матрицы выполнить следующее: если сумма элементов столбца не равна нулю,
то заменить значения +1 на -1(или наоборот) таким образом, чтобы указанная сумма как можно меньше отличалась от нуля.
Вот код. Если сумма элементов столбца четная, то сумма итогового столбца будет равна 0. Если не четная - итоговая будет 1 || -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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
 
void matrixChange(int [][10], int, int);
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    const int row = 15, column = 10;
    int matrix[row][column];
    int checkSum = 0;
 
    srand(time(NULL));
    cout << "Исходная матрица: " << endl;
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < column; j++)
        {
            matrix[i][j] = 1 - rand() % 3;
            cout << setw(3) << matrix[i][j];
        }
        cout << endl;
    }
 
    for (int i = 0; i < column; i++)
    {
        checkSum = 0;
        for (int j = 0; j < row; j++)
        {
            checkSum += matrix[j][i];
            if (j == row - 1 && checkSum != 0)
                matrixChange(matrix, checkSum, i);
        }
    }
 
    cout << "Итоговая матрица: " << endl;
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < column; j++)
            cout << setw(3) << matrix[i][j];
 
        cout << endl;
    }
 
    system("pause");
    return 0;
}
 
 
void matrixChange(int m[][10], int sum, int col)
{
    sum /= 2;
    if (sum > 0)
        for (sum; sum > 0; sum--)
            for (int i = 0; i < 15; i++)
                if (m[i][col] == 1)
                {
                    m[i][col] = -1;
                    break;
                }
                
    if (sum < 0)
        for (sum; sum < 0; sum++)
            for (int i = 0; i < 15; i++)
                if (m[i][col] == -1)
                {
                    m[i][col] = 1;
                    break;
                }
 
}
1
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 8
05.06.2013, 15:55  [ТС] 3
Спасибо, огромное! Все ок!))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2013, 15:55
Помогаю со студенческими работами здесь

Если сумма индексов каких-либо двух элементов матрицы, расположенных ниже главной диагонали, равна минимальному элементу матрицы, то..
Дана квадратная матрица А порядка N, состоящая из натуральных чисел. Если сумма индексов каких-либо...

Сортировка столбцов матрицы в порядке возрастания минимальных элементов каждого столбца
Необходимо реализовать функционал для сортировки столбцов динамического двумерного массива в...

Максимум каждого столбца матрицы заменить значением суммы кратных трем элементов всей матрицы. +2 задачи.
Ребят помогите пожалуйста с задачами. Новичок в этом деле... Заранее спасибо! 1. Ввести матрицу...

Для заданной квадратной целочисленной матрицы получить индексы каждого отрицательного элемента.Заменить нулями значения элементов
Помогите пожалуйста решить эту задачку. Для заданной квадратной целочисленной матрицы получить...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru