С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
datafile4
35 / 35 / 2
Регистрация: 26.02.2013
Сообщений: 176
#1

Удаление строки в двумерном массиве - C++

06.08.2014, 20:46. Просмотров 855. Ответов 5
Метки нет (Все метки)

Как удалить строку в двумерном массиве ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2014, 20:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление строки в двумерном массиве (C++):

удаление строк в двумерном массиве - C++
подскажите, пожалуйста, как поправить код, чтобы он удалял строки, в которых есть хотя бы 1 нулевой элемент, пока что обнуляются вообще все...

Удаление нулевого стобца в двумерном массиве - C++
Дана целочисленная матрица из n строк и m столбцов (1<n<=100, 1<m<=50). Задача — удалить каждый нулевой столбец и вывести...

Удаление столбца в двумерном динамическом массиве - C++
Необходимо удалить столбец, содержащий хотя бы один ноль, из двумерного динамического массива.(матрица) Кода нет, так как выходит ерунда.

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

Строки в двумерном массиве - C++
Здравствуйте! Хочу прояснить некоторые моменты по работе с двумерным массивом. Достичь хочу следующего: есть строки с фразами string...

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

5
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,536
06.08.2014, 20:55 #2
Сместить другие строки на одну. Соседняя занимает место "удаленной".
0
zss
Модератор
Эксперт С++
6580 / 6142 / 2024
Регистрация: 18.12.2011
Сообщений: 16,014
Завершенные тесты: 1
06.08.2014, 21:16 #3
Если двумерный массив динамический, то можно просто переставить указатели.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int** a;
a=new int*[5]; // указатели на 5 строк
for(int i=0;i<5;i++)
{
    a[i]=new int[10]; // 10 столбцов
    for(j=0;j<10;j++)
              a[i][j]=i+j;
}
delete[] a[1];// 1 строка удаляется
for(int i=1;i<4;i++)
              a[i]=a[i+1];// сдвигаем указатели
for(int i=0;i<4;i++)
{
    for(j=0;j<10;j++)
              cout<<a[i][j]<<" ";
   cout<<endl;
}
for(int i=0;i<4;i++)
  delete[] a[i];
delete[] a;
0
SatanaXIII
Супер-модератор
Эксперт С++
5643 / 2678 / 252
Регистрация: 01.11.2011
Сообщений: 6,574
Завершенные тесты: 1
07.08.2014, 10:50 #4
Цитата Сообщение от Vourhey Посмотреть сообщение
Сместить другие строки на одну.
И последнюю удалить. И размерность декрементировать.
1
datafile4
35 / 35 / 2
Регистрация: 26.02.2013
Сообщений: 176
08.08.2014, 13:29  [ТС] #5
И последнюю удалить. И размерность декрементировать.
Можете пояснить на примере ?
0
SatanaXIII
Супер-модератор
Эксперт С++
5643 / 2678 / 252
Регистрация: 01.11.2011
Сообщений: 6,574
Завершенные тесты: 1
08.08.2014, 14:00 #6
Цитата Сообщение от datafile4 Посмотреть сообщение
Можете пояснить на примере ?
Вот представим себе, что пальцы человеческой руки это массив из пяти элементов. Теперь мы хотим удалить элемент из середины массива. Отрубаем средний палец. Но у нас образовалась дырка между указательным и безымянным. И мы, считая, с помощью загибания пальцев, до пяти, будем все время ошибаться, загибая фантомный средний палец. Чтобы такого не происходило, мы должны как-то закрыть эту дырку, чтобы пальцы снова шли подряд. По этому мы отрубаем безымянный палец и пришиваем его на место среднего. Мизинец же мы, отрубив, переставляем на место безымянного. В итоге, хоть у нас и снизился максимальный предел, но мы уже не собьемся со счета.
Стандартный подход C++ диктует нам, что о последнем недостающем пальце нужно забыть. Дескать, все равно он не используется. Но часто бывает, что память в мозгу уже выделена под воспоминания о мизинце, и при счете с загибанием пальцев мы можем попытаться загнуть фантомный палец. Это может привести к непредсказуемым последствиям. Если мы хотим точно избежать подобных явлений, то мы идем к фантомасу, который гипнотизирует нас и удаляет из нашей памяти воспоминания о мизинце. И смещает воспоминания о нем на безымянный палец. Таким образом получается, что мы как бы и всегда имели четыре пальца, а не пять, и это для нас совершенно естественно. Следовательно мы больше не попадем в эту ловушку, и будем прекрасно считать до четырех.
2
08.08.2014, 14:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2014, 14:00
Привет! Вот еще темы с ответами:

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

Найти минимальный элемент строки в двумерном массиве - C++
как найти минимальный элемент строки в двумерном массиве

Сумма элементов строки в двумерном массиве до нуля - C++
Доброе утро. У меня есть основной код, который ищет максимальную сумму в строке матрицы. И выводит индекс строчки. Но вот суммировать...

Как переставить строки в динамическом двумерном массиве? - C++
Нужно было написать программу, которая переставляет строки матрицы так, чтобы значения в столбце K шли в порядке убывания. и обязательно...


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

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

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