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

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

Войти
Регистрация
Восстановить пароль
 
LilyRose
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 14
#1

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

21.12.2010, 20:27. Просмотров 1013. Ответов 1
Метки нет (Все метки)

Помогите с лабой пожалуйста!!!
нужно удалить строку в двумерном массиве, если в ней встречается хотя бы один отрицательный элемент.

главный cpp:

#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
int i,j,n,m,v;
double **a,**b;
cout<<"Input n,m ";
cin>>n>>m;
if (n>0)
{
if (m>0)
{

a=new double *[n];
b=new double *[n];
for(i=0;i<n;i++)
{
a[i]=new double[m];
}
for (i=0;i<n;i++)
for (j=0;j<m;j++)
cin>>a[i][j];

cout<<"Matr"<<endl;
for (i=0;i<n;i++)
{
for (j=0;j<m;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
//обращение
ydalenie(a,b,n,m);
// вывод b
for(i=0;i<n;i++)
{cout<<"b["<<i<<"]="<<b[i]<<endl;}
delete []b;

for(i=0;i<n;i++)
delete[]a[i];
delete [] a;

}
}



cin>>i;
return 0;
}

новый cpp:
вот тут вообще бред..

#include "stdafx.h"


void ydalenie(double **a,double **b, int n,int m)
{int i,j;
for (i=0;i<n;i++)
{

if(b[i][j]<0)
{
for (j=0;j<m-1;j++)
{
a[i-1][j]=b[i][j];
}
}
}
}

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

Удалить строку из двумерного массива и проверить упорядоченность в С - C++
Дан двумерный массив и нужно удалить упорядоченную строку с минимальным номером. Вопрос такой: как удалить строку из двумерного массива в С...

Как удалить нужную i-строку и j-столбец из двумерного массива? - C++
Как удалить нужную i-строку и j-столбец из двумерного массива?

Из двумерного массива удалить строку и столбец на пересечении которых находится минимальный элемент - C++
Из двумерного массива удалить строку и столбец на пересечении которых находится минимальный элемент

Как удалить строку/столбец из двумерного вектора? - C++
Прошу помощи. До самого не доходит. Имеем вектор v . std::vector&lt;std::vector&lt;int&gt; &gt; v( N, std::vector&lt;int&gt;M); Как с помощью функции...

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

1. Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с отрицательными э - C++
1. Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
21.12.2010, 21:31 #2
проходим по строке, если встречаем отрицательный элемент - переписываем все оставшиеся строки на одну вверх, замещая текущую строку:
Код
1  1  2  3        1  1  2  3
4 -1  4  1   =>   1  8  1  1
1  8  1  1        5  2  3  5
5  2  3  5
я бы сделал, чтобы функция возвращала новое количество строк получившейся матрицы.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int deleterow(int **A, int m, int n)  // для матрицы m на n.
{
    for (int i = 0; i < m; ++i) {
        for (int j = 0; j < n; ++j) {
            if (A[i][j] < 0) {
                for (int k = i; k < m - 1; ++k) {
                    for (int z = 0; z < n; ++z) {
                         A[k][z] = A[k+1][z];
                    }
                }
                --m;
                --i;
            }
        }
    }
    return m;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2010, 21:31
Привет! Вот еще темы с ответами:

Удалить столбец двумерного массива с++ - C++
Задача: удалить столбец двумерного динамического массива с++. Можно указать номер столбца, можно не указывать. Помогите, пожалуйста.

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

Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с отрицательными элем - C++
Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с...

Удалить все нечётные строки двумерного массива - C++
Задан двумерный массив чисел. Требуется написать программу: 1. Удалить все нечётные строки двумерного массива. 2. После той строки,...


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

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

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