Elabore un algoritmo que permita obtener la siguiente matriz:

#include <iostream>
#include "Calcular.h"
using namespace std;
void mostrarMatriz(Calcular *obj)
{
// recorro con el primer ciclo for las filas de la matriz i
for (int i = 0; i < 9; i++)
{
// recorro con el segundo ciclo for las columnas de la matriz j
for (int j = 0; j < 9; j++)
{
// muestro la matriz en pantalla
cout << obj->getMatriz(i, j) << " ";
}
// salto de linea
cout << endl;
}
}
int main(void)
{
// se crea un objeto de la clase Calcular (Instanciaciaci贸n)
Calcular *obj = new Calcular();
// llamo al metodo para dibujar la matriz
obj->dibujarMatriz();
// muestro la matriz y le paso el objeto obj de la clase Calcular como parametro
mostrarMatriz(obj);
}
#ifndef CALCULAR_H
#define CALCULAR_H
class Calcular
{
public:
Calcular();
virtual ~Calcular();
// declaro los metodos publicos, para dibujar la matriz y encapsular el vector bidimensional matriz[]
void dibujarMatriz();
void setMatriz(int fil, int col, int val);
int getMatriz(int fil, int col);
protected:
private:
// declaro el atributo privado matriz de tipo entero que tendra [9] filas y [9] columnas
int matriz[9][9];
};
#endif // CALCULAR_H<
#include "Calcular.h"
Calcular::Calcular()
{
// ctor
}
Calcular::~Calcular()
{
//dtor
}
// implementacion de los metodos Setter y Getters de los atributos de la clase Calcular
void Calcular::setMatriz(int fil, int col, int val)
{
// le asignare a la matriz el valor de val, en la posicion fil, col que se hayan pasado como parametro
matriz[fil][col] = val;
}
int Calcular::getMatriz(int fil, int col)
{
// retornare el valor que haya en la fila fil, columna col que se haya pasado como parametro
return matriz[fil][col];
}
// implementacion del metodo para dibujar la matriz
void Calcular::dibujarMatriz()
{
// declarare dos variables temporal de tipo entero temp_1 y temp_2
int temp_1, temp_2;
// recorrere con el primer ciclo for las filas i
for (int i = 0; i < 9; i++)
{
// se le asigna a temp_1 el valor actual de i sumado con 1
temp_1 = i+1;
// se le asigna a temp_2 el valor de 2
temp_2 = 2;
// recorrrere con el segundo ciclo for las columnas j
for (int j = 0; j < 9; j++)
{
// si el valor actual de i es igual a cero
if (i == 0)
{
// entonces en la fila i, columna j actual, se le asignara el valor de temp_1
setMatriz(i, j, temp_1);
// incrementamos en 1 el valor de temp_1
temp_1++;
}
// y sino, si el valor de temp_1 es mayor o igual a 1
else if (temp_1 >= 1)
{
// entonces en la fila i, columna j actual, se le asignara el valor de temp_1
setMatriz(i, j, temp_1);
// decrementamos en 1 el valor de temp_1
temp_1--;
}
else
{
// sino en la fila i, columna j actual, se le asignara el valor de temp_2
setMatriz(i, j, temp_2);
// incrementamos en 1 el valor de temp_2
temp_2++;
}
}
}
}
public class Main
{
public static void mostrarMatriz(Calcular obj)
{
String datos_matriz = "";
// recorro con el primer ciclo for las filas de la matriz i
for (int i = 0; i < 9; i++)
{
// recorro con el segundo ciclo for las columnas de la matriz j
for (int j = 0; j < 9; j++)
{
// acumulo los datos de la matriz en la variable datos_matriz
datos_matriz = datos_matriz + String.valueOf(obj.getMatriz(i, j)) + " ";
}
// salto de linea
datos_matriz = datos_matriz + "\n";
}
// muestro la matriz
System.out.println(datos_matriz);
}
public static void main(String[] args)
{
// se crea un objeto de la clase Calcular (Instanciaciaci贸n)
Calcular obj = new Calcular();
// llamo al metodo para dibujar la matriz
obj.dibujarMatriz();
// muestro la matriz y le paso el objeto obj de la clase Calcular como parametro
mostrarMatriz(obj);
}
}
public class Calcular
{
// declaro la matriz privada de tipo entero
private int [][] matriz;
public Calcular()
{
// le asigno en el constructor de la clase Calcular 9 filas y 9 columnas a la matriz
matriz = new int[9][9];
}
// implementacion de los metodos Setter y Getters de los atributos de la clase Calcular
public void setMatriz(int fil, int col, int val)
{
// le asignare a la matriz el valor de val, en la fila fil, columna col que se hayan pasado como parametro
matriz[fil][col] = val;
}
public int getMatriz(int fil, int col)
{
// retornare el valor que haya en la fila fil, columna col que se haya pasado como parametro
return matriz[fil][col];
}
// implementacion del metodo para dibujar la matriz
public void dibujarMatriz()
{
// declarare dos variables temporal de tipo entero temp_1 y temp_2
int temp_1, temp_2;
// recorrere con el primer ciclo for las filas i
for (int i = 0; i < 9; i++)
{
// se le asigna a temp_1 el valor actual de i sumado con 1
temp_1 = i+1;
// se le asigna a temp_2 el valor de 2
temp_2 = 2;
// recorrrere con el segundo ciclo for las columnas j
for (int j = 0; j < 9; j++)
{
// si el valor actual de i es igual a cero
if (i == 0)
{
// entonces en la fila i, columna j actual, se le asignara el valor de temp_1
setMatriz(i, j, temp_1);
// incrementamos en 1 el valor de temp_1
temp_1++;
}
// y sino, si el valor de temp_1 es mayor o igual a 1
else if (temp_1 >= 1)
{
// entonces en la fila i, columna j actual, se le asignara el valor de temp_1
setMatriz(i, j, temp_1);
// decrementamos en 1 el valor de temp_1
temp_1--;
}
else
{
// sino en la fila i, columna j actual, se le asignara el valor de temp_2
setMatriz(i, j, temp_2);
// incrementamos en 1 el valor de temp_2
temp_2++;
}
}
}
}
}