Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int main( )
- {
- int linhas,colunas, i, j;
- int somaDP, somaDS, calculaSD, somaLinhas, somaColunas;
- //Inicialização das variáveis
- somaDP = 0; // soma da diagonal principal
- somaDS = 0; // soma da diagonal secundária
- int somainicial=0; //soma inicial de cada linha da matriz
- int verdadeiro=1; //verifica se a matriz e um quadrado mágico
- /*Entrar com a dinensão da matriz desejada*/
- printf("Entre com o numero de linhas: ");
- scanf("%d",&linhas);
- printf("Entre com o numero de colunas: ");
- scanf("%d",&colunas);
- /*declaração das matrizes que serão usadas no programa*/
- int mat1[linhas][colunas];
- /*laço de repetição para entrar com os valores da matriz 1*/
- for (i=0; i<linhas; i++)
- for(j=0; j<colunas; j++)
- {
- printf(" Entre com os elementos da matriz 1 [%d][%d]:",i+1,j+1);
- scanf("%d",&mat1[i][j]);
- }
- //somando a 1 coluna
- for (i=0; i<colunas; i++)
- somainicial +=mat1[i][0]; //somaInicial
- printf("\nsoma da coluna 1 %d\n\n",somainicial);
- //testando as linhas
- for (i=0; i<linhas; i++){
- somaLinhas=0;
- for(j=0; j<colunas; j++) {
- somaLinhas+= mat1[0][j];
- }
- if(somaLinhas!=somainicial)
- verdadeiro=0;
- }
- //testando as colunas
- for (i=0; i<colunas; i++){
- somaColunas=0;
- for(j=0; j<colunas; j++) {
- somaColunas+= mat1[i][0];
- }
- if(somaColunas!=somainicial)
- verdadeiro=0;
- }
- //testar a Diagonal principal
- for (i=0; i<colunas; i++){
- somaDP=0;
- for(j=0; j<colunas; j++) {
- if (i==j)
- somaDP += mat1[i][j];
- }
- if(somaDP!=somainicial)
- verdadeiro=0;
- }
- //testar a Diagonal secundária
- for (i=0; i<colunas; i++){
- somaDS=0;
- for(j=colunas-1; j>-1; j--) {
- somaDS += mat1[i][j];
- // somaColunas+= mat1[i][0];
- }
- if(somaDS!=somainicial)
- verdadeiro=0;
- }
- /*Mostra a matriz 1 criada*/
- if(verdadeiro==1)
- printf("\n\nA matriz 1 criada eh quadrado magico \n\n");
- else
- printf("\n\nA matriz 1 criada nao eh quadrado magico \n\n");
- for (i=0; i<linhas; i++)
- {
- for(j=0; j<colunas;j++)
- printf("%3.d\t",mat1[i][j]);
- printf("\n\n");
- }
- printf("\n\n\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment