Сведения о вопросе

Faridun

16:19, 20th July, 2020

Теги

Дана квадратная матрица A порядка M. Начиная с элемента A1,1, вывести ее элементыследующим образом(«уголками»): все элементыпервого столбца; элементы последней строки, кроме первого (уже выведенного) элемента; оставшиеся элементы второго столбца; оставшиеся элементы предпоследней строки и т.д.; последним выводится элемент A1,M

Просмотров: 995   Ответов: 5

РЕШИТЬ НА С++  ЖЕЛАТЕЛЬНО С ОБЪЯСНЕНИЕМ



  Сведения об ответе

darknet

16:56, 20th July, 2020

#include <bits/stdc++.h>

using namespace std;

int main()
{
//    1 2 3 9
//    4 5 6 0
//    7 8 9 4
//    4 5 6 7

    system("chcp 1251");
    int m;
    cin >> m;
    vector<vector<int> > a(m, vector<int> (m));
    for(int i = 0; i < m; ++i){
        for(int j = 0; j < m; ++j){
            cin >> a[i][j];  // даём значения элементам массива
        }
    }
    cout << "Результат: " << endl;
    for(int i = 0; i < m; ++i){

        for(int j = 0; j < m - i; ++j){
            cout << a[j][i] << " ";
        }

        for(int j = i + 1; j < m; ++j){
            cout << a[m - i - 1][j] << " ";
        }
    }
    return 0;
}

Если что-то непонятно спросите, а так можете сами разобраться, вроде не сложно  cheeky


  Сведения об ответе

DO__IT

17:02, 20th July, 2020

vector<vector<int> > a(m, vector<int> (m));

vector<int> (m)) - что это означает?


  Сведения об ответе

FAriza

17:05, 20th July, 2020

В данной строке кода мы создаём матрицу, значения элементов равны нулю

vector<int> (m)  -  массив из m нулей


  Сведения об ответе

SSESION

17:13, 20th July, 2020

for(int j = 0; j < m - i; ++j){
            cout << a[j][i] << " ";
        }

        for(int j = i + 1; j < m; ++j){
            cout << a[m - i - 1][j] << " ";
        }

Можете объяснить вот эти части кода 

 


  Сведения об ответе

P_S_S

17:20, 20th July, 2020

Возмите пример и разбирайте. Например при n = 3:

1 2 3

4 5 6

7 8 9

Первый внутренний цикл печатает столбцы, а второй - строки. 

 


Ответить на вопрос

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