1/25/2017

Ejercicio 37

Elabore un algoritmo que permita obtener la siguiente matriz:

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 la variable temporal de tipo entero temp  y se le asignara el valor de 1 
    int temp = 1;

    // recorrere con el primer ciclo for las filas i  
    for (int i = 0; i < 9; i++)
    {
        // se le asigna a la variable temp  el valor actual de i  mas 1 
        temp = i+1;
        // recorrere con el segundo ciclo for las columnas j  
        for (int j = 0; j < 9; j++)
        {
            // si la columna actual j  es menor que el valor actual de temp  
            if (j < temp)
            {
                // entonces se le asignara en la fila i , columna j  el valor actual de temp  
                setMatriz(i, j, temp);
            }
            else
            {
                // se incrementa la variable temp  
                temp++;
                // entonces se le asignara en la fila i , columna j  el valor actual de temp  
                setMatriz(i, j, temp);
            }
        }
    }
}

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
{
    private int [][] matriz;
    
    public Calcular()
    {
        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 posicion fil, 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 fil, col que se haya pasado como parametro 
        return matriz[fil][col];
    }


    // implemnetacion del metodo para dibujar la matriz 
    public void dibujarMatriz()
    {
        
        // declarare la variable temporal de tipo entero temp  y se le asignara el valor de 1 
        int temp = 1;

        // recorrere con el primer ciclo for las filas i  
        for (int i = 0; i < 9; i++)
        {
            // se le asigna a la variable temp  el valor actual de i  mas 1 
            temp = i+1;
            // recorrere con el segundo ciclo for las columnas j  
            for (int j = 0; j < 9; j++)
            {
                // si la columna actual j  es menor que el valor actual de temp  
                if (j < temp)
                {
                    // entonces se le asignara en la fila i , columna j  el valor actual de temp  
                    setMatriz(i, j, temp);
                }
                else
                {
                    // se incrementa la variable temp  
                    temp++;
                    // entonces se le asignara en la fila i , columna j  el valor actual de temp  
                    setMatriz(i, j, temp);
                }
            }
        }
    }
}