С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
tyry
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 26
1

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

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

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

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

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

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

Даны квадратная матрица A порядка n и вектор с n элементами. Получить вектор: (A=E)b, где E единичная матрица порядка n
Даны квадратная матрица A порядка n и вектор с n элементами. Получить вектор:...

Определить базовый класс "Матрица" и класс-потомок "Треугольная матрица"
Нужно определить класс &quot;матрица&quot; с возможностью динамического выделения и...

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

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

Цитата Сообщение от tyry Посмотреть сообщение
если бы там было то что нужно было б я сюда не попал и не регалься тут чтоб задание написать)
врятли вам если и напишут тут то напишут чтото другое, потому что там все нормально сделано я не понимаю что вам не нравится из того что представлено? если вы не знаете как делать динамисческий массив, вы так и спросите и прикрутите это к тем программам, если другие вопросы так тоже задавайте. три
0
tyry
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 26
28.10.2012, 00:26  [ТС] 7
хорошо хотел бы я ненмого подучиться с динамическими массивами)
0
MrGrig
177 / 160 / 38
Регистрация: 08.10.2012
Сообщений: 423
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 минуту
Есть еще так называемая алгебра указателей, которая позволяет спокойно перемещаться по массиву без применения дополнительных циклов или переменных, но это лучше почитайте отдельно
0
tyry
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 26
28.10.2012, 14:25  [ТС] 9
спасибо очень позновательно)
0
28.10.2012, 14:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2012, 14:25

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

Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной
Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной....

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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