Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 23.05.2015
Сообщений: 1
1

Работа с файлами. Динамический массив. Транспонирование матрицы

01.06.2015, 17:36. Показов 1034. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Есть код на С++, от которого я хочу получить транспонированную матрицу относительно главной диагонали. Загвоздка в том, что в результате получается матрица с другими элементами.
Само задание: Файл f1 содержит:
• Размерности матрицы М и N;
• Элементы матрицы А, записанные по строкам.
Получить матрицу B размером M x N. Матрица B – есть матрица А,
транспонированная относительно главной диагонали.
Полученную матрицу В записать в файл по строкам.

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
#include <iostream.h>
#include <conio.h>
#include "stdio.h"
#include <fstream.h>
#include <algorithm>
#include <ctime>
#pragma hdrstop
#pragma argsused
using namespace std;
 
int main(int argc, char* argv[])
{
   l1:
   //Matrix A
   int M, N;
   char s[40];
   cout<<"f1: \n";
   cin>>s;
   ifstream ifs(s);
   ifs >> N;
   M=N;
   int ** a = new int * [M];
   //the output matrix A
   cout << "Matrix A:\n";
   for (int r = 0; r < M; r++, cout << endl)
      {
         a[r] = new int [N];
         for (int c = 0; c < N; c++)
            {
               ifs >> a[r][c];
               cout << a[r][c] << " ";
            }
      }
   cout << endl;
 
     {
        //input Matrix C
        int i,j,temp;
        int **c = new int *[M];
        for ( i = 0; i < M; i++)
           c[i] = new int [N];
        //transponirovanie
        for(i = 0; i < M; i++)
           for( j = 0; j < N; j++)
        {
            temp = a[i][j];
            a[i][j] = a[j][i];
            a[j][i] = temp;
        }
 
        //the output matrix C
        cout << "Matrix C: " << endl;
        for(i = 0; i < M; i++)
           {
              for (j = 0; j < N; j++)
                 cout << c[i][j] << " ";
                 cout << endl;
           }
        char t[40];
        cout<<"f2 for the matrix C: \n";
        cin>>t;
        ofstream k(t);
        k << M << " " << N << endl;
        for(i = 0; i < M; i++)
           {
              for (j = 0; j < N; j++)
                k << c[i][j] << " ";
                k << endl;
           }
        k.close();
        for (int i = 0; i < M; i++) delete[] c[i];
        delete[] c;
   }
 
   {
        //Menu
        int g;
        cout<<"\n1-Repeat\n0-Exit\n";
        cin>>g;
        if (g!=0 && g!=1) {cout<<"\nVvedeno ne vernoe znachenie. Programma avtomaticheski zakrivaetsya.\n"; getch();}
        else
            {
             if (g==1) {goto l1;}
             else {goto l2;};
            }
        l2:
        exit(0);
     }
   getch();
}
Миниатюры
Работа с файлами. Динамический массив. Транспонирование матрицы  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2015, 17:36
Ответы с готовыми решениями:

Транспонирование n мерной квадратной матрицы(двумерный динамический массив)
&quot;Создайте программу для транспонирования квадратной матрицы A. Значение n вводится с клавиатуры,...

Динамический массив и работа с файлами
Было дано задание: Массив определять как динамический. Исходные данные и результаты размещать в...

Работа с файлами и динамический массив
Помогите решить задачу. После решенной задачи, нужно еще отдельно тоже самое решение записать с...

Работа с файлами. Сформировать одномерный массив из ненулевых элементов строк матрицы
Нужна помощь. Проблема в том, что я не знаю, что должно быть записано в текстовом файле и как. ...

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

Массив: Найти транспонирование матриц и вывести получившиеся матрицы.
Организовать меню с помощью Подпрограммы для решения задач. Ввести 2 матрицы. Найти...

Класс: Двухмерный массив ([]-доступ по индексу,+-сложение матриц,--транспонирование матрицы)
помогите пожалуйста,создать программу,где реализован класс-матрица.требуется перегрузить -доступ по...

Объявите двумерный целочисленный массив, в котором n x n элементов. Выполните транспонирование матрицы
Объявите двумерный целочисленный массив, в котором n x n элементов. Выполните транспонирование...

Как преобразовать массив в динамический? Массив вычисляет сумму элементов каждой диагонали матрицы
Ошибка : Вызвано исключение по адресу 0x00BB2F4F в Проект6.exe: 0xC0000005: нарушение прав доступа...

Матрицы, Работа с файлами
Здравствуйте, помогите решить задачи по Паскаю....не сильно разбираюсь в этом =( 1) Дан...

Динамический массив при наследовании, элементами которого являются объекты класса наследника динамический массив
Попробовал создать динамический массив, у которого элементы - объекты класса динамический массив,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru