По разделам

 

Решение задачи Matrix 15


Дана квадратная матрица A порядка M (M — нечетное число). Начиная с элемента A1,1 и перемещаясь по часовой стрелке, вывести все ее элементы по спирали: первая строка, последний столбец, последняя строка в обратном порядке, первый столбец в обратном порядке, оставшиеся элементы второй строки и т.д.; последним выводится центральный элемент матрицы.

Код (C/C++)

#include <bits/stdc++.h>

using namespace std;

int main()
{

//    1 2 3 4 5
//    5 6 7 8 6
//    9 1 2 3 7
//    4 5 6 7 8
//    9 8 7 6 1

    int m;
    cin >> m;
    vector< vector<int> > a(m, vector<int> (m));
    for(int i = 0; i < m/2; ++i){
        for(int j = i; j < m - i; ++j)
            cin >> a[i][j];
//
//        for(auto i: a){
//            for(auto j: i)
//                cout << j << ' ';
//            cout << endl;
//        }
//        cout << endl;

        for(int j = 1 + i; j < m - i; ++j)
            cin >> a[j][m - i - 1];

//        for(auto i: a){
//            for(auto j: i)
//                cout << j << ' ';
//            cout << endl;
//        }
//        cout << endl;
        for(int j = m - i - 2; j >= i; --j)
            cin >> a[m - i - 1][j];

//        for(auto i: a){
//            for(auto j: i)
//                cout << j << ' ';
//            cout << endl;
//        }
//        cout << endl;
        for(int j = m - 2 - i; j >= i + 1; --j)
            cin >> a[j][i];

//        for(auto i: a){
//            for(auto j: i)
//                cout << j << ' ';
//            cout << endl;
//        }
//        cout << endl;

    }
    cin >> a[m/2][m/2];
    for(auto i: a){
        for(auto j: i)
            cout << j << ' ';
        cout << endl;
    }
    return 0;
}

Код (Python)

import random
import numpy

#M = random.randrange(2,10)
M = 5
print("M = ",M)
a = numpy.zeros((M, M))
#a.astype(int)

k = 0
for i in range(0,M):
    for j in range(i,M-i):
        k += 1
        a[i][j] = k

    for j in range(i+1,M-i):
        k += 1
        a[j][M-1-i] = k

    for j in range(M-2-i,i-1,-1):
        k += 1
        a[M-1-i][j] = k

    for j in range(M-2-i,i,-1):
        k += 1
        a[j][i] = k

    i +=2

print(a)


k = 0
for i in range(0,M):
    for j in range(i,M-i):
        print(a[i][j], end=" ")

    for j in range(i+1,M-i):
        print(a[j][M-1-i], end=" ")

    for j in range(M-2-i,i-1,-1):
        print(a[M-1-i][j], end=" ")

    for j in range(M-2-i,i,-1):
        print(a[j][i], end=" ")

    i +=2
									

Код (Pascal)

program Matrix15;
var
  a:array [1..10,1..10] of integer;
  M, i, j, i2:Integer;
 
begin
 
 Write('M: ');
 Readln(M);
 
 for  i:=1 to M do
  begin
   writeln(i,': ');
   for j:=1 to M do
    begin
     Write(j,' : ');
     Read(a[i,j]);
    end;
  end;
 
  for i2:=1 to M div 2 do
   begin
    For i:=i2 to M-i2+1 do Write(a[i2,i],' ');
    For j:=i2+1 to M-i2+1 do Write(a[j,M-i2+1],' ');
    For i:=M-i2 downto i2 do Write(a[M-i2+1,i],' ');
    For j:=M-i2 downto i2+1 do Write(a[j,i2],' ');
    writeln('');
   end;
  writeln(a[M div 2+1,M div 2+1]);
end.
									

Дополнительно

#include <bits/stdc++.h>

using namespace std;

int main()
{
    system("chcp 1251");
    srand(time(0));
    int m;
    cin >> m;
    vector <vector < int > > ar(m , vector < int > (m));
    for (unsigned i = 0;i < ar.size();++i)
        for (unsigned j = 0;j < ar.size();++j)
            ar[i][j] = rand() % 90 + 10;
    for (auto i : ar){
        for (auto j : i)
            cout << j << " ";
        cout << endl;
    }
    cout << endl;//size_t = unsigned
    for (size_t i = 0;i < ar.size() / 2 + 1;++i){
        for (size_t j = i;j < ar.size() - i;++j)
            cout << ar[i][j] << " ";
    for (size_t j = i + 1;j < ar.size() - i;++j)
        cout << ar[j][ar.size() - i - 1] << " ";
    for (size_t j = ar.size() - 2 - i;(int)j > i;--j)
        cout << ar[ar.size() - i - 1][j] << " ";
    for (size_t j = ar.size() - 1 - i;j > i;--j)
        cout << ar[j][i] << " ";
    }
    return 0;
}

// Решение пользователя Electro Full
									



Matrix. Абрамян
Matrix 1 Просмотров: 11744
Matrix 2 Просмотров: 4306
Matrix 3 Просмотров: 4440
Matrix 4 Просмотров: 3317
Matrix 5 Просмотров: 4963
Matrix 6 Просмотров: 3294
Matrix 7 Просмотров: 4054
Matrix 8 Просмотров: 3088
Matrix 9 Просмотров: 3967
Matrix 10 Просмотров: 2820
Matrix 11 Просмотров: 4287
Matrix 12 Просмотров: 2992
Matrix 13 Просмотров: 2935
Matrix 14 Просмотров: 1882
Matrix 15 Просмотров: 2568
Matrix 16 Просмотров: 2456
Matrix 17 Просмотров: 4291
Matrix 18 Просмотров: 2108
Matrix 19 Просмотров: 2768
Matrix 20 Просмотров: 3185
Matrix 21 Просмотров: 3206
Matrix 22 Просмотров: 1942
Matrix 23 Просмотров: 4416
Matrix 24 Просмотров: 2170
Matrix 25 Просмотров: 2343
Matrix 26 Просмотров: 2017
Matrix 27 Просмотров: 1978
Matrix 28 Просмотров: 1879
Matrix 29 Просмотров: 1789
Matrix 30 Просмотров: 1737
Matrix 31 Просмотров: 1469
Matrix 32 Просмотров: 1336
Matrix 33 Просмотров: 1432
Matrix 34 Просмотров: 1767
Matrix 35 Просмотров: 1490
Matrix 36 Просмотров: 1571
Matrix 37 Просмотров: 1305
Matrix 38 Просмотров: 1401
Matrix 39 Просмотров: 1328
Matrix 40 Просмотров: 1348
Matrix 41 Просмотров: 1096
Matrix 42 Просмотров: 1442
Matrix 43 Просмотров: 1113
Matrix 44 Просмотров: 1116
Matrix 45 Просмотров: 1153
Matrix 46 Просмотров: 1213
Matrix 47 Просмотров: 1378
Matrix 48 Просмотров: 1171
Matrix 49 Просмотров: 1191
Matrix 50 Просмотров: 1511
Matrix 51 Просмотров: 1351
Matrix 52 Просмотров: 1337
Matrix 53 Просмотров: 1195
Matrix 54 Просмотров: 983
Matrix 55 Просмотров: 1046
Matrix 56 Просмотров: 842
Matrix 57 Просмотров: 1028
Matrix 58 Просмотров: 1275
Matrix 59 Просмотров: 1048
Matrix 60 Просмотров: 970
Matrix 61 Просмотров: 1005
Matrix 62 Просмотров: 987
Matrix 63 Просмотров: 1136
Matrix 64 Просмотров: 1137
Matrix 65 Просмотров: 1011
Matrix 66 Просмотров: 853
Matrix 67 Просмотров: 885
Matrix 68 Просмотров: 991
Matrix 69 Просмотров: 869
Matrix 70 Просмотров: 986
Matrix 71 Просмотров: 822
Matrix 72 Просмотров: 861
Matrix 73 Просмотров: 937
Matrix 74 Просмотров: 889
Matrix 75 Просмотров: 785
Matrix 76 Просмотров: 909
Matrix 77 Просмотров: 928
Matrix 78 Просмотров: 866
Matrix 79 Просмотров: 917
Matrix 80 Просмотров: 2494
Matrix 81 Просмотров: 1260
Matrix 82 Просмотров: 968
Matrix 83 Просмотров: 1359
Matrix 84 Просмотров: 866
Matrix 85 Просмотров: 941
Matrix 86 Просмотров: 872
Matrix 87 Просмотров: 960
Matrix 88 Просмотров: 775
Matrix 89 Просмотров: 785
Matrix 90 Просмотров: 942
Matrix 91 Просмотров: 811
Matrix 92 Просмотров: 770
Matrix 93 Просмотров: 795
Matrix 94 Просмотров: 941
Matrix 95 Просмотров: 776
Matrix 96 Просмотров: 877
Matrix 97 Просмотров: 893
Matrix 98 Просмотров: 1035
Matrix 99 Просмотров: 1009
Matrix 100 Просмотров: 1125

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться

  1. Avatar
    Electro Full
    2020-07-22
    size_t = unsigned


Заявка на расчет