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

Получить новую матрицу, переставляя ее блоки размера nxn - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перезагрузка операций http://www.cyberforum.ru/cpp-beginners/thread803971.html
Всем привет, есть такая задача. Создать класс - дата с полями в закрытой части: день (1-31), месяц (1-12), год (целое число). Определить необходимые конструкторы, методы доступа, деструктор. Перегрузить потоковые операции ввода и вывода, операции + (увеличение на n дней) - (разница между двумя датами), < и >=. Вообщем не знаю как сделать это " Перегрузить потоковые операции ввода и вывода,...
C++ Назначение static ? Здравствуйте. Я уже прочитал в двух книгах про статик,читал в википедии,но так и не понимаю для чего он ? Кучи больших текстов и объяснений для чего он,я так и не пойму конкретно,когда мне его нужно использовать. Вы бы не могли максимально просто и понятно объяснить?) Неплохо было бы с простыми примерами. То есть когда для переменных использовать,когда для функций. http://www.cyberforum.ru/cpp-beginners/thread803966.html
C++ Выбор первого ЯП для изучения
Всем привет. Я хочу начать учить свой первый ЯП, до этого изучал pascal и C#(Четверь книги Шилдта по 4.0). Есть желание писать программы под Linux(ubuntu), точнее я хотел бы написать свой аудио-плеер. Пока склоняюсь к C++ или Java. Какой на ваш взгляд ЯП стоит учить?
C++ Сделать эту же программу через классы и указатели
Есть программа, её нужно реализовать, используя классы и указатели. Помогите это сделать! (Программа считает расстояние, заносит значение в массив и сортирует по возрастанию) #include <iostream.h> #include <math.h> #include <conio.h> #include <string> const int n=1000; int A;
C++ Даны натуральное число n, действительные числа a1, …, an http://www.cyberforum.ru/cpp-beginners/thread803951.html
Текст задачи Даны натуральное число n, действительные числа a1, …, аn. Если последовательность а1, …, an упорядочена по не убыванию (т. е. Если а1<=a2<=…<=an), то оставить ее без изменения. Иначе получить последовательность аn, …, a1.
C++ Перегрузка оператора < У меня 2 файла . Przedzial.h и Przedzial.cpp В первом только класс и названия метод и т.д. Во втором описание. Przedzial.h #include <string> #include <iostream> #ifndef DW__PRZEDMIOT_H__ #define DW__PRZEDMIOT_H__ подробнее

Показать сообщение отдельно
fuelcs
12 / 12 / 0
Регистрация: 23.01.2013
Сообщений: 143
09.03.2013, 17:38     Получить новую матрицу, переставляя ее блоки размера nxn
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <iostream>
#include <iomanip>
using namespace std;
 
void init (int** a, int n)
{
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<n;j++)
        {
            a[i][j]=i*n+j+1;
        }
    }
}
 
void out (int** a, int n)
{
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<n;j++)
        {
            cout << setw(4) << a[i][j];
        }
        cout << "\n";
    }
}
 
int** swap_my (int** a, int n)
{
    int** temp=new int* [n/2];
    for (int i=0;i<n/2;i++)
    {
        temp[i]=new int [n/2];
    }
    int** b=new int* [n];
    for (int i=0;i<n;i++)
    {
        b[i]=new int [n];
    }
    for (int h=0;h<2;h++)
    {
        for (int i=h*(n/2),k=0;i<n/(2-h);i++,k++)
        {
            for (int j=(n/2),g=0;j<n;j++,g++)
            {
                temp[k][g]=a[i][j];
                //cout << setw(4) << temp[k][g];
            }
            //cout << "\n";
        }
        for (int i=h*(n/2);i<n/(2-h);i++)
        {
            for (int j=(n/2),g=0;j<n;j++,g++)
            {
                b[i][j]=a[i][g];
            }
        }
        for (int i=h*(n/2),k=0;i<n/(2-h);i++,k++)
        {
            for (int j=0;j<n/2;j++)
            {
                b[i][j]=temp[k][j];
            }
        }
    }
 
    for (int i=0;i<n/2;i++)
    {
        delete [] temp[i];
    }
    delete [] temp;
 
    return b;
}
 
int main()
{
    int n=10;
    int** a=new int*[n];
    for (int i=0;i<n;i++)
    {
        a[i]=new int [n];
    }
    
    init(a,n);
    out(a,n);
 
    int** b=swap_my(a,n);
    cout << "\n";
    out(b,n);
 
    for (int i=0;i<n;i++)
    {
        delete [] a[i];
    }
    delete [] a;
    for (int i=0;i<n;i++)
    {
        delete [] b[i];
    }
    delete [] b;
    
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru