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

Циклический сдвиг матрицы MxN - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ LNK2019: ссылка на неразрешенный внешний символ. Что это за ошибка? http://www.cyberforum.ru/cpp-beginners/thread1084938.html
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup C:\Documents and Settings\Димон\Мои документы\Visual Studio 2010\Projects\wchar\wchar\MSVCRTD.lib(crtexew.obj) wchar
C++ Как создать чекер для проверки консольных программ Мне нужно научиться создавать чекеры для проверки консольных программ... Где можно почитать об этом, а то везде чекеры, чекеры, но не такого типа как мне нужно. http://www.cyberforum.ru/cpp-beginners/thread1084934.html
Ошибка в коде. Не могу ввести вещественное число C++
При выполнении программы пытаюсь ввести элементы массива. Каждое число должно быть вещественным. При выполнении программы (при вводе вещественных чисел в массив) компилятор выдает ошибку (скрин прилагается). При вводе целочисленного значения массива программа работает правильно. Где-то идет несоответствие типов данных. Как можно изменить код, чтоб в массив можно было вводить число с плавающей...
C++ setlocale не совсем работает
есть код: #include <iostream> #include <conio.h> #include <clocale> using namespace std; int main() { setlocale (LC_ALL,"Russian"); struct zap
C++ Оформить в виде функции http://www.cyberforum.ru/cpp-beginners/thread1084931.html
Даны действительные числа s, t. Получить: g(1.2, s)+g(t, s)-g(2s - 1.5t), |g(ln(s, t+1))-g(t, s)|, где
C++ Составить программу вычисления произвольного количества значений выражения Составить программу вычисления произвольного количества значений выражения. Необходимость повторного вычисления значений и аргументы задает пользователь. Вычисление выражения должно происходить в отдельной функции. подробнее

Показать сообщение отдельно
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
30.01.2014, 20:19     Циклический сдвиг матрицы MxN
Suares, может есть недочёты, отпишитесь если что не ясно.
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
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    int W, H;
    cout << "Enter M: "; cin >> W;
    cout << "Enter N: "; cin >> H;
    cout << "\n\n";
    int** M = new int*[W];
    for(int i = 0; i < W; i++)
        M[i] = new int[H];
        
    int q = 0, loop = 0, counter;
    for(int i = 0; i < W; i++)
    {
        for(int j = 0; j < H; j++)
        {
            q++;
            M[i][j] = q;
        }
    }
    
    for(int i = 0; i < W; i++)
    {
        for(int j = 0; j < H; j++)
        {
            cout << setw(3) << M[i][j];
        }
        cout << "\n\n";
    }
    
    if(!(W % 2))
        counter = W / 2 - 1;
    else
        counter = W / 2;
    
    while(loop <= counter)
    {
        int temp1 = 0, temp2 = 0;       
        for(int j = loop, i = j; j < H - loop; j++) //Смещаем верхнюю границу
        {
            if(temp1 > 0)
            {
                temp1 = M[i][j];
                M[i][j] = temp2;
            }
            else
                temp1 = M[i][j];
            temp2 = temp1;
        }
        for(int j = loop + 1; j < W - loop; j++) //Смещаем правую границу
        {
            temp1 = M[j][H - 1 - loop];
            M[j][H - 1 - loop] = temp2;
            temp2 = temp1;
        }
        for(int j = H - loop - 2; j >= loop; j--) //Смещаем нижнюю границу
        {
            temp1 = M[W - 1 - loop][j];
            M[W - 1 - loop][j] = temp2;
            temp2 = temp1;
        }
        for(int j = W - loop - 2; j >= loop; j--) //Смещаем левую границу
        {
            temp1 = M[j][loop];
            M[j][loop] = temp2;
            temp2 = temp1;
        }
        loop++;
    }
    
    cout << "\n\n";
    
    for(int i = 0; i < W; i++)
    {
        for(int j = 0; j < H; j++)
        {
            cout << setw(3) << M[i][j];
        }
        cout << "\n\n";
    }
    
    delete []M[H];
    
    system("pause");
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru