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

Помочь в написании программы. (С матрицами) - C++

Восстановить пароль Регистрация
 
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
11.04.2013, 20:39     Помочь в написании программы. (С матрицами) #1
Здравствуйте, дорогие форумчане.
-----------------------------------
Мне нужна ваша помощь.
-----------------------------------
Не могу написать программу.
Поможете, пожалуйста, реализовать?
-----------------------------------
С меня много плюсов.
Задание прикрепил на скрине.
Заранее спасибо.
С меня много +.
P.S. Должны выводиться на экран все действия после каждого выполненного действия.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
12.04.2013, 07:09  [ТС]     Помочь в написании программы. (С матрицами) #2
Вот, собственно, задание:
Заданы квадратные матрицы А и B. Проверить, можно ли получить одну матрицу из другой путём транспонирования один или несколько раз.
Функции:
1 - Транспонирование относительно главной диагонали.
2 - Транспонирование относительно побочной диагонали.

Помогите, пожалуйста, реализовать данную программу.
P.S. Должны выводиться на экран все действия после каждого выполненного действия.

Добавлено через 41 минуту
Никто не сможет помочь?

Добавлено через 36 минут
Вот моя программа на С++.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <windows.h>
#include <conio.h>
 
using namespace std;
 
int main ()
{
    int **mas, n, i,j;
 
setlocale(LC_ALL,"rus");
    cout<<"Введите количество строк и столбцов матрицы: "<< endl;
    cin>>n;
    mas=new int*[n];
 
    for(i=0; i<n; i++)
       mas[i]=new int[n];
    cout<<"Введите элементы матрицы: "<< endl;
    for(i=0; i<n; i++)
       for(j=0; j<n; j++)
       {
          cout<<"["<<i<<"]["<<j<<"]= ";
          cin>>mas[i][j];
       }
        cout<<"исходная матрица"<<endl;
    for(i=0; i<n; i++)
        {
       for(j=0; j<n; j++)
          cout<<mas[i][j]<<" ";
          cout<<endl;
        }
    cout<<"Транспонированая матрица по главной диагонали:"<<endl;
    for(i=0; i<n; i++)
    {
       for(j=0; j<n; j++)
           cout<<mas[j][i]<<" ";
       cout<<endl;
    }
    cout<<"Транспонированая матрица по побочной диагонали:"<<endl;
    for(i=0; i<n; i++)
    {
       for(j=0; j<n; j++)
           cout<<mas[n-1-j][n-1-i]<<" ";
       cout<<endl;
    }
    cout<<endl;  
    getch();
}
Но я не могу реализовать две матрицы. Т.е. чтобы транспонирование происходило получение одной матрицы из другой путем транспонирования. Помогите, пожалуйста.

Добавлено через 6 минут
Т.е. чтобы происходило получение одной матрицы из другой путем транспонирования. Помогите, пожалуйста. Две матрицы должны задаваться с клавиатуры.

Добавлено через 7 часов 11 минут
Как задать вторую матрицу разобрался.
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <windows.h>
#include <conio.h>
 
using namespace std;
 
int main ()
{
    int **mas, n, i, j, b;
 
setlocale(LC_ALL,"rus");
    cout<<"Введите количество строк и столбцов матрицы: "<< endl;
    cin>>n;
    mas=new int*[n];
 
    for(i=0; i<n; i++)
       mas[i]=new int[n];
    cout<<"Введите элементы матрицы A: "<< endl;
    for(i=0; i<n; i++)
       for(j=0; j<n; j++)
       {
          cout<<"["<<i<<"]["<<j<<"]= ";
          cin>>mas[i][j];
       }
       cout<<"Введите элементы матрицы B:\n";
       for (i=0; i<n; i++){
for (j=0; j<n; j++){
cout<<"["<<i<<"]["<<j<<"]=";
cin>>mas[i][j];
}}
        cout<<"исходная матрица"<<endl;
    for(i=0; i<n; i++)
        {
       for(j=0; j<n; j++)
          cout<<mas[i][j]<<" ";
          cout<<endl;
        }
    cout<<"Транспонированая матрица по главной диагонали:"<<endl;
    for(i=0; i<n; i++)
    {
       for(j=0; j<n; j++)
           cout<<mas[j][i]<<" ";
       cout<<endl;
    }
    cout<<"Транспонированая матрица по побочной диагонали:"<<endl;
    for(i=0; i<n; i++)
    {
       for(j=0; j<n; j++)
           cout<<mas[n-1-j][n-1-i]<<" ";
       cout<<endl;
    }
    cout<<endl;  
    getch();
}
Теперь мне не понятно одно: Как сделать получение одной матрицы из другой путем транспонирования один или несколько раз?

Добавлено через 24 минуты
Никто не поможет?
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
12.04.2013, 07:12     Помочь в написании программы. (С матрицами) #3
Как бы ты не транспонировал матрицу все это можно свести к ее повороту и одному транспонированию или просто повороту.
Следовательно можно сделать так.
Берешь угловой элемент первой матрицы и ищешь такой же угловой элемент во второй.
Если такой элемент один то вот ты нашел угол поворота. Если несколько то у тебя есть несколько вариантов, каждый из которых нужно проверить.
Далее сверяешь идущие от угла элементы строки или столбца и определяешь в каком направлении эти элементы совпадают. И дальше идешь, сверяешь по строкам, постепенно откидывая варианты.
Впринципе довольно точный ответ даст вычисление определителя матрицы, но нет гарантии что определители не будут совпадать у разных матриц... Если не совпадают, то точно откидывай. а если совпали. то требует еще проверки.
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
12.04.2013, 07:13  [ТС]     Помочь в написании программы. (С матрицами) #4
А можно, пожалуйста, код? Просто не совсем понял...
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
12.04.2013, 07:24     Помочь в написании программы. (С матрицами) #5
sanyachel9binsk, А что не понятно?
У меня готового кода нет, жди, может кто напишет, кому не лень, или лучше сам начни разбираться, я же тебе дал наводку с чего начать...
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
12.04.2013, 07:42  [ТС]     Помочь в написании программы. (С матрицами) #6
Дак никто не поможет реализовать?
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
12.04.2013, 07:45     Помочь в написании программы. (С матрицами) #7
sanyachel9binsk, Помочь и написать за тебя разные вещи. Можешь обратиться в раздел фриланс ) там точно найдутся кто напишет тебе все. )
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
12.04.2013, 18:22  [ТС]     Помочь в написании программы. (С матрицами) #8
Спасибо поставил чисто из уважения. Но мне только помочь дописать.
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <windows.h>
#include <conio.h>
 
using namespace std;
 
int main ()
{
    int **mas, n, i, j, b;
 
setlocale(LC_ALL,"rus");
    cout<<"Введите количество строк и столбцов матрицы: "<< endl;
    cin>>n;
    mas=new int*[n];
 
    for(i=0; i<n; i++)
       mas[i]=new int[n];
    cout<<"Введите элементы матрицы A: "<< endl;
    for(i=0; i<n; i++)
       for(j=0; j<n; j++)
       {
          cout<<"["<<i<<"]["<<j<<"]= ";
          cin>>mas[i][j];
       }
       cout<<"Введите элементы матрицы B:\n";
       for (i=0; i<n; i++){
for (j=0; j<n; j++){
cout<<"["<<i<<"]["<<j<<"]=";
cin>>mas[i][j];
}}
        cout<<"исходная матрица"<<endl;
    for(i=0; i<n; i++)
        {
       for(j=0; j<n; j++)
          cout<<mas[i][j]<<" ";
          cout<<endl;
        }
    cout<<"Транспонированая матрица по главной диагонали:"<<endl;
    for(i=0; i<n; i++)
    {
       for(j=0; j<n; j++)
           cout<<mas[j][i]<<" ";
       cout<<endl;
    }
    cout<<"Транспонированая матрица по побочной диагонали:"<<endl;
    for(i=0; i<n; i++)
    {
       for(j=0; j<n; j++)
           cout<<mas[n-1-j][n-1-i]<<" ";
       cout<<endl;
    }
    cout<<endl;  
    getch();
}
Как сделать получение одной матрицы из другой путем транспонирования один или несколько раз?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2013, 04:47     Помочь в написании программы. (С матрицами)
Еще ссылки по теме:

C++ Прошу помочь в написании програмы ( оплачу)
C++ Помощь в написании программы
C++ Разобраться в написании программы

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

Или воспользуйтесь поиском по форуму:
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
18.04.2013, 04:47  [ТС]     Помочь в написании программы. (С матрицами) #9
Вверх.
Yandex
Объявления
18.04.2013, 04:47     Помочь в написании программы. (С матрицами)
Ответ Создать тему
Опции темы

Текущее время: 16:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru