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

Вставка строки или столбца в матрицу

10.11.2017, 17:12. Показов 903. Ответов 5
Метки нет (Все метки)

Добрый вечер, при выполнении кода консоль вылетает и указывает на 53 строчку, можете подсказать или помочь исправить ошибку. И как лучше реализовать вставку строки или столбца в матрицу. Заранее спасибо.
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
#include "stdafx.h"
#include <iostream>
//#include <vector>
using namespace std;
 
int main()
{
    int n, m, k, e, i, j;
    cout << "Matrix modification\n";
    cout << "Input the number of rows:";
    cin >> n;
    cout << "Input the number of columns:";
    cin >> m;
    int** a = new int *[n];
    for (int i = 0; i < n; ++i)
        a[i] = new int[m];
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            cout << "Input the element # [" << i + 1 << "][" << j + 1 << "]=";
            cin >> a[i][j];
        }
    }
    cout << "Initial matrix:\n";
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
 
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    cout << "Input the operation:\n1.insert\n2.erase";
    cin >> k;
    if (k == 1)
    {
        cout << "Input the operand type: \n1.row\n2.column";
        cin >> e;
        if (e == 1)
        {
            cout << "Input the number of row:";
            cin >> e;
            if (e <= n + 1)
            {
                for (int i = n; i >= n; i--) {
                    for (int j = 0; j < m; j++)
                    {
                        a[i][j] = a[i - 1][j];
                    }
                    for (int j = 0; j < m; j++) {
                        a[n - 1][j];
                        cout << "Input the row:";
                        cin >> a[n - 1][j];
                        n++;
                        cout << a[n - 1][j];
                    }
                }
                for (int i = 0; i < n; i++)
                {
                    for (int j = 0; j < m; j++)
                    {
                        cout << a[i][j] << " ";
                    }
                    cout << endl;
                }
                //else cout << "error";
            }
            else if (e == 2)
            {
                cout << "Input the number of column : ";
                cin >> e;
                if (e <= m + 1)
                {
                    for (int j = m; j >= n; j--)
                        for (int i = 0; i < n; i++)
                            a[i][j] = a[i][j - 1];
                    for (int i = 0; i < n; i++)
                        a[i][n - 1];
                    m++;
                }
                else cout << "error";
            }
            else cout << "error";
        }
        else if (k == 2)
        {
 
        }
        else cout << "error";
        system("pause");
        return 0;
    }
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2017, 17:12
Ответы с готовыми решениями:

Вставка новой строки и столбца в матрицу
Прошу помощи со следующей задачей. Уже замучался :( Даны действительная матрица размеры n*(n + 1),...

Ввести с клавиатуры матрицу размерностью M x N. Вывести исходную матрицу, номер строки или столбца с заданны
Условие: Столбец с минимальным произведением всех нечетных элементов. Поменять местами: Все ...

Добавление строки или столбца в матрицу
1. Написать программу, которая осуществляет добавление строки или столбца в любое место двумерной...

Вставка столбца в матрицу
Помогите, пожалуйста, с программой. Дана целочисленная квадратная матрица размерности nxn....

5
3535 / 2095 / 388
Регистрация: 09.09.2017
Сообщений: 8,629
10.11.2017, 17:23 2
А чего вы хотели этой строкой добиться?
И когда говорите "вылетает и указывает на такую-то строку" прикладывайте описание ошибки.
0
0 / 0 / 0
Регистрация: 09.11.2017
Сообщений: 3
10.11.2017, 17:35  [ТС] 3
Вылезает вот это
Миниатюры
Вставка строки или столбца в матрицу  
0
3535 / 2095 / 388
Регистрация: 09.09.2017
Сообщений: 8,629
10.11.2017, 17:58 4
Достаточно было скопипастить текст ошибки "вызвано исключение из-за доступа в неразрешенную память" а не прикладывать такое вырвиглазие (скриншотом назвать язык не поворачивается. Больше похоже что специально уродовали картинку).
Собственно, в тексте ошибки все сказано. Обычно такое возникает при выходе за пределы массива или попытке доступа по неинициализированному указателю.
Главный вопрос остается в силе: чего вы хотели добиться той строкой?
Или это не ваш код и вы понятия не имеете как им пользоваться и хотите чтобы тут это разжевали?
0
0 / 0 / 0
Регистрация: 09.11.2017
Сообщений: 3
10.11.2017, 18:13  [ТС] 5
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Или это не ваш код и вы понятия не имеете как им пользоваться и хотите чтобы тут это разжевали?
да, я эту тему не поняла, искала материал и натолкнулась на некоторые примеры, один из них представлен в моем коде. Можете подтолкнуть в нужное направление, если нет, то опять буду гуглить и пытаться разобраться с проблемой, но ничего хорошего из этого пока не вышло.

Добавлено через 2 минуты
а можно ли через malloc (если правильно написано) выделить себе память, или что-то такое провернуть?
0
3653 / 2990 / 828
Регистрация: 25.03.2012
Сообщений: 11,026
Записей в блоге: 1
10.11.2017, 18:29 6
Цитата Сообщение от makinka Посмотреть сообщение
for (int i = n; i >= n; i--) {
подумай над этим. Хорошо подумай.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2017, 18:29
Помогаю со студенческими работами здесь

Вставка столбца в матрицу
Как вставить k-ую строку понятно, вот если кому нибудь вдруг понадобитсяx:array{двумерный, данная...

Вставка столбца в динамическую матрицу
Собственно все работало нормально, но когда вставил все в switch, то при добавлении новой колонки...

Common Lisp Вставка столбца в матрицу
Добрый вечер! Пожалуйста, помогите решить задачу на языке Common Lisp! Даны действительные числа...

Вставка строки/столбца в таблицу в произвольном месте
Поискал в гугле, но не нашёл ответа на вопрос. Можно ли вставить новый ряд перед существующим. Я...


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

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

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