Pesquisar este blog

Livros Recomendados

domingo, 30 de agosto de 2020

URI - 1557 - Matriz Quadrada III - Iniciante - C++ - Com Matriz

Plataforma: URI

Problema1557

Enunciado:
Escreva um algoritmo que leia um inteiro N (0 ≤ N ≤ 15), correspondente a ordem de uma matriz M de inteiros, e construa a matriz de acordo com o exemplo.

Linguagem: C++

Solução:

#include <iostream>
#include <iomanip>

using namespace std;

int potencia(short int expoente) {
    int resposta = 1;
    
    if (expoente == 0)
        return 1;
        
    while (expoente--)
        resposta += resposta;

    return resposta;
}

int maiorTamanho(int t) {
    int maiorNumero = potencia(t + t - 2);
    int digitos = 1;
    
    while (maiorNumero > 9) {
        maiorNumero /= 10;
        digitos++;
    }
    return digitos;
}

int main() {
    int tamanho;
    int valor;
    
    while (1) {
        cin >> tamanho;
        int mat[tamanho][tamanho];
        if (tamanho == 0)
            break;
            
	int maior = maiorTamanho(tamanho);
        int linha = 0, coluna;
        
        while (linha < tamanho) {
            valor = potencia(linha);
	        coluna = 0;
	        
            while (coluna < tamanho) {
                mat[linha][coluna] = valor;
                
                if (coluna != 0)
                    cout << " ";
                    
                cout << fixed << right << setw(maior);
                cout << mat[linha][coluna];
                valor += valor;
                coluna++;
            }
            cout << endl;
            linha++;
        }      
        cout << endl;
    }
    return 0;
}

Nenhum comentário:

Postar um comentário

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas