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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SimplyZero
0 / 0 / 1
Регистрация: 09.07.2011
Сообщений: 18
#1

квадратная матрица на С ??? - C++

09.07.2011, 14:40. Просмотров 714. Ответов 3
Метки нет (Все метки)

написать программу на стандартном языке С (не с++)
Дана действительная квадратная матрица порядка 2n. Получить новую матрицу переставляя ее блоки размера n x n
таким образом
квадратная матрица на С ???

очень нужно помогите если не трудно за ранее благодаарен

может это и не такая трудная прога но для меня это трудно...

 Комментарий модератора 
Прикрепляйте картинки к сообщениям.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2011, 14:40     квадратная матрица на С ???
Посмотрите здесь:

Квадратная матрица C++
C++ Квадратная матрица !
Квадратная матрица C++
C++ квадратная матрица
Квадратная матрица C++
C++ Квадратная Матрица
C++ Квадратная матрица
C++ Квадратная матрица
C++ квадратная матрица
Квадратная матрица C++
C++ Квадратная матрица
C++ Квадратная матрица

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9455 / 5468 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
09.07.2011, 16:13     квадратная матрица на С ??? #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
41
42
43
44
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define DVA_N 8
#define N (DVA_N / 2)
 
int main(void){
    int matrix[DVA_N][DVA_N], i, j;
    int buf[N];
    
    for ( i = 0; i < N; ++i )
        for ( j = 0; j < N; ++j )
            matrix[i][j] = 1;
    for ( i = 0; i < N; ++i )
        for ( j = N; j < DVA_N; ++j )
            matrix[i][j] = 2;
    for ( i = N; i < DVA_N; ++i )
        for ( j = N; j < DVA_N; ++j )
            matrix[i][j] = 3;
    for ( i = N; i < DVA_N; ++i )
        for ( j = 0; j < N; ++j )
            matrix[i][j] = 4;
    
    printf("Before:\n");
    for ( i = 0; i < DVA_N; ++i )
        for ( j = 0; j < DVA_N; ++j )
            printf("%2d%c", matrix[i][j], ( j < DVA_N - 1 ) ? ' ' : '\n');
    
    for ( i = 0; i < N; ++i ){
        memcpy(buf, &matrix[i][0], sizeof(int) * N);
        memcpy(&matrix[i][0], &matrix[N + i][0], sizeof(int) * N);
        memcpy(&matrix[N + i][0], &matrix[N + i][N], sizeof(int) * N);
        memcpy(&matrix[N + i][N], &matrix[i][N], sizeof(int) * N);
        memcpy(&matrix[i][N], buf, sizeof(int) * N);
    }
    
    printf("After:\n");
    for ( i = 0; i < DVA_N; ++i )
        for ( j = 0; j < DVA_N; ++j )
            printf("%2d%c", matrix[i][j], ( j < DVA_N - 1 ) ? ' ' : '\n');
    
    exit(0);
}
Код
andrew@andrew-home ~/cpp/numbers
$ gcc -o dva_n dva_n.c

andrew@andrew-home ~/cpp/numbers
$ ./dva_n
Before:
 1  1  1  1  2  2  2  2
 1  1  1  1  2  2  2  2
 1  1  1  1  2  2  2  2
 1  1  1  1  2  2  2  2
 4  4  4  4  3  3  3  3
 4  4  4  4  3  3  3  3
 4  4  4  4  3  3  3  3
 4  4  4  4  3  3  3  3
After:
 4  4  4  4  1  1  1  1
 4  4  4  4  1  1  1  1
 4  4  4  4  1  1  1  1
 4  4  4  4  1  1  1  1
 3  3  3  3  2  2  2  2
 3  3  3  3  2  2  2  2
 3  3  3  3  2  2  2  2
 3  3  3  3  2  2  2  2

andrew@andrew-home ~/cpp/numbers
$
grizlik78
Эксперт С++
1903 / 1435 / 109
Регистрация: 29.05.2011
Сообщений: 2,989
09.07.2011, 16:39     квадратная матрица на С ??? #3
Так честнее и надёжнее:
C
1
2
#define N 4
#define DVA_N (2*N)
SimplyZero
0 / 0 / 1
Регистрация: 09.07.2011
Сообщений: 18
09.07.2011, 17:32  [ТС]     квадратная матрица на С ??? #4
sps!!
Yandex
Объявления
09.07.2011, 17:32     квадратная матрица на С ???
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru