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

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

Войти
Регистрация
Восстановить пароль
 
senderlender
5 / 5 / 1
Регистрация: 03.12.2013
Сообщений: 50
#1

Добавление строки в двумерный массив - C++

16.03.2014, 20:01. Просмотров 425. Ответов 3
Метки нет (Все метки)

Ребят, уже неделю мучаюсь, не могу добавить в двумерный динамический массив строку, без использования векторов и т.д. Чисто на циклах, дополнительных массивах, и функций new и delete.

Вот к примеру есть заполненный массив массив:

C++
1
2
3
4
5
6
7
8
int **mass = new int* [height];
    for(int i=0; i<height; i++)
        mass[i] = new int [mass_size[i]];
 
    for(int i=0; i<height; i++)
        for(int j=0; j<mass_size[i]; j++)
            cin>>mass[i][j];
    cout<<endl;
Я думал добавить строку приблизительно так, не обращайте внимания на функцию зеркала и условного оператора:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for(int i=0; i<height; i++)
    {
        if(func_mirror(mass[i], mass_size[i])==false)
        {
            mass[height+1] = new int [mass_size[i]];
            for(int j=0; j<mass_size[i]; j++)
                mass[height+1][j]=mass[i][mass_size[i]-j];
            for(int j=1; j<i; j++)
            {
                int *mass_memory = new int [200];
                mass_memory=mass[height+1-j];
                mass[height+1-j]=mass[height+2-j];
                mass[height+2-j]=mass_memory;
                delete []mass_memory;
            }
        }
    }
Но я вылетает ошибка обращения к адресу и дебагере всякий мусор, а не то что нужно, прошу ну очень помочь. Заранее благодарю.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2014, 20:01     Добавление строки в двумерный массив
Посмотрите здесь:

двумерный массив классы строки C++
C++ Добавление строки в двумерный динамический массив (исправить ошибки)
C++ Дан двумерный массив. Поменять местами 1 и 3 строки
Добавление элементов в динамический двумерный массив C++
Задача на добавление строки в массив C++
C++ Добавление строки в массив
C++ Добавление строки в массив
Добавление столбца в двумерный массив C++
Двумерный массив: поменять местами две строки C++
C++ Двумерный массив, сумма строки
Добавление данных в двумерный массив из файла C++
C++ Двумерный массив. Удалить строки с нулевыми элементами

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AGS17
7 / 5 / 1
Регистрация: 03.11.2012
Сообщений: 74
16.03.2014, 20:08     Добавление строки в двумерный массив #2
Не совсем понял, что требуется сделать. И если требуется ввести строку, то почему массив int?
senderlender
5 / 5 / 1
Регистрация: 03.12.2013
Сообщений: 50
16.03.2014, 20:24  [ТС]     Добавление строки в двумерный массив #3
Вот например есть массив из 5 строк, а нужно в конец добавить шестую.

Добавлено через 1 минуту
Я попытался сделать это и заполнить эту строку вот так:

C++
1
2
3
 mass[height+1] = new int [mass_size[i]];
            for(int j=0; j<mass_size[i]; j++)
                mass[height+1][j]=mass[i][mass_size[i]-j];
zss
Модератор
Эксперт С++
 Аватар для zss
6129 / 5732 / 1854
Регистрация: 18.12.2011
Сообщений: 14,651
Завершенные тесты: 1
16.03.2014, 20:30     Добавление строки в двумерный массив #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Можно так
C++
1
2
3
4
5
6
int **massnew = new int* [height+1];// создаем новый массив указателеей
    for(int i=0; i<height; i++)
        massnew[i] = mass[i]; // копируем старые указатели в начало массива
    delete[] mass; // больше не нужен
    mass=massnew; // переобозначаем
   mass[height] = new int [mass_size[height-1]]; // добавляем новую строку
Yandex
Объявления
16.03.2014, 20:30     Добавление строки в двумерный массив
Ответ Создать тему
Опции темы

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