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

Дана матрица - C++

Восстановить пароль Регистрация
 
serega721
4 / 4 / 0
Регистрация: 04.10.2009
Сообщений: 168
23.03.2010, 10:29     Дана матрица #1
Помогите пожалуйста написать прогу на Си!
Дана матрица размера SxS S-четное. Составить программу, которая выполняет обмен между четвертями матрицы. 1-3, 2-4
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2010, 10:29     Дана матрица
Посмотрите здесь:

C++ Дана матрица A[5,3].
Дана матрица C++
C++ Дана матрица B[N,M]
C++ Дана Матрица
дана матрица m x N C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
23.03.2010, 11:46     Дана матрица #2
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
#include <iostream>
#include <cstdlib>
 
int main(void) 
{
    const int N = 4;
    const int M = 4;
 
    int a[N][N];
    
    // Fill matrix by random values
    for(int i = 0; i < N; ++i)
        for(int j = 0; j < M; ++j)
            a[i][j] = rand() % 9;
    
    // Ouput matrix
    for(int i = 0; i < N; ++i)
    {
        for(int j = 0; j < M; ++j)
            std::cout << a[i][j] << ' ';
        std::cout << std::endl;
    }
    
    // Swaping
    for(int i = 0; i < N; ++i)
        for(int j = 0; j < M/2; ++j)
            if(i < N/2)
                std::swap(a[i][j], a[i+N/2][j+M/2]);
            else
                std::swap(a[i][j], a[i-N/2][j+M/2]);
            
    // Ouput matrix
    std::cout << std::endl;
    for(int i = 0; i < N; ++i)
    {
        for(int j = 0; j < M; ++j)
            std::cout << a[i][j] << ' ';
        std::cout << std::endl;
    }
}
Результат:
Код
5 8 7 4
8 1 3 0
7 2 8 2
7 6 7 5

8 2 7 2
7 5 7 6
7 4 5 8
3 0 8 1
grrrrr
 Аватар для grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
23.03.2010, 12:27     Дана матрица #3
а что делает функция swap? и что такое обмен между четвертями?
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
23.03.2010, 12:32     Дана матрица #4
Цитата Сообщение от grrrrr Посмотреть сообщение
а что делает функция swap?
swap меняет значения двух элементов, то есть
C++
1
2
int a = 1, b = 2;
std::swap(a,b); // теперь a = 2, b = 1;
Цитата Сообщение от grrrrr Посмотреть сообщение
и что такое обмен между четвертями?
Поменять местами все элементы одной четверти и другой четверти xD
grrrrr
 Аватар для grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
23.03.2010, 12:36     Дана матрица #5
Понял. Спасибо!
Yandex
Объявления
23.03.2010, 12:36     Дана матрица
Ответ Создать тему
Опции темы

Текущее время: 18:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru