Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2014, 20:57   #1
Akika
Пользователь
 
Регистрация: 02.12.2012
Сообщений: 36
По умолчанию С++ Двумерные массивы

Составить программу, которая получает матрицу X[n][m] и если в исходной матрице есть строки и столбцы элементы которых равны 0, то программа уплотняет исходную матрицу влево и вверх, а затем формирует новую матрицу, поменяв местами строки и столбцы. Программа выдает на экран исходную и сформированную матрицу, и сообщение, уплотнялась ли матрица.

Подскажите, пожалуйста, каким образом уплотнить? Теоретически понимаю, что нужно удалить строку или столбец, но не совсем понимаю как.
Akika вне форума Ответить с цитированием
Старый 20.02.2014, 21:18   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

В цикле перенести все, что ниже (правее) на одну позицию вверх (влево). И, соответственно, изменить ширину или высоту матрицы потом.
Son Of Pain вне форума Ответить с цитированием
Старый 21.02.2014, 06:54   #3
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,609
По умолчанию

Примерно так. Не проверял.
Код:
// перенос строк

int f; // флаг равны ли все элементы в строке/столбце нулю
for (i=0, f = 0;i<n;i++, f = 0) // первый цикл по строкам
{
for (j=0;j<m && f = 0;j++) // второй цикл по столбцам
{
if (X[i][j] != 0)
f = 1;
}

// перенос
if (f == 0)
{
for (k = i+1; k< n; k++)
for(l=0; l<m; l++)
X[k-1][l] = X[k][l];
n--;
}

}

// перенос столбцом аналогично в новом цикле (желательно самостоятельно)
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерные массивы, двумерные массивы, строки Sand093 C++ Builder 11 20.05.2012 21:48
Двумерные массивы(матрица) 2)Строковые массивы(строки): 3)Структуры nuriyat Помощь студентам 1 21.01.2012 16:16
Двумерные массивы(массивы указателей на массивы) krytishka99 Помощь студентам 1 29.12.2011 19:51
Двумерные массивы St1mkA Помощь студентам 9 05.04.2010 21:26
двумерные массивы student2009 Паскаль, Turbo Pascal, PascalABC.NET 3 02.06.2009 09:47