Форум программистов, компьютерный форум, киберфорум
Наши страницы
ПерС
Войти
Регистрация
Восстановить пароль
Оценить эту запись

Заполнение матрицы змейкой по диагонали, начиная с правого верхнего угла

Запись от ПерС размещена 12.02.2016 в 09:42
Обновил(-а) ПерС 12.02.2016 в 09:44

Как на картинке
Нажмите на изображение для увеличения
Название: Змейка по диагонали с правого верхнего угла.jpg
Просмотров: 155
Размер:	15.2 Кб
ID:	3630
Если в программке менять порядок обхода строк и столбцов в циклах по i,j - можно с другого угла.
Если менять местами -i, -j и -q, -p в тернарном операторе - можно поворачивать в других направлениях.
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
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
 
int main() {
 int n;
 cout << endl << "N=? (from 2 to 100): ";
 cin >> n;
 int mas[100][100];
 for (int i = 0; i < n; i++) {
  for (int j = n-1; j > -1; j--) {
   if ((i + j) < n) {
    mas[i][j] = 0.5 * (i + j + 1) * (i + j + 2) + 
                ((i + j) % 2 == 0 ? -j : -i);
   }
   else {
    int p = n - i - 1, q = n - j - 1;
     mas[i][j] = n * n + 1 - 
             (0.5 * (p + q + 1) * (p + q + 2) + 
                 ((p + q) % 2 == 0 ? -q : -p));
   }
   cout << mas[i][j] << "\t";
  }
  cout << endl;
 }
 _getch();
 return 0;
}
Размещено в Без категории
Просмотров 283 Комментарии 1
Всего комментариев 1
Комментарии
  1. Старый комментарий
    Аватар для ildwine
    Годно!
    Запись от ildwine размещена 05.05.2018 в 23:26 ildwine вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru