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

Функция транспонирования динамической матрицы N*M - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Загрузка данных из текстового документа http://www.cyberforum.ru/cpp-beginners/thread1119262.html
Здравствуйте, я столкнулся со следующей проблемой: Мне нужно загрузить данные из текстового файла в переменные типа int, float и bool. Проблема в том, что каждое новое число находится в новой строке и я не знаю, как сделать так чтобы считывалось построчно... Подскажите, пожалуйста, решение этого вопроса. P.S. Я делаю сохранение в игре. Если есть возможность, подкиньте мне парочку статеек об...
C++ Два таймера одновременно Есть функция таймер: void timer(int s,int m,int h){ cout.fill('0'); while(true){ system("cls"); cout.width(2); cout<<h<<':'; cout.width(2); cout<<m<<':'; http://www.cyberforum.ru/cpp-beginners/thread1119250.html
Файловый ввод/вывод. Во всех словах строки переставить все входящие буквы «а» в начало слова, а буквы «я» – в конец C++
Здравствуйте! Помогите, пожалуйста, составить программу, которая считывает из текстового файла input.txt строку символов S.Во всех словах считанной строки S нужно переставить все входящие буквы «а» в начало слова, а буквы «я» – в конец. Результаты вычислений нужно записать в файл output.txt
C++ Разработать программу, меню которой позволяет выполнять следующие функции
Разработать программу, меню которой позволяет выполнять следующие функции. 1. Ввод радиуса шара 2. Вывод площади поверхности шара 3. Вывод объема шара. 4. Выход из программы. блин, не могу понять как сделать объяввление допустим нажму на 1. и выводится функция ввода радиуса шара. 2 вывод площади и т.д плс хелп(
C++ Написать функцию, находящую в заданной строке количество подстрок, состоящих из цифр http://www.cyberforum.ru/cpp-beginners/thread1119241.html
Помагите пожалуйста! задание по программир. Напишите функцию Int kol(char*s) которая находит в заданной строке количество подстрок, состоящих из цифр. Предложите систему тестов. Скорее всего это двухмерный массив. то есть например массив 4x4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 то есть если я ввожу номер строки 2 то он мне должен вывести 13 14 15 16?
C++ Сумма положительных Нужно чтобы выводило сумму положительных элементов вектора // proekt.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <conio.h> #include <stdio.h> #include <locale> #define b 10 подробнее

Показать сообщение отдельно
_include
Студент
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
16.03.2014, 13:17     Функция транспонирования динамической матрицы N*M
Цитата Сообщение от Renevity Посмотреть сообщение
С матрицей N*N всё просто. Как преобразовать нужную, т.е чтобы работало с N*M, я не пойму.
Добавлено через 6 часов 34 минуты
Тишина, потому что трудновато или наоборот слишком просто? Подкиньте хотя бы идею, что нужно примерно добавить к алгоритму транспонирования? Чему нужно уделить внимание?
Добавлено через 17 часов 35 минут
Ок. Спасибо.
Я же не живу в компьютере, правильно?
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
#include <iostream>
#include <iomanip>
 
//----------------
 
int** new2DArray(const int m, const int n)
{
   int** arr = new int*[m];
   for(int i = 0; i < m; ++i)
      arr[i] = new int[n];
   return arr;
}
 
//---------------
void delete2DArray(int** arr, const int m)
{
   for(int i = 0; i < m; ++i)
      delete[] arr[i];
   delete[] arr;
}
 
//--------------- 
 
int** newTransposeMatrix(int** matrix, const int m, const int n) 
{
   int** res = new2DArray(n, m);
   
   for(int i = 0; i < m; ++i)    
      for(int j = 0; j < n; ++j)        
     res[j][i] = matrix[i][j];            
   
   return res;
}
 
//----------------
void print2DArray(int** arr, const int m, const int n)
{
   for(int i = 0; i < m; ++i)
   {
      for(int j = 0; j < n; ++j)
     std::cout << std::setw(4) << arr[i][j];
      std::cout << '\n';
   }   
}
//---------------
 
int main()
{
   // вводим размеры матрицы
   std::cout << "Input m: ";
   int m;
   std::cin >> m;
   
   std::cout << "Input n: ";
   int n;
   std::cin >> n;
   
   // создаём новую матрицу MxN
   int** mtrx = new2DArray(m, n);
 
   // заполняем 
   for(int i = 0; i < m; ++i)   
      for(int j = 0; j < n; ++j)      
     mtrx[i][j] = j;
              
   // выводим
   std::cout << "Matrix\n";
   print2DArray(mtrx, m, n);
 
   // получаем транспонированную матрицу и выводим её на экран
   int** tmtrx = newTransposeMatrix(mtrx, m, n);
   std::cout << "\nTranspose matrix\n";   
   print2DArray(tmtrx, n, m);
 
   // освобождаем выделенную память
   delete2DArray(mtrx, m);
   delete2DArray(tmtrx, n);
 
   return 0;
}
Прежде чем кричать, поискали бы... Код взят отсюда:
Функция транспонирования матрицы
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru