Faça um programa que lê um número do teclado, e utilizando dois comandos “while” apresenta na tela a seguinte matriz, onde n é o número lido e cada elemento da matriz é o resultado da operação indicada.
\mathrm{N}+1 \mathrm{~N}+2 \mathrm{~N}+3 \mathrm{~N}+4 Exemplo: para n = 10 temos:
\mathrm{N}+2 \mathrm{~N}+3 \mathrm{~N}+4 \mathrm{~N}+5 11121314
\mathrm{~N}+3 \mathrm{~N}+4 \mathrm{~N}+5 \mathrm{~N}+6 12131415
\mathrm{~N}+4 \mathrm{~N}+5 \mathrm{~N}+6 \mathrm{~N}+7 13141516
14151617

Passo 1

O programa deve ler um inteiro n e imprimir na tela uma matriz 4\times4 em que o elemento da linha i e coluna j vale
n + i + j - 1.
Por exemplo, se n=10, a primeira linha (i =1) e colunas j =1…4 serão
10 + 1 + j - 1 = 10 + j = 11,12,13,14,
e assim por diante até a quarta linha. Para gerar essa matriz, vamos usar dois laços while: um para as linhas e outro para as colunas.

Passo 2

Inicializamos uma variável row =1 para controlar a linha. Enquanto row < =4, fazemos:
  • Inicializar col =1 para controlar a coluna.
  • Enquanto col < =4, calcular
\text{valor} = n + \text{row} + \text{col} - 1
e imprimir esse valor seguido de um espaço.
  • Incrementar col e repetir até imprimir as 4 colunas.
  • Após sair do laço das colunas, imprimir uma quebra de linha e incrementar row.

Passo 3

Segue o código em C que implementa esse raciocínio usando dois while:
#include <stdio.h>

int main() {
 int n;
 scanf("%d", &n);

 int row \(=1\);
 while (row <\(=4\)) {
 int col \(=1\);
 while (col <\(=4\)) {
 int valor = n + row + col - 1;
 printf("%d ", valor);
 col\(++\);
 }
 printf("
");
 row\(++\);
 }

 return 0;
}

Resposta

#include <stdio.h>

int main() {
 int n;
 scanf("%d", &n);

 int row \(=1\);
 while (row <\(=4\)) {
 int col \(=1\);
 while (col <\(=4\)) {
 int valor = n + row + col - 1;
 printf("%d ", valor);
 col\(++\);
 }
 printf("
");
 row\(++\);
 }

 return 0;
}

Exercícios relacionados