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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Agell
0 / 0 / 0
Регистрация: 03.10.2016
Сообщений: 9
#1

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

14.11.2016, 16:30. Просмотров 295. Ответов 5
Метки нет (Все метки)

1. Сформировать динамический двумерный массив, заполнить его случайными числами и вывести на печать.
2. Добавить столбец после столбца, содержащего наибольший элемент
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2016, 16:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сформировать матрицу из случайных значений, добавить столбец после столбца, содержащего наибольший элемент (C++):

Добавить столбец после столбца, в котором содержится наибольший элемент - C++
Скажите, что не так с кодом. Компилятор ругается на j в основной функции //pr_6 Добавить столбец после столбца, в котором содержится...

После каждого столбца, содержащего число а три раза вставить последний столбец - C++
Например а=4 3 4 9 3 4 8 3 7 3 5 3 5 5 2 2 4 5 6 4 2 4 2 4 4 5 4 4 2 преобразовать в 3 4 3 9 3 4 3 8 3 7 3 2 5 3 5...

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

Вставить новый столбец в матрицу после столбца, в котором нет отрицательных - C++
Вставить новый столбец после столбца, в котором нет ни одного отрицательного элемента. Вот, что сделала я. Но у меня программа не...

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

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

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

Добавлено через 6 минут
darkey, я думаю рандомными
0
darkey
4 / 4 / 3
Регистрация: 12.09.2016
Сообщений: 10
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;
}
1
Agell
0 / 0 / 0
Регистрация: 03.10.2016
Сообщений: 9
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;
}
0
darkey
4 / 4 / 3
Регистрация: 12.09.2016
Сообщений: 10
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;
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2016, 19:47
Привет! Вот еще темы с ответами:

Динамическая память.Матрица. После каждого столбца, все элементы которого положи-тельные, добавить новый столбец и заполнить его нулями - C++
Напишите пожалуйста программу. Условие - в программе не должно быть никаких квадратных скобок . Как выполнить без массива понятия не имею....

Дано матрицу А размером 8x7. Разделить каждый элемент столбца на элемент этого столбца... - C++
Дано матрицу А размером 8x7. разделить каждый элемент столбца на элемент этого столбца, который находится на главной диагонали, если этот...

Добавить в матрицу строку после строки, в которой находится максимальный элемент - C++
Всем привет! Пожалуйста, поправьте код, почему то я сейчас не замечаю ошибки.. Задание:Добавить рядок, после рядка в котором находиться...

Найти наибольший элемент и выбросить из матрицы строку и столбец, на пересечении которых стоит этот элемент - C++
Дан массив mxn. Найти наибольший элемент и выбросить из массива строку и столбец на пересечении которых стоит этот элемент.


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
15.11.2016, 19:47
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru