Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Формирование матрицы определенного вида C++


Автор: maskofreallive 13.12.2010, 21:59
День добрый. 
Задали такую задачу. Нужно сформировать матрицу вида:

1 0 0 . . . 0    0  N
0 2 0 . . . 0  N-1 0
0 0 3 . . . N-2 0  0
 . . .  . . .  . . .  . . . 
 . . .  . . .  . . .  . . . 
 . . .  . . .  . . .  . . . 
0 2 0 . . . 0  N-1 0
1 0 0 . . . 0   0   N

Собственно говоря, даже не знаю, по какому алгоритму такую матрицу сформировать. 

Автор: RastaDja 14.12.2010, 09:23
наваял первое что попало в голову
Код

#include "stdafx.h"
#include "iostream"
using namespace std;
const int N = 10;

int _tmain(int argc, _TCHAR* argv[])
{    
    int matr [N][N]; 
    for (int i=0; i<N; ++i){                  //тет забили матрицу нулями
        for (int j=0; j<N; ++j){
            matr[i][j] = 0;
        }
    }
    for (int i=0; i<N; ++i){   
        matr[i][i] = i+1;                   //главная диагональ
        matr[N-i-1][i] = i+1;            //вторая диагональ
    }
    
    for (int i=0; i<N; ++i){
        for (int j=0; j<N; ++j){
            cout<<matr[i][j]<<" ";
        }
        cout<<endl;
    }

    return 0;
}

Автор: maskofreallive 14.12.2010, 18:41
Благодарю. Жаль плюсик поставить не могу(( 
Код подправил, массив сделал динамическим. И все стало просто шикарно. 

Автор: Crafty 14.12.2010, 18:55
Цитата(maskofreallive @  14.12.2010,  18:41 Найти цитируемый пост)
Жаль плюсик поставить не могу(( 

Я поставил.

Автор: RastaDja 15.12.2010, 09:20
 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)