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

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

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

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

17.12.2013, 17:30. Просмотров 225. Ответов 1
Метки нет (Все метки)

Заполнить матрицу размера nхn целыми числами 1, 2, …, n2. зигзагом
http://s12.postimg.org/kho343tl9/098765.png
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
#include <iostream>
#include <iomanip>
#include <windows.h>
 
using namespace std;
 
int main()
{
    const int colum = 10; 
    const int row   = 10; 
    int array[100][100];
 
    int x, y,  
        value = 1; 
     for (int diag = 0; diag < colum; diag++)
    {
        if (diag % 2 == 0) 
        {
            x = 0; 
            y = diag; 
 
            while (y >= 0) 
            {
                array[x][y] = value; 
                value++;
                x++;     
                y--;    
            }
        }
        else 
        {
            x = diag; 
            y = 0; 
 
            while (x >= 0) 
            {
                array[x][y] = value; 
                value++;
                x -= 1;  
                y +=  1; 
            }
        }
    } 
 
    
    for (int diag = 1; diag < colum; diag++)
    {
        if (diag % 2 == 0)
        {
            x = 8; 
            y = diag;  
 
            while (y <= 8) 
            {
                array[x][y] = value;
                value++;
                x--; 
                y++; 
            }
        }
        else 
        {
            x = diag;
            y = 8;   
            while (x <= 8) 
            {
                array[x][y] = value;
                value++;
                x++; 
                y--; 
            }
        } 
    } 
    for (int ix = 0; ix < row; ix++)
    {
        for (int jx = 0; jx < colum; jx++)
            cout << setw(4) << array[ix][jx] << " ";
        cout << endl;
    }
 
    return 0;
    system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 17:30     Заполнить матрицу
Посмотрите здесь:

Заполнить матрицу - C++
дано квадратную матрицу в которой все элементы = 1, написать функцию void func (int** arr, int n), заполнит нужные области 0 (размер...

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

Заполнить матрицу А(15,15) - C++
Здравствуйте. Помогите пожалуйста решить задачу. Недавно начал изучать С++, пока ничего не понимаю в нем. Заранее спасибо. Задача. ...

Заполнить матрицу - C++
Заполните матрицу ЛП,от центра по спирали:вниз-влево-вверх-вправо.

Заполнить матрицу - C++
Заполнить матрицу случайными числами. Отобразить симметрично относительно вертикальной оси секторы матрицы, которые лежат влево и вправо от...

Заполнить матрицу - C++
Здравствуйте, уважаемые форумчане! Мне нужно сделать программку, которая бы заполняла строку матрицы числом (или символом) , которое...

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

Заполнить матрицу по правилу - C++
Привет!помогите составить программу,которая заполнит массив А как показано ниже: сначала заполнила весь массив нулями: void main(){ ...

как заполнить матрицу - C++
дана матрица А. определить количество элементов матрицы, меньших среднеарифметического этой матрицы

Заполнить матрицу по спирали - C++
Заполнить матрицу, от центра по спирали: вниз - влево - вверх - вправо. Размерность матрицы должна вводиться при выполнении программы.

Заполнить матрицу змейкой - C++
Простая задача. Заполнить матрицу змейкой. Я совершенный новичок. Только начали проходить функции, указатели еще не проходили. Если можно...

Заполнить матрицу змейкой - C++
Нужно заполнить квадратный двухмерный масив змейкой и вывести. 1 2 3 6 5 4 7 8 9


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
jurok_85
241 / 224 / 77
Регистрация: 21.02.2013
Сообщений: 518
Завершенные тесты: 1
17.12.2013, 20:01     Заполнить матрицу #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
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <iostream>
 
using namespace std;
 
int main()
{
    int x=0,y=0,value=1,column=0,sum=2,n=3,ssize;
    cout<<"Enter array size: ";
    cin>>n;
    ssize=n;
    cout<<endl;
    while(ssize>=10)
    {
        ssize/=10;
        sum++;
    }
    bool star=false;
    int array[n][n];
    while(value<=n*n)
    {
        if(column<=n&&star==false)
        {
            if(!(column%2))
            {
                for(int i=column;i>=0;--i)///четные
                {
                    array[y][x]=value;
                    value++;
                    if(x!=0)
                    {
                        x--;
                    }
                    y++;
                }
            }
            else
            {
                for(int i=0;i<=column;++i)///нечетные
                {
                    array[y][x]=value;
                    value++;
                    if(y!=0)
                    {
                       y--;
                    }
                    x++;
                }
            }
            column++;
            if(column==n)
            {
                if(!(column%2))//делится на 2
                {
                    y=1;
                    x=n-1;
                }
                else // не делится на 2
                {
                    y--;
                    x++;
                }
                star=true;
                column--;
                column--;
            }
        }
        else
        {
            if(!(column%2))
            {
                for(int i=column;i>=0;--i)///четные
                {
                    array[y][x]=value;
                    value++;
                    if(i==0)
                    {
                        x++;
                        break;
                    }
                    if(x!=0)
                    {
                        x--;
                    }
                    y++;
                }
            }
            else
            {
                for(int i=0;i<=column;++i)///нечетные
                {
                    array[y][x]=value;
                    value++;
                    if(i==column)
                    {
                        y++;
 
                        break;
                    }
                    if(y!=0)
                    {
                       y--;
                    }
                    x++;
                }
            }
            column--;
        }
    }
    for(y=0;y<n;++y)
    {
        for(x=0;x<n;++x)
        {
            cout.width(sum);
            cout<<array[y][x]<<" ";
        }
        cout<<endl;
    }
    return 0;
}
Ответ Создать тему
Опции темы

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