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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.63
VladSharikov
 Аватар для VladSharikov
22 / 22 / 1
Регистрация: 02.12.2010
Сообщений: 824
09.01.2011, 16:24     Удаление строки или столбца из двумерного массива #1
Собственно сабж.
Как это сделать? Есть какие то методы?
Например удалить из массива строку содержащую хоть одну еденицу.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Devioso
4 / 4 / 1
Регистрация: 13.12.2009
Сообщений: 60
09.01.2011, 16:46     Удаление строки или столбца из двумерного массива #2
Можно переписать элементы двумерного массива в новый д/м без строки,которую нужно удалить. Или можно удалить его путем сдвига. Так же видел где-то использование стандартной функции С для удаления(erase( , )).
VladSharikov
 Аватар для VladSharikov
22 / 22 / 1
Регистрация: 02.12.2010
Сообщений: 824
09.01.2011, 17:25  [ТС]     Удаление строки или столбца из двумерного массива #3
Про двумерный массив уже думал.
Не подходит. Не подходит просто потому что не подходит )
с помощью функции erase тоже нет )

Кстати это. А можно поподробнее про метод сдвига???
иван_пропал
36 / 0 / 1
Регистрация: 05.10.2012
Сообщений: 110
11.10.2012, 13:51     Удаление строки или столбца из двумерного массива #4
Вот код как бы для удаления строки, но на самом деле она просто не выводиться на экран.
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
int ydalen(int **matr)//функция удаление строки в двумерном массиве с номером к
{
    int del;
    if(est2==true){  //bool est2 - определяет есть ли массив
    cout<<"Введите элемент для удаления:\n";
    cin>>del;
    
    for (int i=0; i<2; i++)
        for (int j=0; j<m ;j++)
        {   
            if(matr[0][j]==del)
                matr[0][0]=777;
            if (matr[1][j]==del)
                matr[1][0]=777;
        }
 
 
        if(matr[0][0]==777 && matr[1][0]==777)
        {cout<<"Удалены все строки!\n"; est2=false;}
 
        if(matr[0][0]==777 && matr[1][0]!=777){
            for (int i=0; i<2; i++)cout<<"\n";
            for (int j=0; j<m ;j++)
            {
                cout << matr[1][j]  << ' ';
            }cout<<"\n";est2=false;}
        if(matr[0][0]!=777 && matr[1][0]==777){
            for (int i=0; i<2; i++)cout<<"\n";
            for (int j=0; j<m ;j++)
            {
                cout << matr[0][j]  << ' ';
            }cout<<"\n";est2=false;}
 
        if(matr[0][0]!=777 && matr[1][0]!=777) cout<<"Такого элемента в массиве нет\n";
    }
    else{cout<<"Двухмерного массива не существует\n";}
            
 
    return **matr;
 
}
Yandex
Объявления
11.10.2012, 13:51     Удаление строки или столбца из двумерного массива
Ответ Создать тему
Опции темы

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