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

Транспонирование прямоугольной матрицы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Умножение матриц http://www.cyberforum.ru/cpp-beginners/thread671077.html
Ошибка: не хочет умножать. c=c+a*b; int **mat(int n){ int **matrix; matrix=new int *; for (int i=0; i<2; i++) matrix=new int ; return matrix; } int **multiplication(int **a, int **b, int n){
C++ Что не так в моем коде? Код для расчета этой формулы. Делал по примеру. Запускаю, а вместо чисел inf. #include<iostream> #include<math.h> http://www.cyberforum.ru/cpp-beginners/thread671037.html
Отказ в доступе при сохранении файла C++
Установил программу, в ее основной папке открыл и изменил файл, но при сохранении пишет "Отказано в доступе" . Как создатели программы добились этого???
C++ Морской бой
Входные данные двумерный массив 10х10, заполненный нолями и единицами, где 0-пустая клетка, а 1-занятая, найти наиболее длинную линию из пустых клеток на поле для расположения корабля, расположенную по вертикали либо по горизонтали и вывести ее длину, максимальная длина корабля 10 клеток. Пример: Вход: 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0...
C++ Определить количество слов в предложений! http://www.cyberforum.ru/cpp-beginners/thread671014.html
Определить количество слов в предложений!!!
C++ Программа не работает Почему при запуске данного кода не выполняется цикл for? #include <iostream> #include <string> using namespace std; string email; int main() { setlocale (LC_ALL,".1251"); подробнее

Показать сообщение отдельно
dmmax
 Аватар для dmmax
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 81
15.10.2012, 08:05  [ТС]     Транспонирование прямоугольной матрицы
Кто сможет помочь с транспортировкой матрицы? ^_^

когда выбираю размерность 5х4 , то всё нормально работает, от 6х4 уже не работает.

Добавлено через 1 час 20 минут
C++ (Qt)
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
// Программа для транспонирования прямоугольной матрицы.
//
 
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <stdio.h>
#include <clocale>
#include <time.h>
 
using std::cout;
using std::cin;
using std::endl;
 
int printmenu();
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    setlocale(LC_ALL, "rus");
    srand(time(NULL));
    int **x;    
    int **a;
    int menu = 0;
    int n = 0;
    int m = 0;
        do{
            menu = printmenu();
            switch(menu){
            case 1:
                do{                                             
                    cout << "Введите количество строк не выше 10 и не ниже 2!\n";
                    cin >> n;
                    if(n < 2 || n > 10){
                        cout << "Количество строк должно быть  > 1 и < 10!\n";
                    }
                }while(n < 2 || n > 10);
                do{                                 
                    cout << "Введите количество столбцов не выше 10 и не ниже 2!\n";
                    cin >> m;
                    if(m < 2 || m > 10){
                        cout << "Количество столбцов должно быть > 1 и < 10!\n";
                    }
                }while(m < 2 || m > 10);
                x = new int*[n];            
                for(int i = 0; i < n; ++i)
                {
                    x[i] = new int[m];
                    for(int j = 0; j < m; ++j)
                    x[i][j] = rand() % 10;
                }
                break;
            case 2:
                for(int i = 0; i < n; ++ i){
                    for(int j = 0; j < m; ++j)          
                        cout << x[i][j] << ' ';             
                        cout << endl;
                }
                break;
            case 3:int d =0;
                d = abs(m-n);
                for(int i = 0; i < n-d; ++ i){
                    for(int j = 0; j < m+d; ++j)
                        cout << x[j][i] << ' ';
                        cout << endl;           
                }
                break;
            case 0:  
                break;
            default:
                cout << "Неверный пункт меню!\n";
            }
        }while(menu != 0);
 
}
int printmenu()
{
    cout << "\n\n\nМеню программы\n";
    cout << "1. Задать массив\n";
    cout << "2. Вывести на экран\n";
    cout << "3. Сортировать массив\n";
    cout << "---------------------\n";
    cout << "0. Выход\n";
    getchar();
    return 0;
}
Добавлено через 1 час 3 минуты
всё написал, всем спасибо =)
 
Текущее время: 01:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru