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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2010, 23:14   #1
Assasin92
 
Регистрация: 30.10.2010
Сообщений: 7
Сообщение Выделение динамической памяти под правый треугольник квадратной матрицы

Никак не могу выделить память под ПРАВЫЙ треугольник. Например, как на рисунке:

С левым проблем нет:
Код:
#include <iostream>
using namespace std;
void main()
{
	const int M=5;
	int **mas,i,j;
	mas=new int*[M];
	for (i=0;i<M;++i)
		mas[i]=new int[M]; //Выделение памяти левым треугольником
	for (i=0;i<M;++i)
	{
		for (j=0;j<=i;++j,++k)
		{
			mas[i][j]=k;
			cout<<mas[i][j]<<"\t";
			if (j==i) cout<<"\n";
		}
	}
	for (i=0;i<M;++i)
		delete []mas[i];
	delete []mas;
}
Можно, конечно, создать левый треугольник и вывести в консоли как правый, но преподаватель может раскусить.

Есть идея создать квадратную матрицу и удалить левый треугольник, но не знаю, как можно удалить отдельный элемент массива, а не всю строчку сразу.

P. S. Мне бы два варианта: через new и через malloc.
Assasin92 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое выделение памяти под массив объектов со специализированным конструктором capta1n Общие вопросы C/C++ 6 07.03.2010 16:01
Проблема выделения динамической памяти в С++ oxygen90 Помощь студентам 3 14.09.2009 21:47
динамически выделить память под верхний треугольник квадратной матрицы juventine Общие вопросы C/C++ 2 12.04.2009 13:06
динамическое выделение памяти под верхний треугольник квадратной матрицы juventine Помощь студентам 2 12.04.2009 13:02
Динамическое выделение памяти под массивы Артем125 Общие вопросы C/C++ 4 07.04.2009 09:52