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

Транспонирование матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Мусор при чтении файла http://www.cyberforum.ru/cpp-beginners/thread1741210.html
При чтений текста из файла программа вставляет букву я на конце Как убрать?
C++ Сетевое Планирование и Управление. Расчет табличным и графическим способом Помогите пожалуйста, код нашла и вставила а что да как соединить не могу понять. Дня два уже мучаюсь а завтра уже защита. Даже преподы не могут помочь ибо математики и в с++ дуб дубом как и я...:cry: http://www.cyberforum.ru/cpp-beginners/thread1741207.html
Конструкторы C++
У меня есть два конструктора: первый по умолчанию Circle() //Конструктор по умолчанию (инициализирует переменные) { itsRadius = 20; itsX = 100; itsY = 100; } и второй, который вводит данные с клавиатуры:
Считывание из файла C++
Создайте конструктор, который считывает координаты центра и радиус из заранее подготовленного текстового файла на магнитном диске и присваивает значения itsX, itsY, itsRadius.
C++ Перевести из PASCAL в С++ http://www.cyberforum.ru/cpp-beginners/thread1741165.html
Program monetki; Const m1=15; Type mas=array of longint; Var a:mas;n,sum:longint; k,min,i,j,m:integer; Procedure p; var j:integer; begin for j:=0 to 2 do begin if i>=m then break; i:=i+1; sum:= sum+j*a;
C++ Из двух стеков, хранящих слова, создать новый стек со словами, у которых первая и последняя буква совпадают Задача на С++. 17. Из двух стеков (St1, St2), хранящих слова, создать новый стек (Dop) со словами, у которых первая и последняя буква совпадают (могут быть в разном регистре), не удаляя исходные стеки. Подходящие слова искать по-очереди в каждом из стеков. (те сначала проверяет первое слово в 1 стеке, потом первое слово во втором стеке и тд). Помогите написать условие проверки слов (у которых... подробнее

Показать сообщение отдельно
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,183
Завершенные тесты: 1
22.05.2016, 06:31     Транспонирование матрицы
Цитата Сообщение от Njkzy Посмотреть сообщение
матрица b удаляется
Вы удалили значения матрицы, а про вектор указателей, выделенный оператором
int **b = new int*[n];
забыли.

Цитата Сообщение от Njkzy Посмотреть сообщение
этот код уже будет считать неверные значения
С чего бы это!
У матрицы b - n столбцов и m строк.
У матрицы a - m столбцов и n строк.

Вот рабочий код
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
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "rus");
    int n, m;
    cout << "Ввести количество строк: ";
    cin >> n;
    cout << "Ввести количество столбцов: ";
    cin >> m;
    int **a = new int*[n];
    for (int i = 0; i < n; i++)
        a[i] = new int[m];
 
    //заполняем матрицу
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            cout << "a[" << i << "][" << j << "]: ";
            cin >> a[i][j];
        }
    }
 
    //Вывод матрицы
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
            cout << a[i][j] << " ";         
        cout << endl;
    }
 
    //Транспонируем матрицу
    int **b = new int*[m];
    for (int i = 0; i < m; i++)
        b[i] = new int[n];
    for (int i = 0; i < m; i++)
    {
        for (int j = 0; j < n; j++)
            b[i][j] = a[j][i];
    }
    cout <<"Транспонированная матрица"<< endl;
    for (int i = 0; i < m; i++)
    {
        for (int j = 0; j < n; j++)
            cout << b[i][j] << " ";
        cout << endl;
    }
 
    for (int i = 0; i < n; i++)
        delete[]a[i]; // удаляем строки
    delete[] a; // удаляем указатели
    for (int i = 0; i < m; i++)
        delete[] b[i];
    delete[] b;
    system("pause");
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru