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

Матрица порядка N (упростить/улучшить код) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс Прямая(Помогите реализовать построение прямой через 1 точку и параллельную ей прямую) http://www.cyberforum.ru/cpp-beginners/thread753317.html
Помогите дописать класс // Методы класса "Прямая" // ------------------------------------------------------------- // конструктор: прямая задается своими коэффициентами Line::Line(double...
C++ Генерация программы Есть рабочая программа.Требуется в помощь в компиляции её в Visual Studio 2005 Происходит выход из программы без просмотра результатов.Заранее благодарю. // Гиперкуб.cpp : Defines the entry... http://www.cyberforum.ru/cpp-beginners/thread753279.html
В текстовом файле t записаны буквы латинского алфавита и цифры. Занести в текстовый файл h из текстового файла t только латинские буквы. C++
В текстовом файле t записаны буквы латинского алфавита и цифры. Занести в текстовый файл h из текстового файла t только латинские буквы.
Задачи С++ C++
Помогите с задачами. Сказали реализовать на С++, но я даже не знаю как это сделать. Читала в книгах, но там примера кода не было, только описывается что это такое. Если кто может помогите. 1....
C++ Посчитать m последних разрядов числа n http://www.cyberforum.ru/cpp-beginners/thread753240.html
Всем привет! В свободное от работы время занимаюсь программированием - подтягиваю свой уровень до того, который был когда-то раньше, во время обучения в ВУЗе. Для начала решил озаботиться азами,...
C++ Подскажите алгоритм заполнения матрицы по спирали нужно сделать так чтобы получалась вот такая матрица 2х2 1 2 4 3 3х3 подробнее

Показать сообщение отдельно
UnsKneD
алкокодер
154 / 150 / 11
Регистрация: 27.12.2012
Сообщений: 548

Матрица порядка N (упростить/улучшить код) - C++

05.01.2013, 15:13. Просмотров 342. Ответов 2
Метки (Все метки)

Задание: Получить целочисленную квадратную матрицу порядка N
1 2 3 ... 3 2 1
0 1 2 ... 2 1 0
...
0 1 2 ... 2 1 0
1 2 3 ... 3 2 1
Можно ведь проще сделать, посоветуйте пожалуйста.
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
int A[7][7];
int N = 7;
 
int n = 2, m, k = 0;
if(N%2 == 0) m = N/2;
else m = N/2+1;
 
for(int i = 0; i<N/2; i++)
{
    for(int j = 0; j<N/2; j++)
    {
        if(i==j) A[i][j] = 1;
        if(i<j) A[i][j] = n++;
        if(i>j) A[i][j] = 0;
    }
    for(int j = N/2; j<N; j++)
    {
        if(i+j+1==N) A[i][j] = 1;
        if(i+j+1<N) A[i][j] = m--;
        if(i+j+1>N) A[i][j] = 0;
    }
    if(N%2 == 0) m = N/2-1-k;
    else m = N/2-k;
    n = 2; k++;
    
}
 
int nn = 2, mm = 2, l = 0;
for(int i = N/2; i<N; i++)
{
    
    for(int j = 0; j<N/2; j++)
    {
        if(i+j+1==N) A[i][j] = 1;
        if(i+j+1<N) A[i][j] = 0;
        if(i+j+1>N) A[i][j] = nn++;
    }
    for(int j = N/2; j<N; j++)
    {
        if(i==j) A[i][j] = 1;
        if(i<j) A[i][j] = 0;
        if(i>j) A[i][j] = mm--;
    }
    mm = 2+l; nn = 2; l++;
}
 
for(int i = 0; i<N; i++)
{
    for(int j = 0; j<N; j++)
    {
        cout << A[i][j] << " ";
    }
    cout << endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru