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

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

Войти
Регистрация
Восстановить пароль
 
AVeeBeaT
1098 / 12 / 0
Регистрация: 24.12.2009
Сообщений: 18
#1

Динамическое распределение памяти - C++

24.01.2010, 17:12. Просмотров 730. Ответов 3
Метки нет (Все метки)

Добрый вечер, помогите пожалуйста разобраться с задачкой!!! Дана действительная квадратная матрица порядка 2n. Получить новую матрицу, переставляя ее блоки размера nxn??? Буду рад любой помощи!!!
0
Изображения
 
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2010, 17:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамическое распределение памяти (C++):

Распределение памяти. Динамическое выделение памяти - C++
an-1 an-2 ... a2

Динамическое распределение памяти - C++
как писать эту на программе с++ Даны действительные числа . Получить действительную квадратную матрицу порядка n<8, элементами...

Динамическое распределение памяти - C++
Не подскажите , здесь где-то есть ошибка? задача : Даны действительные числа . Получить действительную квадратную матрицу порядка n<8,...

Динамическое распределение памяти - C++
помогите пожалуйста поправить код!в массиве по заданному индексу удалить элемент (не работает !)...

Динамическое распределение памяти - C++
Динамическое распределение памяти Ребят выручайте уж совсем плохо с ним:

Динамическое распределение памяти - C++
Ни разу не работал с динамическим распределением. Объясните пжл, что я сделал не так. Цель - получить большую область памяти (состоящей из...

3
Radjuk
134 / 68 / 12
Регистрация: 10.10.2009
Сообщений: 187
24.01.2010, 17:19 #2
на паскале помню такое делал с помощю темпа
0
MikeSoft
Эксперт С++
3800 / 1776 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
24.01.2010, 17:26 #3
AVeeBeaT, какие возникают трудности при решении задачи?

Алгоритм весьма прост:

1. Получить размер N.
2. Считать матрицу порядка 2N.
3. Создать временную матрицу порядка N для хранения переставляемой части.
4. От N+1 до 2N (и по горизонтали, и по вертикали) выполнить проход по исходной матрице и занести значения во временную матрицу. (То есть сохранить левую нижнюю часть)
5. Сдвинуть правую нижнюю часть на место левой.
6. Повторить для остальных частей. (принцип пятнашек)
7. На место левой верхней части вставить данные из временной матрицы.

Вот и всё.
Попробуйте написать программу.
0
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
24.01.2010, 21:45 #4
Только вспомогательную матрицу можно не создавать
Код
for(i=0;i<N; i++)
  for(j=0; j<N; j++) {
     t = M[i][j];
     M[i][j] = M[i][j+N];
     M[[i][j+N] = M[i+N][j+N];
     M[i+N][j+N] = M[i+N][j];
     M[i+N][j] = t;
  }
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2010, 21:45
Привет! Вот еще темы с ответами:

Динамическое распределение памяти - C++
Помогите переделать программу в соответствии с условиями: а) для хранения массивов используйте динамически распределяемую память; б)...

Динамическое распределение памяти - C++
Дан динамический целочисленный массив y1,y2,....,yn. и и динамическая символьная переменная h. Если значение h равно '+', преобразовать...

Динамическое распределение памяти - C++
Столкнулся со следующей задачей: Создать список, элементами которого являются целые числа. Данные формируются случайным образом. Данные...

Динамическое распределение памяти - C++
По заданию необходимо сделать анимацию движения эллипса по траектории эллипса. Вроде все работает, но необходимо динамически использовать...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
24.01.2010, 21:45
Ответ Создать тему
Опции темы

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