Exercício Único: escreva, em linguagem C pura (sem nenhum comando próprio de C++), um programa dividido em
funções para simular um jogo de caça-palavras. Porém, ao invés de palavras, seu programa deve procurar números
inteiros. Ao iniciar o jogo, o programa deve ler a dimensão N de uma matriz quadrada de inteiros e os seus elementos
(dígitos de cada casa da matriz). Após ler todos os elementos, seu programa deve ler uma quantidade indefinida de
números , até que um valor negativo seja digitado (o que indica encerramento do programa). Para cada valor
digitado, seu programa deve percorrer a matriz e verificar se os dígitos dispostos na matriz formam o número digitado.
Caso o valor esteja presente na matriz, imprima a linha e coluna de seu primeiro dígito e a linha e coluna de seu último
dígito, em uma única linha, separados entre si por um único espaço. Caso o valor não esteja presente na matriz,
imprima um “x” minúsculo como resposta. Após imprimir a resposta, pule uma linha. A figura a seguir mostra um
exemplo de jogo para uma matriz 5x5:
Supondo que o usuário pesquise os seguintes valores:
416: este número está presente na matriz: começa na posição [1][2] e termina na posição [1][4]. Portanto, a
resposta seria 1 2 1 4.
2687: este número está presente na matriz: começa na posição [3][3] e termina na posição [3][0]. Portanto, a
resposta seria 3 3 3 0.
699: este número não está presente na matriz. Portanto, a resposta seria x.
74: este número está presente na matriz: começa na posição [0][2] e termina na posição [1][2]. Portanto, a
resposta seria 0 2 1 2.
8962: este número está presente na matriz: começa na posição [3][1] e termina na posição [0][1]. Portanto, a
resposta seria 3 1 0 1.
365: este número está presente na matriz: começa na posição [4][1] e termina na posição [2][3]. Portanto, a
resposta seria 4 1 2 3.
Como mostrado nos exemplos, os números podem estar dispostos na horizontal (esquerda para direita e direita para
esquerda), vertical (de cima para baixo e de baixo para cima) e diagonal (todas as combinações anteriores).
Além dessas posições, sua implementação também deve permitir que os números transcendam as bordas da matriz.
Por exemplo:
162: este número está presente na matriz, transcendendo a borda direita e reiniciando na borda esquerda:
começa na posição [1][3] e termina na posição [1][0]. Portanto, a resposta seria 1 3 1 0.
Deve ser possível transcender bordas na horizontal, vertical e diagonal, em quaisquer direções.
Pergunta
Aline Luz
Exercício Único: escreva, em linguagem C pura (sem nenhum comando próprio de C++), um programa dividido em
funções para simular um jogo de caça-palavras. Porém, ao invés de palavras, seu programa deve procurar números
inteiros. Ao iniciar o jogo, o programa deve ler a dimensão N de uma matriz quadrada de inteiros e os seus elementos
(dígitos de cada casa da matriz). Após ler todos os elementos, seu programa deve ler uma quantidade indefinida de
números , até que um valor negativo seja digitado (o que indica encerramento do programa). Para cada valor
digitado, seu programa deve percorrer a matriz e verificar se os dígitos dispostos na matriz formam o número digitado.
Caso o valor esteja presente na matriz, imprima a linha e coluna de seu primeiro dígito e a linha e coluna de seu último
dígito, em uma única linha, separados entre si por um único espaço. Caso o valor não esteja presente na matriz,
imprima um “x” minúsculo como resposta. Após imprimir a resposta, pule uma linha. A figura a seguir mostra um
exemplo de jogo para uma matriz 5x5:
Supondo que o usuário pesquise os seguintes valores:
416: este número está presente na matriz: começa na posição [1][2] e termina na posição [1][4]. Portanto, a
resposta seria 1 2 1 4.
2687: este número está presente na matriz: começa na posição [3][3] e termina na posição [3][0]. Portanto, a
resposta seria 3 3 3 0.
699: este número não está presente na matriz. Portanto, a resposta seria x.
74: este número está presente na matriz: começa na posição [0][2] e termina na posição [1][2]. Portanto, a
resposta seria 0 2 1 2.
8962: este número está presente na matriz: começa na posição [3][1] e termina na posição [0][1]. Portanto, a
resposta seria 3 1 0 1.
365: este número está presente na matriz: começa na posição [4][1] e termina na posição [2][3]. Portanto, a
resposta seria 4 1 2 3.
Como mostrado nos exemplos, os números podem estar dispostos na horizontal (esquerda para direita e direita para
esquerda), vertical (de cima para baixo e de baixo para cima) e diagonal (todas as combinações anteriores).
Além dessas posições, sua implementação também deve permitir que os números transcendam as bordas da matriz.
Por exemplo:
162: este número está presente na matriz, transcendendo a borda direita e reiniciando na borda esquerda:
começa na posição [1][3] e termina na posição [1][0]. Portanto, a resposta seria 1 3 1 0.
Deve ser possível transcender bordas na horizontal, vertical e diagonal, em quaisquer direções.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.