Ir ao conteúdo
  • Cadastre-se

Como criar uma matriz 7x7 de Acordo com a Foto em Anexo


Ir à solução Resolvido por Kuroh,

Posts recomendados

O que já tenho.

 

#include <stdio.h>
#define DIM 3
 
int main()
{
    int matriz[DIM][DIM];
    int linha, coluna;
 
   
    for(linha = 0 ; linha < DIM ; linha++)
        for(coluna = 0 ; coluna < DIM ; coluna++)
        {
            printf("Elemento [%d][%d]: ", linha+1, coluna+1);
            scanf("%d", &matriz[linha][coluna]);
        }
 
    
    for(linha = 0 ; linha < DIM ; linha++)
    {
        for(coluna = 0 ; coluna < DIM ; coluna++)
            printf("%3d", matriz[linha][coluna]);
 
        printf("\n");
    }
}
 
Só que eu tenho que deixar as duas matrizes iguais a da foto. Uma matriz com metade 0 e metade 1 e outra com os valores diferentes. Como fazer ?

01.rar

post-719046-0-79551200-1402583337_thumb.

Link para o comentário
Compartilhar em outros sites

  • Solução
#include <stdio.h>

#define DIM 7 

 

int main ()

{

    int matriz [DIM][DIM];

    int linha,coluna;

 

    for(linha=0; linha<DIM; linha++)   //os 2 "for" percorrem a matriz

    {

        for (coluna=0; coluna<DIM; coluna++)

        {

            if(coluna<=linha)   //atribui 1 da diagonal da matriz para baixo

                matriz[linha][coluna]=1;    //note que o número de linha e coluna são iguais na diagonal

 

            else

                matriz[linha][coluna]=0;   //atribui 0 para o resto

 

            printf("%d", matriz[linha][coluna]); //mostra a matriz na tela

        }

     printf("\n"); //usado para imprimir no formato da matriz

    }

 

O segundo caso é basicamente a mesma coisa.

Você terá que percorrer a matriz e atribuir o valor a elas.

 

Note que é atribuído 0 quando linha = 0 e 6 e quando a coluna = 0 e 6.

Nesse caso pode-se usar um if(coluna==0|| coluna==6||linha==0 || linha==6)

Link para o comentário
Compartilhar em outros sites

5lwhhc.jpg

 

Olhe a imagem acima, talvez fique mais fácil de entender.

 

Uma matriz é formada por linhas e colunas.

No caso da sua matriz quando a linha e a coluna são 0 ou 6, o conteúdo da matriz é 0.

Quando linha e coluna são 1 ou 5, o conteúdo da matriz é 1 e assim por diante.

 

Para resolver isso você pode usar um encadeado de if's.

if(coluna==0|| coluna==6||linha==0 || linha==6)

          atribui 0

else   //é necessário colocar esse else, se não dará erro.

    if(coluna==1||coluna==5||linha==1||linha==5)

           atribui 1

 

 

Cadeia de if's não é uma coisa boa para se usar, mas como o seu código é pequeno pode resolver o problema.

Se quiser evitar isso você pode usar um switch (talvez dê um pouco mais de trabalho, mas o código ficaria melhor organizado), ou pensar em alguma outra maneira melhor pra resolver o problema.

Link para o comentário
Compartilhar em outros sites

Então ficaria assim ?

#include <stdio.h>
#define DIM 7 
 
int main () 
{
    int matriz [DIM][DIM];
    int linha,coluna,atribui;
 
    for(linha=0; linha<DIM; linha++)   //os 2 "for" percorrem a matriz
    {
        for (coluna=0; coluna<DIM; coluna++)
        {
        if(coluna==0|| coluna==6||linha==0 || linha==6)
          atribui=0;
else   
        if(coluna==1||coluna==5||linha==1||linha==5)
           atribui=1;
         
        if(coluna==2|| coluna==4||linha==2 || linha==2)
          atribui=2;
else   
        if(coluna==3||coluna==3||linha==3||linha==3)
           atribui=3;   
          
            printf("%d", matriz[linha][coluna]); //mostra a matriz na tela
        }
     printf("\n"); //usado para imprimir no formato da matriz
    }
}
 
 
???
 
Testei e não tive exito. 
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!