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

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

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

Транспонированая матрица - C++

27.10.2012, 23:14. Просмотров 452. Ответов 8
Метки нет (Все метки)

Нужно зделать транспоновану матрицу (консольное приложение)
Массив должен быть динамический двухмерный
Заданние :нужно чтоб менялись столбцы на строки и наоборот.
Хорошо если бы через какуюта пользовательскуй функцию)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2012, 23:14     Транспонированая матрица
Посмотрите здесь:

дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим - C++
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если матрица симметричная(транспонированная...

Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной - Delphi
Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной. Описать с помощью функций и процедур. Ввод-вывод в текстовый...

Дана квадратная матрица А порядка n. Проверить, является ли матрица единичной. - Turbo Pascal
Ребят,помогите решить задачу "Дана квадратная матрица А порядка n. Проверить, является ли матрица единичной"

Как доказать то, что матрица и транспонированная ей матрица имеют одинаковые собственные числа? - Алгебра
Как доказать то, что матрица и транспонированная ей матрица имеют одинаковые собственные числа с одинаковой кратностью? Добавлено...

Матрица:Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: каждого - QBasic
Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: каждого из столбцов.

Непонятки с DirectX (матрица поворота, камера, матрица проекции) - DirectX
Возник вопрос по DirectX, точнее по матрицам Вопрос 1: D3DXMATRIXA16 matWorld; UINT iTime = timeGetTime() % 10000; ...

Матрица:Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: каждого из столбцов - Free Pascal
Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: каждого из столбцов.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
27.10.2012, 23:18     Транспонированая матрица #2
поиском не умеете пользоваться? на этом форуме за последний месяц 4й раз уже такой вопрос задают
tyry
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 26
27.10.2012, 23:20  [ТС]     Транспонированая матрица #3
Нет не умею наверно не нашел ничего
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
27.10.2012, 23:59     Транспонированая матрица #4
Цитата Сообщение от tyry Посмотреть сообщение
Нет не умею наверно не нашел ничего
это чтобы вы не ошибались в предь и тому подобное =)
Миниатюры
Транспонированая матрица   Транспонированая матрица  
tyry
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 26
28.10.2012, 00:01  [ТС]     Транспонированая матрица #5
если бы там было то что нужно было б я сюда не попал и не регалься тут чтоб задание написать)
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
28.10.2012, 00:05     Транспонированая матрица #6
Цитата Сообщение от tyry Посмотреть сообщение
Заданние :нужно чтоб менялись столбцы на строки и наоборот.
Цитата Сообщение от tyry Посмотреть сообщение
Нужно зделать транспоновану матрицу (консольное приложение)
помоему это суть одно и тоже раз

Цитата Сообщение от tyry Посмотреть сообщение
Хорошо если бы через какуюта пользовательскуй функцию)
переместить из мэйнов отдельную функцию дело 3х секунд два

Цитата Сообщение от tyry Посмотреть сообщение
если бы там было то что нужно было б я сюда не попал и не регалься тут чтоб задание написать)
врятли вам если и напишут тут то напишут чтото другое, потому что там все нормально сделано я не понимаю что вам не нравится из того что представлено? если вы не знаете как делать динамисческий массив, вы так и спросите и прикрутите это к тем программам, если другие вопросы так тоже задавайте. три
tyry
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 26
28.10.2012, 00:26  [ТС]     Транспонированая матрица #7
хорошо хотел бы я ненмого подучиться с динамическими массивами)
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
28.10.2012, 09:18     Транспонированая матрица #8
Цитата Сообщение от tyry Посмотреть сообщение
хорошо хотел бы я ненмого подучиться с динамическими массивами)
на с++выделяется память таким образом
инициализируете указатель
C++
1
 int *p //имя конечно может быть любое и ип данных тоже, вплоть до ваших собственных клаcсов/структур и тд и тп
далее необходимо выделить под этот указатель память
C++
1
p = new int [n]//выделить память можно при инициализации n должно быть целым числом, если выделяете одну ячейку [n] писать не будет. оператор new автоматически выделяет память под ваш тип и количество этой памяти указывается в скобках
теперь у нас грубо говоря есть массив p[n]; c ним можно работать как со статическим
чтобы выделять память под 2хмерный или nмерный массив нужно сначала знать скольки мерный массив у вас будет. Соответственно поставить перед указателем нужное количество звездочек.
например у нас массив будет 2х мерный.
C++
1
2
int **p =new int*[n];//** перед указателем означает что мы инициализируем 2мерный массив и сразу выделяем ему память в n ячеек. грубо говоря у нас массив р будет состоять из n массивов.
далее необходимо выделять память каждому массиву массивов это делается как в предыдущем примере за исключением что вместо p пишется p[i]
C++
1
p[i] = new int [n]//где i соответственно iй массив массивов. //Также можно не выделять память а присоединить уже существующую.
например
в какой то отдельной функции или даже в мэйне вы например указателю *a выделили память 5 ячеек
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int *bla_bla_bla(){
//bla bla bla
int *a=new int [n1];
//
return a;
}
 
void main{
//bla bla bla
int **p =new int*[n]
p[i]=bla_bla_bla();//функция возвращает указатель на какуюто память, соответственно указатель одного из массива массивов указывает на эту память
//bla bla bla
}
после всех действий память желательно подтереть это делается оператором delete[] или delete
если у вас переменная
C++
1
delete a;
если у вас массив то
C++
1
delete[] a;
если у вас массив массивов, то необходимо удалять снизу вверх, возьмем для примера 3х менрый массив
C++
1
2
3
4
5
6
7
for(int i=0;i<n;i++)
    for(int j=0;j<m;j++)
        delete[] mas[i][j];//delete[] соответственно удалит все массивы по ячейкам j и у нас останется, так сказать матрица ячеек nxm пустых, которым опять можно выделить память
for(int i=0;i<n;i++)
    delete[] mas[i];//далее удаляем все iе массивы и у нас остается только массив ячеек куда мы можем выделить еще память чтобы создать 2мерный масив ячеек куда мы в свою очередь можем выделить память под сами данные
delete[] mas;//полностью очистили память
//З.Ы. при выделение память 2менрному и nмерным масивам не обязательно создавать квадратные матрицы или векторы. Оператору delete[] глубоко пофигу на размер удаляемой памяти, будь то удаляемая область постоянная или меняющаяся(у него помоему есть какойто указатель на длину и он удалит ровно столько сколько надо)
Добавлено через 1 минуту
Есть еще так называемая алгебра указателей, которая позволяет спокойно перемещаться по массиву без применения дополнительных циклов или переменных, но это лучше почитайте отдельно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2012, 14:25     Транспонированая матрица
Еще ссылки по теме:

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей) - C++
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include &lt;stdlib.h&gt; int main(int argc, char* argv) { srand(time(NULL)); int mas; ...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей) - C++
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include&lt;conio.h&gt; void main() { int mas; int N; int max_element; int...

Матрица В-транспонированная матрица А. Вывести матрицу В - Visual Basic
Дана матрица целых чисел А, состоящая из М строк и N столбцов Матрица В-транспонированная матрица А. Вывести матрицу В

Доказать, что матрица P идемпотентна. Показать, что матрица I = 2P - E инволютивна - Matlab
Очень нужна помощь первый раз использую matlab

Доказать, что матрица P идемпотентна. Показать, что матрица I = 2P - E инволютивна - MathCAD
Матрица P называется идемпотентной, если P2 = P. Матрица I называется инволютивной, если I2 = E.


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

Или воспользуйтесь поиском по форуму:
tyry
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 26
28.10.2012, 14:25  [ТС]     Транспонированая матрица #9
спасибо очень позновательно)
Yandex
Объявления
28.10.2012, 14:25     Транспонированая матрица
Ответ Создать тему
Опции темы

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