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

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

Восстановить пароль Регистрация
 
senderlender
5 / 5 / 1
Регистрация: 03.12.2013
Сообщений: 50
16.03.2014, 20:01     Добавление строки в двумерный массив #1
Ребят, уже неделю мучаюсь, не могу добавить в двумерный динамический массив строку, без использования векторов и т.д. Чисто на циклах, дополнительных массивах, и функций 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)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,170
Завершенные тесты: 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     Добавление строки в двумерный массив
Ответ Создать тему
Опции темы

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