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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2011, 17:43   #1
/*Oleh*/
Пользователь
 
Регистрация: 19.02.2011
Сообщений: 19
Восклицание Задано квадратную матрицу

Средства работы с динамической памятью. Динамические массивы
.
Задано квадратную матрицу, все элементы которой равны единице. Написать функцию void func (int ** arr, int n), которая заполняет заштрихованная пиксели (по варианту) нулями. Размер массива вводится с клавиатуры.
...........должен быть треугольник................
............пример..............
0 1 1 1 1
0 0 1 1 1
0 0 0 1 1
0 0 1 1 1
0 1 1 1 1

Последний раз редактировалось /*Oleh*/; 07.03.2011 в 18:08.
/*Oleh*/ вне форума Ответить с цитированием
Старый 07.03.2011, 20:18   #2
ololo-schoolboy
Форумчанин
 
Регистрация: 25.12.2010
Сообщений: 247
По умолчанию

по идее должно получится что-то типа этого(в коде возможны ошибки):
Код:
if(h!=w)
//не квадратная
else
{
if(h%2==0)
w=--h;
m=h/2;
for(int i=0; i<=m; ++i)
for(int j; j<=i; ++j)
arr[i][j]=0;
for(int i=m+1; i<h; ++i)
for(int j=h-i; j>=0; --j)
arr[i][j]=0;
}
еще можно создать флажок и тогда можно с помощью отрицающего или, обойтись двумя циклами

Ой! сори, просто флажок, насчет отрицающего или с сортировкой спутал...

Последний раз редактировалось Stilet; 08.03.2011 в 13:51.
ololo-schoolboy вне форума Ответить с цитированием
Старый 07.03.2011, 23:29   #3
/*Oleh*/
Пользователь
 
Регистрация: 19.02.2011
Сообщений: 19
По умолчанию

я шота невшарив
/*Oleh*/ вне форума Ответить с цитированием
Старый 08.03.2011, 12:06   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
заполняет заштрихованная пиксели
Вкуда нам идти???
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.03.2011, 13:43   #5
/*Oleh*/
Пользователь
 
Регистрация: 19.02.2011
Сообщений: 19
По умолчанию

чево .?..........
/*Oleh*/ вне форума Ответить с цитированием
Старый 08.03.2011, 13:51   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Это я спрашиваю чего.
Что означает часть фразы которую я отделил?
как именно ты пробовал, и что именно тебе не ясно в коде ololo-schoolboy?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.03.2011, 14:09   #7
/*Oleh*/
Пользователь
 
Регистрация: 19.02.2011
Сообщений: 19
По умолчанию

тобто матриця складається з одиничок...
заповняє нулями...первну якусь фігурку ну тіпа того ...мені нада трикутник злів ..!
/*Oleh*/ вне форума Ответить с цитированием
Старый 08.03.2011, 14:40   #8
ololo-schoolboy
Форумчанин
 
Регистрация: 25.12.2010
Сообщений: 247
По умолчанию

я ж предупредил что ошибки могут быть, там в четвертом цикле j=h-i, а h-i-1, так как индексация массивов от нуля

еще можно с флажком двумя циклами и кучей лишних проверок, а как следствие говнокода )

Код:
for(int i=0, flag=1; i>m?(flag=-1)&&(i<h):1; ++i)
	for(int j=flag>0?0:h-i-1; j<=i && j>=0; j+=flag)
		arr[i][j]=0;
ololo-schoolboy вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задано квадратную матрицу /*Oleh*/ Общие вопросы C/C++ 11 08.03.2011 01:18
Задано квадратную матрицу /*Oleh*/ Помощь студентам 5 07.03.2011 18:56
Заполнить квадратную матрицу ac1d_buRn Помощь студентам 3 22.12.2010 19:40
Задача на квадратную матрицу.. Razorishe Помощь студентам 4 17.03.2009 08:52