Pesquisar este blog

Livros Recomendados

terça-feira, 29 de setembro de 2020

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

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 potencia2(short int expoente) {
    int resposta = 1;
    if (expoente == 0)
        return 1;
    while (expoente--) {
        resposta += resposta;
    }
    return resposta;
}
int maiorTamanho(int t) {
    int maiorNumero = potencia2(t + t - 2);
    int digitos = 1;
    while (maiorNumero > 9) {
        maiorNumero /= 10;
        digitos++;
    }
    return digitos;
}
int main() {
    int tamanho;
    int valor;
    while (1) {
        cin >> tamanho;
        if (tamanho == 0) break;
	int maior = maiorTamanho(tamanho);
        int linha = 0, coluna;
        while (linha < tamanho) {
            valor = potencia2(linha);
	    coluna = 0;
            while (coluna < tamanho) {
                if (coluna == 0)
                    cout<<fixed<<right<<setw(maior)<<valor;
                else
                    cout<<" "<<fixed<<right<<setw(maior)<< valor;
                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