Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TAAnnGGAAuunnnn

Matriz 3x3

Recommended Posts

Galera alguem podia mostrar meu erro? tem que sair uma matriz 3x3

so preciso que a siada seja assim

 

0 0 0

0 0 0

0 0 0

 

brigadaummmmmmmm

 

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define linha 3
#define coluna 3

int main()
{
   int l, c, i, j;
   float mesas[linha][coluna];


  for(l=0;l<linha;l++){
  printf("\nLinha %i\n", l+1);
   for(c=0;c<coluna;c++){
   printf("coluna %i: ", c+1);
   scanf("%f", &mesas[l][c]);
   }
  }
   printf("\nMatriz gerada\n");
   for(i=0;i<linha;i++)
   {
      for(j=0;j<coluna;j++)
      {
          printf("%d\t", mesas[l][c]);
      }
  }
   return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é só por um '\n' depois q o loop interno de impressão é finalizado??

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa percorrer a matriz linha por linha coluna por coluna.

Para fazer isso, é só você organizar os nested fors da maneira apropriada.

 

Neste exemplo, a variável de controle do laço, i, representa as linhas e o k representa as colunas. O exemplo leva em conta que a matriz é 3x3.

int i,k;
for(i = 0; i < 3; i++)
{
  //COLOQUE AQUI OPERAÇÃO SOBRE LINHAS
  for(k = 0; k < 3; k++)
  {
 	//COLOQUE AQUI OPERAÇÃO SOBRE COLUNAS
  }
}

 

A cada vez que você fôr fazer alguma coisa que seja referente a uma linha, coloque-o onde o comentário no exemplo indica.

 

No seu caso, queremos que o stdout pule uma linha ("dê um Enter") a cada vez que terminar de ler uma linha, e imprima o conteúdo das colunas contidas na linha corrente.

Então, a gente faz:

for(i = 0; i < 3; i++)
{
  printf("\n");
  for(k = 0; k < 3; k++)
  {
 	printf(" %d",matriz[i][k]);
  }
}

 

 

Quando fazendo algoritmos que envolvam manipulação de matrizes ou tenham nested fors, você precisa ter uma boa noção de como as coisas estão indo.

Basicamente, para ter essa noção, você tem que usar sua cabeça e abstrair a maneira com que a variável de controle do laço vai se comportar. Para eu conseguir aprender a ter essa noção, eu preciso praticar muito, fazendo algoritmos que organizam vetores/matrizes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz isso em Perl pra um amigo antes de ontem... Peguei aqui no histórico do MSN.

Se ajudar...

 

for my $c (@{[[0, 0, 0], [0, 0, 0], [0, 0, 0]]}) {
   print $_, q( ) for (@{$c});
   print "\n";
}

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.