Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить блок-схему Помогите сделать блок - схему кода #include <iostream> #include <ctime> using namespace std; int main() { int B; int min=1000000, index=0; https://www.cyberforum.ru/ cpp-beginners/ thread1010752.html C++ Блок try catch жрет память
Доброго времени суток! Проблема случилась там, где ее никак не ожидал, ответа ни в поисковиках, ни на форумах не нашел. Вся надежда на вас! в общем есть блок try{ //код, соединения с сервером или отправки сообщения серверу } catch(Exception *e){ //обработка ошибки подключения или отправки } Так вот при каждом исключении увеличивается память (в диспетчере задач).
C++ Программирование задачи на двумерные и одномерные массивы с использованием шаблонов 4 Само задание звучит так: "Из заданного на плоскости множества точек выбрать три различные точки так, чтобы разность между площадью круга, ограниченного окружностью, проходящей через эти три точки, и площадью треугольника с вершинами в этих точках была минимальной " Плюс все функции при выполнении оформить в виде шаблонов. Извините, пожалуйста, очень прошу еще немножко помочь... Какая-то... https://www.cyberforum.ru/ cpp-beginners/ thread1010718.html C++ Правильная инициализация ? Здравствуйте уважаемые программисты! Мне необходимо описать два класса, один ArrayOfInt - якобы одномерный массив, и SqArrayOfInt - уже двумерный массив, основанный на массиве ArrayOfInt. Моя проблема: после инициализации случайными числами, матрица получается не той что должна быть. Например: после вызова функции из 37 строки, данные выводятся верные, а уже на 41 (хотя один и тот же вызов,... https://www.cyberforum.ru/ cpp-beginners/ thread1010700.html
Можно ли разобрать экзешник? C++
есть проблема, мне нужно где то найти исходный код файлового менеджера mucommander и несколько видоизменить его, поменять название и некоторые иконки. как я могу это сделать?
C++ Создать программу, которая выводит на экран символьную матрицу создать прогу которая выводит на экран символьную матрицу. пример вывода. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * https://www.cyberforum.ru/ cpp-beginners/ thread1010688.html
C++ получить машинные результатный сравнить их со значениями соответствующей функции https://www.cyberforum.ru/ cpp-beginners/ thread1010687.html
помогите написать программу! данные ниже выражения представляют собой формулы приближенного вычисления различных функций по разложению их в ряд Тейлора в окрестностях указных точек. В последующем после программирования получить машинные результатный сравнить их со значениями соответствующей функции, указной при каждой формуле(эту функцию в заданной точке вычислить также на ЭВМ.) _____∞...
Дана целочисленная прямоугольная матрица. Определить: C++
2. Дана целочисленная прямоугольная матрица. Определить: а)количество столбцов, не содержащих ни одного нулевого элемента; b) характеристикой столбца целочисленной матрицы назовем сумму модулей его положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик. Помогите пожалуйста!
C++ Вывести координаты https://www.cyberforum.ru/ cpp-beginners/ thread1010673.html
Как решить эту задачу? Капитан Флинт зарыл клад на Острове сокровищ. Он оставил описание, как найти клад. Описание состоит из строк вида: "North 5", где слово – одно из "North", "South", "East", "West", – задает направление движения, а число – количество шагов, которое необходимо пройти в этом направлении. Напишите программу, которая по описанию пути к кладу определяет точные...
C++ Выведите фамилии и имена учащихся в порядке убывания их среднего балла https://www.cyberforum.ru/ cpp-beginners/ thread1010671.html
Помогите, пожалуйста, с решением, последний тест не проходит, пишет "превышено максимальное время работы". Вместо пузырька вставляли другие сортировки, ничего не помогло. Выведите фамилии и имена учащихся в порядке убывания их среднего балла. Формат входных данных Заданы сначала количество учащихся n, затем n строк, каждая из которых содержит фамилию, имя и три числа (оценки по трем...
Функция по нахождению простых чисел на интервале C++
Дан определенный интервал надо чтобы находила простые числа и выводила на экран как решить
C++ Оформление программы в виде функций Программа вычисляет среднее арифметическое четных элементов массива. Помогите оформить в виде функций. #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv) { const int n=10; int i, k=0, Sum=0; https://www.cyberforum.ru/ cpp-beginners/ thread1010648.html
32 / 17 / 3
Регистрация: 05.09.2011
Сообщений: 151
0

Не работает транспорирование матрицы - C++ - Ответ 5351079

18.11.2013, 13:22. Показов 599. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Написал небольшой класс "матрица", не получается одно - транспорировать, хотя алгоритм ясен и понятен. Что-то я упустил в коде. Матрица выводится неизмененная. Как-то неверно я задаю ссылки на объект, кажется.
Класс:
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Class_Matrix
{
  class Matrix
    {        
        int N;                // Размерность матрицы.
        double[,] marix_1;    // 2x Массив (x,x)
        double t = 0;         // Эта перем. будет исп. в циклах.        
 
        public double this[int i, int j]   // Индексатор типа int в классе. Индексаторы позволяют индексировать экземпляры класса или структуры так же, как массивы. Индексаторы напоминают свойства, но их методы доступа принимают параметры.
        {
            get { return marix_1[i,j];}    // Возвр. зн-е, наход. по указ. индексу.
            set { marix_1[i, j] = value; } // Установка значения, которое определяет индекс.
        }
 
 
        public Matrix(int N) // Конструктор задаёт начальные параметры для матрицы.
        {           
            this.N = N;
            this.marix_1 = new double[N,N];    // Задали матрицу (двумерный массив).
        }
 
 
        public void CreateMatrix(int randSeed) // Создаём матрицу. randSeed задаёт сл.число.
        {          
            Random rand = new Random(randSeed);
            for (int i = 0; i < N; ++i) 
            {
                for (int j = 0; j < N; ++j)
                 {
                     double randNum = rand.Next(0, 100);
                     marix_1[i, j] = randNum; 
                 }
            }
        }
 
        public void WriteMatrix()              // Отображаем матрицу.
        {
            for (int i = 0; i < N; ++i)  
            {
                for (int j = 0; j < N; ++j)
                {
                    Console.Write("{0}\t",marix_1[i, j]); // Спецификатор отобр. первый параметр + таблица.
                }
                Console.WriteLine();
            }
        }
 
        public static Matrix operator +(Matrix A, Matrix B)// Перегружаем оператор +.
        {
            Matrix C = new Matrix(A.N);                    // Новая матрица для результата.
           
            for (int i = 0; i < A.N; ++i)
            {
              for (int j = 0; j < A.N; ++j)
              {
                  C[i, j] = A[i, j] + B[i, j];
              }
            }
            Console.Write("{0} \n", "Результат сложения двух матриц:");
            return C;   // Оператор возвращает треб. значение.             
        }
 
        public static Matrix operator -(Matrix A, Matrix B)// Перегружаем оператор -.
        {
            Matrix R = new Matrix(A.N);                    // Новая матрица для результата.
 
            for (int i = 0; i < A.N; ++i)
            {
                for (int j = 0; j < A.N; ++j)
                {
                    R[i, j] = A[i, j] - B[i, j];
                }
            }
            Console.Write("{0} \n", "Результат вычитания двух матриц:");
            return R;   // Оператор возвращает треб. значение.             
        }
 
        public static Matrix operator *(Matrix A, Matrix B)// Перегружаем оператор *.
        {
            Matrix U = new Matrix(A.N);                    // Новая матрица для результата.
 
            for (int i = 0; i < A.N; ++i)
            {
                for (int j = 0; j < A.N; ++j)
                {
                    for (int m = 0; m < A.N; ++m)
                    {
                        U[i, j] += A[i, m] * B[m, j];
                    }
                }
            }
            Console.Write("{0} \n", "Результат умножения двух матриц:");
            return U;   // Оператор возвращает треб. значение.           
        }
 
 
        // Транспорируем матрицу.
        public void Trans ()          
        {   
                       
            double tmp;
            
                         
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < N; j++)
                {
                    tmp = marix_1[i, j];
                    marix_1[i, j] = marix_1[j, i];
                    marix_1[j, i] = tmp;
                }
            }            
        }
 
    }
}
Прога:
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
55
56
57
58
59
60
61
62
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Class_Matrix;
 
namespace Class_Matrix
{
    class Program
    {
        static void Main(string[] args)
        {
            const int size = 3;
            
            Matrix Matrix1 = new Matrix(size);
            Matrix1.CreateMatrix(88);
            Matrix1.WriteMatrix();
 
            Console.WriteLine();
 
            Matrix Matrix2 = new Matrix(size);
            Matrix2.CreateMatrix(77);
            Matrix2.WriteMatrix();
 
            Console.WriteLine();
 
            Matrix Matrix3 = new Matrix(size);
            Matrix3 = Matrix1 + Matrix2;
            Matrix3.WriteMatrix();
 
            Console.WriteLine();
 
            Matrix Matrix4 = new Matrix(size);
            Matrix4 = Matrix1 - Matrix2;
            Matrix4.WriteMatrix();
 
            Console.WriteLine();
 
            Matrix Matrix5 = new Matrix(size);
            Matrix5 = Matrix1 * Matrix2;
            Matrix5.WriteMatrix();
 
            Console.WriteLine();
            // Транспорируем.
            Matrix5.CreateMatrix(55);
            Matrix5.WriteMatrix();
            Matrix5.Trans();
            Matrix5.WriteMatrix();
 
            //Matrix Matrix6 = new Matrix(size);
            //Matrix6.CreateMatrix(23);
            //Matrix6.WriteMatrix();
            //Matrix6.Trans();
            //Matrix6.WriteMatrix();
 
            Console.WriteLine();
            
        } 
 
    }
    
}


Вернуться к обсуждению:
Не работает транспорирование матрицы C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2013, 13:22
Готовые ответы и решения:

Не работает автозабивание матрицы
доброго времени сделал генерацию 2х векторов , генерят как мне надо, но почему то только до 96...

Не работает Inverse матрицы
Подскажите, почему пишет Inverse::sing: Matrix...

Не работает преобразование матрицы
имеется задача, не могу понять почему она не пашет, помогите пожалуйста, преобразованная матрица...

Не работает вычисление детерминанта матрицы
Всем привет! Есть класс матрица. Один из его методов - вычисление определителя. На нем валится...

0
18.11.2013, 13:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2013, 13:22
Помогаю со студенческими работами здесь

Неправильно работает сортировка матрицы
помогите разобраться с программой... у меня неправильно работает сортировка, сортирует не до конца,...

Не работает ручной ввод матрицы
Кароч выводит матрицу нулями именно при ручном вводе. Прикол в том что при рандомном заполнении и...

Не работает симетрия матрицы 3х3
ВОт есть программа, было задание такое: Проблемма в том, что она не работает с матрицей 3х3....

Не работает функция транспонирования матрицы
Я написал класс матриц. Он работает. но при использовании функции trans вместо транспонирования я...

Не работает программа ввода матрицы из файла
Как сделать так чтобы эта программа работала на турбо паскале? на abc работает. Не могу понять...

Неправильно работает вывод матрицы в файл
Программа должна возвести матрицу заданного размера в заданную степень. Степень и размерность...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru