O código abaixo representa um programa na linguagem em C cujo objetivo é escrever na tela os números que são divisíveis por 3 de uma matriz.
Entretanto no código está faltando a implementação da sub-rotina que faz a busca dos números divisíveis e escreve na tela. Deve ser escrito na tela a linha e a coluna da matriz que se encontra o número divisível por 3 bem como o próprio número, exemplo:
Número divisível por 3 encontrado na linha 1, coluna 1, numero 15
Número divisível por 3 encontrado na linha 1, coluna 2, numero 9
Importante: a coluna e a linha devem ser iniciadas do valor 1, diferente do vetor da linguagem C
……….
Com base no contexto apresentado acima, considere o código a seguir e implemente a sub-rotina faltante:
#include
//Código que deve ser inserido aqui
int main(int argc, char const *argv[])
{
//Matriz com valores fixo para nao fazer a leitura
int matriz[5][5] = {{15,9,23,43,49},
{3,36,55,53,18},
{12,42,51,57,34},
{6,32,28,25,62},
{72,91,81,16,41}};
identificarDivisivelPor3(matriz);
return 0;
}
Envie a resposta no formato texto para correção.
Soluções para a tarefa
Resposta:
Note que não é preciso ler nenhum número, pois o enunciado já deixou os valores dos elementos. Sendo assim, precisaremos da estrutura "For" para ler o indice[i] que está relacionado com a linha, e outra estrutura "For" para ler o índice [j] que está relacionado com a coluna. Cada vez que eu ler "For [i]" e "For "[j]" o algoritmo irá analisar se os valores de cada elemento atende a minha condição "If" (o valor divido por 3 seja igual a zero, e não números fracionarios, por exemplo: 1,2132). Se a condição for verdadeira, logo eu imprimo, por meio do comando "Printf", o numero que atendeu a minha condição.
Explicação:
int main(){
int mat [5][5] = {{15, 9, 23, 43, 49},
{3, 36, 55, 53, 18},
{12, 42, 51, 57, 34},
{6, 32, 28, 25, 62},
{72, 91, 81, 16, 41}};
int i, j;
for(i=0; i<5; i++){
for(j=0; j<5; j++){
if(mat[i][j] % 3 == 0){
printf("Numero divisível por 3 encontrado na linha %d , coluna %d , numero %d \n", i, j, mat[i][j]);
}
}
}
return(0);
}