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

Поворот матрицыа на 90градусов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Масивы-арифм. прогрессия и таблица. 2задания. http://www.cyberforum.ru/cpp-beginners/thread61216.html
Помогите решить до конца эти задания: 1. Определить, является ли введёный масив а)арифметической прогрессией с шагом д б)простой арифметической прогрессией #include<iostream.h> #include<conio.h> void main() {int d,n,k,x; string v; cout<<" Vvedite koli4estvo elementov v masive: "; cin>>n;
C++ Выбор инструмента/технологии Доброго времени суток! Есть следующая задача. На входе файл в dbf формате(с досовским набором символов). В файле нужно произвести изменения. Их несколько и они одни и те же(правка ячеек, удаление/добавление/перемещение полей). Хочется все автоматизировать чтоб не делать каждый день одно и то же. На выходе должен быть текстовый файл(win кодировка) сгенерированный из dbf с разделителями в виде ;.... http://www.cyberforum.ru/cpp-beginners/thread61209.html
компилятор C++
Подскажите какой-нибудь хороший компилятор с++??
Как найти три наибольших элемента массива за один просмотр C++
Помогите решить задачу!!! три наибольших элемента массива за один просмотр
C++ Вычисление суммы бесконечного ряда (ряд Тейлора) http://www.cyberforum.ru/cpp-beginners/thread61169.html
Люди, если у кого есть время, прошу помочь с решением задачи ! Решение задачи должно быть на C ! :scratch: http://xmages.net/out.php/i609131_Zadacha.gif http://xmages.net/out.php/i609134_Uslovie.gif Заранее благодарю ! :)
C++ обработка последовательности Доброе время суток) Начинаю изучать С++, но лучше всего конечно же понимаю на примерах. Прошу помочь с такими задачами : 1) Дана последовательность из n целых элементов. Сжать последовательность, удалив из нее все нулевые элементы, затем отсортировать ее по убыванию. Вывести на экран исходную последовательность до сжатия, после сжатия и после сортировки. 2) Та же задача, только вместо... подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
05.11.2009, 13:41     Поворот матрицыа на 90градусов
Вот подправил твой код для поворота матрицы,
ещё с универа использовал для этого простое условие
B[i][j] = A[j][i]

В функциях на всякий случал ввёл условия по проверке
наличия выделенной памяти для указателей А и В, можно
просто исключить из кода, на работоспособности это
не отразиться

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
#include <iostream>
#include <locale>
#include <conio.h>
 
using namespace std;
 
void ReadData_SizeMatrix(int &n,int &m)
{
        cout<<"Введите количество строк матрицы А: "<<endl;
        cin>>n;
        cout<<"Введите количество столбцов матрицы А: "<<endl;
        cin>>m;
}
 
void ReadData_Matrix(int **A,int &n,int &m)
{
    if(A)
    {
        for(int i=0,j;i<n;i++)
        {
            for(j=0;j<m;j++)
            {
                cout<<"введите элемент A["<<i<<"]["<<j<<"] : ";
                cin>>A[i][j];
            }
        }
    }
}
 
void OutputData(int **A,int n,int m)
{
    if(A)
    {
        for (int i=0,j;i<n;i++)
        {
            for(j=0;j<m;j++)
            {
                cout<<A[i][j]<< " ";
            }
            cout<<" "<<endl;
        }
    }
}
 
void Povorot(int **A,int **B,int n,int m)
{
    if(A && B)
    {
        for(int i = 0,j; i < n; i++)
        {
           for( j = 0; j < m; j++)
              B[j][i]=A[i][j];
        }
    }
}
 
int main()
{
    setlocale(LC_ALL,"Russian");
    int **A,**B,n,m;
    ReadData_SizeMatrix(n,m);
    A = new int*[n];
    B = new int*[n];
 
    //Тут экономим на числе циклов
    for(int i=0; i<n; i++)
    {
        A[i]=new int[m];
        B[i]=new int[m];
    }
    ReadData_Matrix(A,n,m);
    //Покажем исходную матрицу
    cout<<"\tMatrix A\r\n";
    OutputData(A,n,m);
    Povorot(A,B,n,m);
    //Вывод транспонированной матрицы
    cout<<"\tMatrix B\r\n";
    OutputData(B,n,m);
    getch();
    return 0;
}
Миниатюры
Поворот матрицыа на 90градусов  
 
Текущее время: 12:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru