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

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

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

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

21.04.2013, 20:21. Просмотров 327. Ответов 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++
Для двух заданных матриц A(n, n) и B(n, n) проверить, можно ли получить вторую из первой применением конечного числа (не более четырех)...

Получить новую матрицу путём сложения всех элементов заданной матрицы (язык C) - C++
Получить новую матрицу S(N,M) путём сложения всех элементов заданной матрицы C(N,M) с её наибольшим по модулю элементом. тип элементов...

Получить новую матрицу путём деления всех элементов заданной матрицы на наибольший по модулю элемент - C++
знаю что уже много где написано про это, но никак не могу докрутить. есть такой код. а задание таково Заполнить матрицу А размера ,...

Получить новую матрицу, путём деления всех элементов исходной матрицы на ее максимальный по модулю элемент - C++
С матрицы А (n, n) (n &lt;= 6) получить новую матрицу В (n, n) путем деления всех элементов матрицы А на ее максимальный по модулю элемент.

Получить новую матрицу путём деления всех элементов данной матрицы на наибольший по модулю элемент - C++
Дана действительная матрица размером n*m. Получить новую матрицу путём деления всех элементов данной матрицы на наибольший по модулю...

Дана прямоугольная матрица. Получить новую матрицу путём деления всех элементов исходной матрицей на её максимальный по модулю элемент. - C++
7.9.2. Помогите, пожалуйста, решить задачу в С++. Дана прямоугольная матрица. Получить новую матрицу путём деления всех элементов...

Ввод массива char за один раз в одну строчку - C++
обьясните как сделать ввод массива char за один раз в одну строчку

Как присвоить одну матрицу другой? - C++
Вот написал программу, как присвоить последней отсортированной матрице массив В? Задание: получить новую отсортированную матрицу В из...


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

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

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