Plataforma: URI
Problema: 1578Enunciado:
Atrapalhilton é um estudante muito dedicado, embora muito, muito atrapalhado. Na semana passada, seu professor de Matemática, o Sr. Sabetudilton, recomendou à classe uma lista de exercícios sobre matrizes. Atrapalhilton, aplicado como é, dediciu fazer os exercícios no mesmo dia, tão logo chegou em casa, embora apenas após assistir o episódio vespertino de A Galinha Listradinha, seu programa de TV favorito. O enunciado de um dos exercícios dizia:
- Calcule o quadrado de cada uma das matrizes abaixo…
No entanto, Atrapalhilton fez uma baita duma confusão. Para ele, o quadrado de uma matriz quadrada Aé a matriz dos quadrados dos valores da matriz A. Por exemplo, o quadrado da matriz
1 | 3 |
5 | 7 |
para ele não é
16 | 24 |
40 | 64 |
mas
1 | 9 |
25 | 49 |
Atrapalhilton conseguiu calcular o “quadrado” da primeira matriz, da segunda, da terceira e percebeu que já estava muito tarde, que não ia conseguir terminar de calcular os “quadrados” de todas as N matrizes da lista. Então, decidiu escrever um programa que fizesse o serviço para ele.
Linguagem: C++
#include <iostream> #include <iomanip> using namespace std; unsigned long long int contaDigitos(unsigned long long int valor) { int resposta = 1; while (valor > 9) { resposta++; valor /= 10; } return resposta; } int main() { int x = 4, n, m; cin >> n; while (n--) { cin >> m; unsigned long long int quadrados[m][m], valor, maiores[m]; for (int i=0; i<m; i++) { for (int j=0; j<m; j++) { cin >> valor; quadrados[i][j] = valor * valor; } } if (x != 4) cout << endl; cout<<"Quadrado da matriz #"<<x++<<":"<<endl; for (int i=0; i<m; i++) maiores[i] = quadrados[0][i]; for (int i=1; i<m; i++) { for (int j=0; j<m; j++) { if (maiores[j] < quadrados[i][j]) maiores[j] = quadrados[i][j]; } } for (int i=0; i<m; i++) maiores[i] = contaDigitos(maiores[i]); for (int i=0; i<m; i++) { for (int j=0; j<m-1; j++) cout<<setw(maiores[j])<<right<<quadrados[i][j]<<" "; cout<<setw(maiores[m-1])<<right<<quadrados[i][m-1]<<endl; } } return 0; }
Nenhum comentário:
Postar um comentário