Форум программистов, компьютерный форум, киберфорум
Наши страницы

Заменить все столбцы на столбец с минимальной суммой элементов (Класс) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ вызов метода у указателя на указатель на класс http://www.cyberforum.ru/cpp-beginners/thread785423.html
Доброго времени суток! Простите за, возможно, глупый вопрос и/или его неточную формулировку, но вот что есть: class parent { public: int smth; virtual void method () = 0; }
C++ Программа Пентамино Я написал рабочий код программы Пентамино, программа находит все решения по размещению 12 фигурок в область 60 клеток. Как ее улучшить работает медленно. Вот код: #include <iostream> #include... http://www.cyberforum.ru/cpp-beginners/thread785401.html
C++ error C2078: слишком много инициализаторов при создании массива
Создаю текстовый массив. Выдает ошибку "error C2078: слишком много инициализаторов". При создании Int массива все нормально, а при создании екстового валит ошибку ( error C2078: слишком много...
C++ Исправьте массив
Решение проблемы нашел. Удалите тему пожалуйста.
C++ Использование оператора fgets http://www.cyberforum.ru/cpp-beginners/thread785373.html
Помогите решить задачу, пожалуйста, с использованием функции fgets. В командной строке программе передаются два числа. Из файла с текстом своей программы выполнить чтение соответствующих строк,...
C++ Стек (связный список). Нужно ли проверять на пустоту? Всем добра, у меня к Вам есть парочка вопросов о стеке, буду благодарен за помощь. Передо мной стояла задача: 1) Инициализировать стек; 2) Заполнить его значениями; 3) Добавить одно значение,... подробнее

Показать сообщение отдельно
kuli4ok
32 / 32 / 3
Регистрация: 10.10.2012
Сообщений: 88
13.02.2013, 14:46
Если правильно понял задание, то так:
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
class matrix
{
private:
    int ** mass;
    int n;
    int m;
public:
    matrix(int _n, int _m)
    {
        n = _n;
        m = _m;
        mass = new int*[n];
        for(int i=0; i<n; i++)
            mass[i] = new int[m];
    }
    ~matrix()
    {
        for(int i=0; i<n; i++)
            delete [] mass[i];
        delete [] mass;
    }
    matrix(const matrix& rhs)
    {
        n = rhs.n;
        m = rhs.m;
        mass = new int*[n];
        for(int i=0; i<n; i++)
            mass[i] = new int[m];
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<n; j++)
                mass[i][j] = rhs.mass[i][j];
        }
    }
    void show()
    {
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<m; j++)
            {
                cout << mass[i][j] << " ";
            }
            cout << "\n";
        }
    }
 
    void get_random(int l)
    {
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<m; j++)
            {
                mass[i][j] = rand()%l;
            }
        }
    }
    void get_user()
    {
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<m; j++)
            {
                cout << "Введите mass[" << i << "][" << j << ": ";
                cin >> mass[i][j];
            }
        }
    }
    int sum(int _m)
    {
        int res = 0;
        for(int i=0; i<n; i++)
        {
            res = res + mass[n-1][_m];
        }
        return res;
    }
    int min_sum()
    {
        int m_save;
        for(int i=1; i<m; i++)
        {
            if(sum(i)<sum(i-1))
                m_save = i;
        }
        return m_save;
    }
    void replacement(int min_m)
    {
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<m; j++)
            {
                if(j == min_m)
                    continue;
                mass[i][j] = mass[i][min_m];
            }
        }
    }
};
 
int main()
{
    srand(time(0));
    int n, m;
    cout << "Введите количество строк и столбцов в матрице через пробел: ";
    cin >> n >> m;
    cout << "Каким методом хотите заполнить матрицу?\n1. Случайными числами\n0. С клавиатуры\nНомер: ";
    int choose;
    cin >> choose;
    matrix mass(n, m);
    if(choose == 1)
    {
        cout << "Укажите одним числом максимально возможное случайное число: ";
        cin >> m;
        mass.get_random(m);
    }
    else
        mass.get_user();
    cout << "Матрица до замены: \n";
    mass.show();
    mass.replacement(mass.min_sum());
    cout << "Матрица после замены: \n";
    mass.show();
    return 0;
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru