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

Сформировать матрицу из случайных значений, добавить столбец после столбца, содержащего наибольший элемент - C++

Восстановить пароль Регистрация
 
Agell
0 / 0 / 0
Регистрация: 03.10.2016
Сообщений: 5
14.11.2016, 16:30     Сформировать матрицу из случайных значений, добавить столбец после столбца, содержащего наибольший элемент #1
1. Сформировать динамический двумерный массив, заполнить его случайными числами и вывести на печать.
2. Добавить столбец после столбца, содержащего наибольший элемент
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2016, 16:30     Сформировать матрицу из случайных значений, добавить столбец после столбца, содержащего наибольший элемент
Посмотрите здесь:

После последнего столбца, содержащего только отрицательные элементы, вставить столбец из нулей. C++
После каждого столбца, содержащего число а три раза вставить последний столбец C++
C++ Добавить в матрице строку после строки, содержащей наибольший элемент
Дано матрицу А размером 8x7. Разделить каждый элемент столбца на элемент этого столбца... C++
C++ Динамическая память.Матрица. После каждого столбца, все элементы которого положи-тельные, добавить новый столбец и заполнить его нулями
C++ Сформировать матрицу 11*3 и поменять местами столбец, содержащий минимальный элемент, с первым столбцом
C++ Вставить новый столбец в матрицу после столбца, в котором нет отрицательных

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
darkey
 Аватар для darkey
3 / 3 / 3
Регистрация: 12.09.2016
Сообщений: 7
14.11.2016, 20:28     Сформировать матрицу из случайных значений, добавить столбец после столбца, содержащего наибольший элемент #2
А какие значения должен содержать столбец после столбца?
Agell
0 / 0 / 0
Регистрация: 03.10.2016
Сообщений: 5
14.11.2016, 21:31  [ТС]     Сформировать матрицу из случайных значений, добавить столбец после столбца, содержащего наибольший элемент #3
я так думаю, что рандомные

Добавлено через 6 минут
darkey, я думаю рандомными
darkey
 Аватар для darkey
3 / 3 / 3
Регистрация: 12.09.2016
Сообщений: 7
15.11.2016, 16:37     Сформировать матрицу из случайных значений, добавить столбец после столбца, содержащего наибольший элемент #4
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
#include <iostream>
#include <vector>
#include <stdlib.h> 
using namespace std;
int main(){
    setlocale(LC_ALL, "Rus");
 
    int n, m, i, j;
 
    cout << "Введите количество строк : "; cin >> n;
    cout << "Введите количество столбцов: "; cin >> m;
    
    vector<vector<int>> a(n), b(n); 
 
    for (i = 0; i < n; i++){
        a[i].resize(m);      
        b[i].resize(m+1); 
            for (j = 0; j < m; j++){
                a[i][j] = -100 + rand() % 201;
                cout << "\t" << a[i][j];
            }
            cout << endl;
    }
 
    int index = 0, max = a[0][0];
 
    for (i = 0; i < n; i++){
        for (j = 0; j < m; j++){
            if (a[i][j]>max){
                max = a[i][j];
                index = j;
            }
        }
    }
 
    cout << "\n\t Наибольшее число = " << max << " находится в " << index + 1 << " столбце.\n\n";
 
    for (i = 0; i < n; i++){
        for (j = 0; j < m+1; j++){
            if (j != index+1){
                if (j <= index)
                    b[i][j] = a[i][j];
                else b[i][j] = a[i][j - 1];
            }
            else b[i][j] = 0;       //Заполняю столбец после столбца, пока что нулями, на ваше усмотрение)
            cout << "\t"<<b[i][j];
        }
        cout << endl;
    }
    cout << endl;
    system("pause");
    return 0;
}
Agell
0 / 0 / 0
Регистрация: 03.10.2016
Сообщений: 5
15.11.2016, 18:09  [ТС]     Сформировать матрицу из случайных значений, добавить столбец после столбца, содержащего наибольший элемент #5
[/CPPQT]darkey, а что не так в моей программе?
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
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "rus");
    int m = 2, n, row, column;
    cout << "Введите количество столбцов: " << "\n";
    cin >> n;
 
    int **mas2 = new int*[m];
    for (int count = 0; count < m; count++)
        mas2[count] = new int[n];
    for (row = 0; row < m; row++)
    {
        for (column = 0; column < n; column++)
        {
            mas2[row][column] = rand() % 100 - 50;
            cout << setw(4) << mas2[row][column];
        }
        cout << "\n";
    }
    int max = mas2[0][0], maxk2;
    for (int k1 = 0; k1 < m; k1++)
    {
        for (int k2 = 0; k2 < n; k2++)
        {
            if (mas2[k1][k2] > max)
            {
                max = mas2[k1][k2];
                maxk2 = k2;
            }
 
        }
 
    }
    cout << "Наибольшее число: " << max << " находится в " << maxk2 + 1 << " столбце" << "\n";
    int **mas3 = new int*[m];
    int c = n + 1;
    for (int count = 0; count < m; count++)
        mas3[count] = new int[c];
    for (int nrow = 0; nrow < m; nrow++)
    {
        for (int ncolumn = 0; ncolumn < n + 1; ncolumn++)
        {
            if (ncolumn != maxk2 + 1)
            {
                if (ncolumn <= maxk2)
                    mas3[nrow][ncolumn] = mas2[nrow][ncolumn];
                else mas3[nrow][ncolumn] = mas2[nrow][ncolumn - 1];
            }
            else mas3[nrow][ncolumn] = rand() % 100 - 50;
            cout << mas3[nrow][ncolumn] << " ";
        }
 
        for (int count = 0; count < m; count++)
            delete[] mas3[count];
        delete[] mas3;
    }
 
    system("pause");
    return 0;
}
darkey
 Аватар для darkey
3 / 3 / 3
Регистрация: 12.09.2016
Сообщений: 7
15.11.2016, 19:47     Сформировать матрицу из случайных значений, добавить столбец после столбца, содержащего наибольший элемент #6
Воу, сколько вы переменных много используете. Но дело было в скобках в конце
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
for (int nrow = 0; nrow < m; nrow++)
    {
        for (int ncolumn = 0; ncolumn < n + 1; ncolumn++)
        {
            if (ncolumn != maxk2 + 1)
            {
                if (ncolumn <= maxk2)
                    mas3[nrow][ncolumn] = mas2[nrow][ncolumn];
                else mas3[nrow][ncolumn] = mas2[nrow][ncolumn - 1];
            }
            else mas3[nrow][ncolumn] = rand() % 100 - 50;
            cout << mas3[nrow][ncolumn] << " ";
        }
    }
 
    for (int count = 0; count < m; count++){
        delete[] mas2[count];
        delete[] mas3[count];
    }
        delete[] mas2;
        delete[] mas3;
Yandex
Объявления
15.11.2016, 19:47     Сформировать матрицу из случайных значений, добавить столбец после столбца, содержащего наибольший элемент
Ответ Создать тему
Опции темы

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