-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
1

Двумерный динамический Массивы с++

09.08.2017, 15:28. Показов 382. Ответов 5
Метки нет (Все метки)

Помогите пожалуйста найти ошибку
программа должна вставить строку после номера строки которой введет пользователь
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<iomanip>
#include <windows.h>
using namespace std;
 
void Stolbic(int**Ar, int &n, int m,int ind_sr){
    int *temp = new int [n+1];
 
    for (int i = 0; i < n;i++)
    {
        
 
        for (int j = 0; j < m; j++){
            if (i < ind_sr)
                temp[i] = Ar[i][j];
            else if (i == ind_sr)
                temp[i] = rand() % 99;
            else
                temp[i] = Ar[i][j - 1];
            delete Ar[i];
            Ar[i] = temp;
 
        }
    }
    
}
 
void main()
{
    setlocale(LC_ALL, "");
    srand(time(0));
    int n, m, in = 0;
    cin >> n >> m>>in;
    int ** Ar = new int*[n];
    for (int i = 0; i < n; i++)
    {
        Ar[i] = new int[m];
        for (int j = 0; j < m; j++)
            cout << (Ar[i][j] = rand() % 99) << ' ';
        cout << endl;
    }
    Stolbic(Ar, n, m, in);
    
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
            cout << Ar[i][j]  << ' ';
        cout << endl;
delete[]Ar;
    }
 
    system("pause");
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.08.2017, 15:28
Ответы с готовыми решениями:

Двумерный динамический массив
Здравствуйте, подскажите пожалуйста где ошибка? реализовал 2 фукнции ввода и вывода массива....

Двумерный динамический массив
Необходимо ввести с клавиатуры количество строк и столбцов массива(матрица размером N*M), ввести...

Динамический двумерный массив
Здравствуйте, начал недавно учить с++, смотрю видеоуроки. Дошел до этой темы и столкнулся с...

Двумерный Динамический массив
Здравствуйте, такая проблема: не могу задать int** и char**...проблема в том что в функцию...

5
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
09.08.2017, 15:40  [ТС] 2
вот что выходит
Миниатюры
Двумерный динамический Массивы  с++  
0
1011 / 890 / 314
Регистрация: 27.07.2012
Сообщений: 2,485
09.08.2017, 15:48 3
Логика совершенно не понятна.

Примерный план действий такой:
1) создаём массив m x n, заполняем, выводим на экран
2) пользователь вводит № строки, после которой надо вставить ещё строку.
3) создаём новый массив (m + 1) x n
4) копируем в него строки из первоначального массива (просто строки, не поэлементно)
до строки с введённым номером
5) следующую за этим строку заполняем
6) копируем в массив оставшиеся строки (с учётом, что от предыдущего копирования индекс строки
должен увеличится на 2)
7) выводим новый массив на экран
1
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
09.08.2017, 15:57  [ТС] 4
John Prick, ) копируем в массив оставшиеся строки (с учётом, что от предыдущего копирования индекс строки
должен увеличится на 2 Можете это объясить

Добавлено через 6 минут
4) копируем в него строки из первоначального массива (просто строки, не поэлементно)
до строки с введённой
temp[i] = Ar[i];?
0
1011 / 890 / 314
Регистрация: 27.07.2012
Сообщений: 2,485
09.08.2017, 16:19 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int ** arr = new int*[m];
// тут заполнение и вывод на экран
int k;
cin >> k; // ввели номер строки
 
int ** new_arr = new int*[m + 1]; // строк будет больше на 1
int i = 0;
for (; i < k; ++i)
    new_arr[i] = arr[i]; // копируем строки
new_arr[i] = new int[n]; // создали новую строку
// заполнили её тут
++i; // увеличили счётчик на 1, так как строка была добавлена
for(; i < m + 1; ++i)
    new_arr[i] = arr[i - 1]; // копируем оставшееся
// выводим new_arr на экран
0
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
09.08.2017, 16:24  [ТС] 6
John Prick, большое спасибо
попробую исправить
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.08.2017, 16:24

Двумерный динамический массив
Выскакивает ошибка Ошибка C2440 =: невозможно преобразовать &quot;int *&quot; в &quot;int...

Динамический двумерный массив
Если число находится в интервале от 100 до 110, то используя подпрограмму, в матрицах Р(N,M),...

Динамический двумерный вещественный массив
помогите, пожалуйста создать динамический двумерный вещественный массив :help:

Двумерный динамический массив структур
Q **Mas = new Q*; //points for(int i=0; i&lt;size; i++) { Mas = new Q; } while(t&lt;k) {...


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

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

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