Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 8

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

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

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста решить

Элементами матрицы MxN могут быть только числа -1, 0 или 1. Для каждого из столбцов матрицы выполнить следующее: если сумма элементов столбца не равна нулю,
то заменить значения +1 на -1(или наоборот) таким образом, чтобы указанная сумма как можно меньше отличалась от нуля.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.06.2013, 16:44
Ответы с готовыми решениями:

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

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

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

2
 Аватар для Мимино
191 / 161 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
04.06.2013, 17:27
Лучший ответ Сообщение было отмечено 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  [ТС]
Спасибо, огромное! Все ок!))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.06.2013, 15:55
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru