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

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

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

Заполнить матрицу по заданному образцу - C++

03.06.2014, 23:19. Просмотров 267. Ответов 1
Метки нет (Все метки)

Здравствуйте. Помогите пожалуйста с задачей, уже несколько дней сижу,ничего не получается.

Задано число N(может быть четным или нечетным). Заполнить элементы массива по заданному образцу. То есть нужен некоторый алгоритм который заполняет элементы массива по особенному , после того как введем число N с клавиатуры Найти несколько вариантов и найти самый быстрый.
образец: при вводе N=5 массив заполняется следующим образом
Код
 1   5   13    6    2
12  17   21   18    7
16  24   25   22   14
11  20   23   19    8
 4  10   15    9    3
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2014, 23:19     Заполнить матрицу по заданному образцу
Посмотрите здесь:

Сформировать матрицу по заданному образцу - C++
Двумерный массив Получить матрицу: 1 0 … 0 1 0 1 … 1 0 . . … . . 0 1 … 1 0 1 0 … 0 1 У меня не че не получается,...

Сформировать матрицу по заданному образцу - C++
0 0 0 … 0 0 0 1 0 … 0 0 0 0 2 … 0 0 ……………………. 0 0 0 … 0 n-1

Сформировать квадратную матрицу по заданному образцу - C++
Сформируйте квадратную матрицу порядка n по заданному образцу. Протестируйте программу для массива, состоящего из 10*10 элементов. 1 0...

Сформировать квадратную матрицу по заданному образцу - C++
Сформировать квадратную матрицу порядка N по заданному образцу: 111111 222220 333300 444000 550000 600000 Заранее Спасибки!)

Заполнить матрицу по образцу - C++
Заполнить матрицу размером n*m числами 1,2,3, … n*m, оюходя её соответственно варианту:

Заполнить матрицу по образцу - C++
Нужно сделать такую матрицу: 1 2 3 2 1 2 3 2 1 Начало есть, но как дальше хз. Делать нужно через двухмерный массив, и штуки...

Заполнить матрицу по образцу - C++
Заполнить заснетоши массив следующим образом: 111 112 ... 120 ... ... ... ... 11 12 ... 20 1 2 ... 10

Заполнить матрицу по образцу - C++
Нужно создать матрицу и заполнить ее таким образом: 1 2 6 7 15 16 28 ... 3 5 8 14 17 27 ... 4 9 13 18 26 ... 10...

Сформировать квадратную матрицу порядка n по заданному образцу - C++
Сформировать квадратную матрицу порядка n по заданному образцу. Добавлено через 5 минут 1 1 1 ... 1 1 1 1 0 0 ... 0 0 1 1...

Получить квадратную матрицу порядка n по заданному образцу - C++
Помогите пожалуйста получить квадратную матрицу порядка n по заданному образцу 1, ,0, ,1 .,1, ,1,. .,.,1,.,. .,1, ,1,. 1, ,0, ,1

Сформировать квадратную матрицу порядка n по заданному образцу - C++
Помогите сформировать квадратную матрицу порядка n по заданному образцу на С++.... задача есть на Pascal! Program Matrix; Uses crt; ...

Сформулировать квадратную матрицу порядка n по заданному образцу... - C++
Сформулировать квадратную матрицу порядка n по заданному образцу... Создается нулевая матрицы....но как осуществить замену элементов на...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
04.06.2014, 03:56     Заполнить матрицу по заданному образцу #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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <conio.h>
#include <iomanip>
 
int main()
{
    int N, value = 0, h = 0, w = 0;
    std::cout << "Type N: ";
    std::cin >> N;
    std::cout << "\n\n";
    
    int** M = new int*[N];
    for(int i = 0; i < N; i++)
        M[i] = new int[N];
    
    for(int i = 0; i < N; i++)
        for(int j = 0; j < N; j++)
            M[i][j] = 0;
    
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < N; j++)
        {
            if(M[i][j] == 0) M[i][j] = ++value;
            if(M[i][N - 1 - j] == 0) M[i][N - 1 - j] = ++value;
            if(M[N - 1 - i][N - 1 - j] == 0) M[N - 1 - i][N - 1 - j] = ++value;
            if(M[N - 1 - i][j] == 0) M[N - 1 - i][j] = ++value;
            
            if(M[i][(j + 1 + N) % N] == 0) M[i][(j + 1 + N) % N] = ++value;
            
            if(M[i][abs(N - 1 - j - 1)] == 0) M[i][abs(N - 1 - j - 1)] = ++value;
            if(M[(j + 1 + N) % N][N - 1 - i] == 0) M[(j + 1 + N) % N][N - 1 - i] = ++value;
            
            if(M[abs(N - 1 - j - 1)][N - 1 - i] == 0) M[abs(N - 1 - j - 1)][N - 1 - i] = ++value;
            if(M[N - 1 - i][abs(N - 1 - j - 1)] == 0) M[N - 1 - i][abs(N - 1 - j - 1)] = ++value;
            
            if(M[N - 1 - i][(j + 1 + N) % N] == 0) M[N - 1 - i][(j + 1 + N) % N] = ++value;
            if(M[abs(N - 1 - j - 1)][i] == 0) M[abs(N - 1 - j - 1)][i] = ++value;
            
            if(M[(j + 1 + N) % N][i] == 0) M[(j + 1 + N) % N][i] = ++value;
        }
    }
    
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < N; j++)
            std::cout << std::setw(4) << M[i][j];
        std::cout << "\n\n";
    }
    
    for(int i = 0; i < N; i++)
        delete [] M[i];
    delete [] M;
    
    std::cout << "\nOperation succeeded\n";
    getch();
    return 0;
}
Ответ Создать тему
Опции темы

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