Solução Chuva

0 Flares Facebook 0 0 Flares ×

Solução por Rogério Júnior

 

Este é um problema muito simples que envolve apenas o básico de manipulação com matrizes. Se você não sabe o que é uma matriz, clique aqui para ler nossa aula de vetores e vá ao final, onde é comentado sobre este tipo de array. Vamos inicializar uma matriz de inteiros com limites nos valores máximos de N. Vamos definir, então, MAXN como esse limite e inicializar a int matrix[MAXN][MAXN]. Vamos declará-la como global, fora da main e todos os seus elementos serão inicializados com valor 0. Assim, na entrada, após lermos o valor de n, vamos criar três fors, um dentro do outro, para percorrermos toda a entrada. O primeiro irá de 1 a dois, somente para lermos as matrizes duas vezes (pois são duas matrizes na entrada). O segundo irá de 1 a n, para percorrermos todas as linhas da matriz que estamos lendo. O terceiro irá novamente de 1 a n, para percorrermos todos os elementos da linha da matriz que estamos vendo. Para cada elemento desses, vamos ler um inteiro na tela e somar seu valor ao que está salvo em matrix.

Depois que todos os loops terminarem, faremos, novamente, dois fors para percorrermos a matriz inicial, imprimindo cada um de seus elementos e uma quebra de linha no fim de cada linha impressa da matriz. Segue o código para melhor entendimento:

Nosso leitor Roger Benet também conseguiu uma solução em C++ que usa unicamente vetores unidimensionais! Veja:

0 Flares Facebook 0 0 Flares ×
0 Flares Facebook 0 0 Flares ×
%d bloggers like this: