-
Posts
5 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Daniel De Marco Fucci
-
-
Boa tarde a todos!
Na próxima aula vou falar com o professor e explicar que postei aqui o código para discutir soluções, segue o código enxugado e aprimorado:
#include <stdlib.h> #include <stdio.h> int main () { int i, j,lin,col, retorno; //do while garante que a matriz seja quadrada do { printf ("Digite as dimensoes da matriz:\n"); scanf ("%d %d", &lin, &col); }while (lin != col); int matriz[lin][col], somalin[col], somacol[lin],somadiag1=0, somadiag2=0; //zerando vetores for (i=0; i<lin; i++){ somalin[i] = 0; somacol[i] = 0; } printf ("Digite os elementos: \n"); //lendo por linhas os elementos da matriz for (i=0; i<lin; i++){ for (j=0; j<col; j++){ scanf ("%d", &matriz[i][j]); } } //somando linhas for (i=0; i<lin; i++) { for (j=0; j<col; j++){ somalin[i] += matriz[i][j]; } } //somando colunas for (i=0; i<col; i++) { for (j=0; j<lin; j++){ somacol[i] += matriz[j][i]; } } //somando diagonal principal for (i=0; i<lin; i++) { somadiag1 += matriz[i][i]; } //somando diagonal secundaria for (i=0; i<lin; i++) { for(j=0;j<lin;j++){ if(j==(lin-1)-i){ somadiag2 += matriz[i][j]; } } } //testando se eh quadrado magico retorno = 1; if (somadiag1 != somadiag2){ retorno = 0; } for (i=0; i<lin; i++){ if (somalin[i] != somacol[i]){ retorno = 0; } } for (i=0; i<lin-1; i++){ if (somalin[i] != somalin[i+1] || somacol[i] != somacol[i+1]){ retorno = 0; } } if (somalin[0] != somadiag1){ retorno = 0; } if (retorno == 0){ printf ("Nao eh quadrado magico!\n"); } else { printf ("Eh quadrado magico!\n"); } system ("PAUSE"); return 0; }
- 2
-
Pessoal, esse exercício vale nota para mim, meu professor usa um método de vasculhar o código do aluno na internet para identificar cópias, se eu postar o código aqui no site, será que ao fazer a busca ele vai apontar que é cópia? Se não for o caso eu posto aqui como ficou o resultado final, eu enxuguei bastante ele e fiz algumas modificações, mas se for o caso, vou precisar excluir o tópico! Obrigado pela compreensão
- 3
-
Pessoal, achei o erro. Era um sinal ">" onde deveria ser "<" em uma das estruturas de teste no final.
Obrigado a todos pelas respostas!
- 1
-
Boa tarde colegas programadores,
Estou resolvendo um exercício de matriz , o programa deve verificar se a matriz é ou não um quadrado
perfeitomágico, segue o enunciado:"Dizemos que uma matriz quadrada inteira é um quadrado mágico se a soma dos elementos de cada linha, a soma dos elementos de cada coluna e a soma dos elementos das diagonais principal e secundária são todas iguais.
Dada uma matriz qudrada A (n) (n), verificar se A é um quadrado mágico."
O meu código já está praticamente pronto, mas o programa sempre acusa que a matriz NÃO é quadrada, mesmo quando ela é. Segue o código:#include <stdlib.h> #include <stdio.h> int main () { int i, j,lin,col; printf ("Digite as dimensoes da matriz:\n"); scanf ("%d %d", &lin, &col); int matriz[lin][col], somalin[col], somacol[lin],somadiag1=0, somadiag2=0, aux=0; printf ("Digite os elementos: \n"); for (i=0; i<lin; i++){ for (j=0; j<col; j++){ scanf ("%d", &matriz[j]); } } for (i=0; i<lin; i++) { for (j=0; j<col; j++){ aux += matriz [j]; } somalin = aux; aux = 0; } for (i=0; i<col; i++) { for (j=0; j<lin; j++){ aux += matriz [j]; } somacol = aux; aux = 0; } for (i=0; i<lin; i++) { aux += matriz ; somadiag1 += aux; aux = 0; } j = 0; for (i=col - 1; i<=0; i--) { aux += matriz [j]; somadiag2 += aux; aux = 0; j++; } if (somadiag1 != somadiag2){ printf ("Nao eh quadrado magico!\n"); return 0; } for (i=0; i<lin; i++){ if (somalin =! somacol){ printf ("Nao eh quadrado magico!\n"); return 0; } } if (somalin[0] != somadiag1){ printf ("Nao eh quadrado magico!\n"); return 0; } printf ("A matriz é um quadrado magico!\n"); system ("PAUSE"); return 0; }
Estou verificando etapa por etapa mas ainda não encontrei o erro. Alguém consegue entender o porquê de não estar funcionando corretamente?
Desde já agradeço a disposição, abraços
adicionado 6 minutos depoisPessoal, na verdade se trata de QUADRADO MÁGICO e não "perfeito".
- 1
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
Programa jogo de Damas com Matriz em C
em C/C#/C++
Postado
Salve salve colegas programadores.
Estou montando um jogo de damas em C usando matrizes, o algoritmo está quase acabado (pelo menos a versão mais simples do jogo) mas estou tendo uma dificuldade muito chata. Está tudo funcionando ok, exceto por uma coisa: quando o jogador 1 come uma peça do jogador 2, o local na matriz onde estava a peça que foi comida do jogador 1 deve ter o valor 0 atribuído, porém isso não está acontecendo e eu não consigo encontrar o erro no código. O caso contrário funciona normalmente, quando o jogador 2 come uma peça do jogador 1, o local onde estava a peça comida do jogador 1 recebe o valor 0. Será que alguém bom de olho pode dar uma ajuda? Segue o código: