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

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

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

Проверить, можно ли получить одну матрицу из другой путём транспонирования один или несколько раз - C++

21.04.2013, 20:21. Просмотров 322. Ответов 0
Метки нет (Все метки)

Здравствуйте, дорогие форумчане.
Нужна ваша помощь.
Нужно доделать программу.
Заданы квадратные матрицы А и B. Проверить, можно ли получить одну матрицу из другой путём транспонирования один или несколько раз.
Функции:
1 - Транспонирование относительно главной диагонали.
2 - Транспонирование относительно побочной диагонали.

Вот моя версия:
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();
}
Вся проблема в том, что у препода в тесте вот так:
-6 -5 7 9
-7 -2 -3 -9
1 2 -3 1
2 -3 8 8

вывод сообщения: нельзя

Т.е. Должно выводиться можно транспонировать матрицу или нет.
Помогите довести до ума мою программу, пожалуйста.

Добавлено через 34 минуты
Никто не сможет написать код?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2013, 20:21     Проверить, можно ли получить одну матрицу из другой путём транспонирования один или несколько раз
Посмотрите здесь:

C++ Получить новую матрицу путём сложения всех элементов заданной матрицы (язык C)
C++ Есть ли слово, содержащее одну согласную, возможно несколько раз
Ввод массива char за один раз в одну строчку C++
C++ Проверить, можно ли получить вторую матрицу из первой применением конечного числа
Нужно написать обход шахматной доски конем. На одну позицию можно стать один раз. Обеспечить алгоритм бектрекингу C++
Дана прямоугольная матрица. Получить новую матрицу путём деления всех элементов исходной матрицей на её максимальный по модулю элемент. C++
C++ Как присвоить одну матрицу другой?
C++ Как использовать одну и ту же переменную несколько раз в одном коде
C++ Получить новую матрицу путём деления всех элементов данной матрицы на наибольший по модулю элемент
C++ Получить новую матрицу путём деления всех элементов заданной матрицы на наибольший по модулю элемент
Проверить, можно ли путём вычёркивания элементов из упорядоченного массива А получить Б C++
Получить новую матрицу, путём деления всех элементов исходной матрицы на ее максимальный по модулю элемент C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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