Ir ao conteúdo
  • Cadastre-se

C Como faço para especificar a linha e a coluna da matriz


FLASHLEGENDS

Posts recomendados

#include <stdio.h>
#include <conio.h>
#include <math.h>



int divisivel3 ( int matriz[5][5] );
int main(int argc, char const *argv[])
{
  int j , i;
  //Matriz com valores fixo para não fazer a leitura
  int matriz[5][5] = {{15,9,23,43,49},
                      {3,36,55,53,18},
                      {12,42,51,57,34},
                      {6,32,28,25,62},
                      {72,91,81,16,41}
                     };
  for(i=0; i<5; i++)for(j=0; j<5; j++)
    if( divisivel ( i , j , matriz ) == 1 )
      printf("O Numero %3d e divisivel por 3\n",matriz [i][j]);
  return 0;
}
int divisivel ( int i, int j , int matriz[5][5] )
{
  if( matriz[i][j] % 3 == 0 )   
  {
    return 1;  /// marca como divisivel
  }
  else
  {
    return 0; /// marca como não divisIveL
  }
}

por exemplo: Número divisível por 3 encontrado na linha 1, coluna 1, numero 15

a coluna e a linha devem ser iniciadas do valor 1, diferente do vetor da linguagem C

 

estou com dúvida nisso, preciso de ajuda!

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@FLASHLEGENDS     você pode mostrar o valor real da linha e coluna , que começam em zero , ou se Quiser mostrar os valores começando em 1 coloque i+1 j+1 , no momento de escrever na tela , ou também pode começar o vetor da posição 1 , mas perderá uma posição , a zero ,

 

printf("numero divisiveL por 3 encontrado na linha %3d , coluna %3d , numero %3d\n" , i + 1 , j + 1 , matriz[i][j] );

Link para o comentário
Compartilhar em outros sites

Em 10/06/2022 às 21:06, FLASHLEGENDS disse:
int divisivel ( int i, int j , int matriz[5][5] )
{
  if( matriz[i][j] % 3 == 0 )   
  {
    return 1;  /// marca como divisivel
  }
  else
  {
    return 0; /// marca como não divisIveL
  }
}

 

Considere o simples:

 

int divisivel(int i, int j, int matriz[5][5])
{
    return matriz[i][j] % 3 == 0;
}

 

Zero é falso em C. Toda expressão avalia para 0 ou 1.

  • Curtir 1
  • Haha 1
Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

@FLASHLEGENDS

Boa Dia!

 

Disso

Em 10/06/2022 às 21:06, FLASHLEGENDS disse:
int divisivel ( int i, int j , int matriz[5][5] )
{
  if( matriz[i][j] % 3 == 0 )   
  {
    return 1;  /// marca como divisivel
  }
  else
  {
    return 0; /// marca como não divisIveL
  }

 

Tem-se, simplesmente isso:

int divisivel3 (int i,int j,int matriz[5][5])
{
    return  matriz[i][j] % 3;
}

Ou ainda...

inline int divisivel3 (int i,int j,int matriz[5][5])
{
    return  matriz[i][j] % 3;
}

... Ao avaliar a pergunta da função, ela é bem sucedida com retorno de valor 0, sendo, a propósito, apenas por curiosidade o valor na constante EXIT_SUCCESS.

 

Por último, não notou que há uma na declaração e outra na definição

a.c: Na função main’:
 a.c:18:9: erro: declaração implícita da função divisivel’;  você quis dizer divisivel3’?  [-Wimplicit-function-declaration]
    18 |  if( divisivel ( i , j , matriz ) == 1 )
       |      ^~~~~~~~~
       |  divisivel3
 ac:7:14: aviso: parâmetro não utilizado argc [-Wunused-parameter]
     7 |  int main(int argc, char const *argv[])
       |           ~~~~^~~~
 ac:7:32: aviso: parâmetro não utilizado argv [-Wunused-parameter]
     7 |  int main(int argc, char const *argv[])
       |                     ~~~~~~~~~~~~^~~~~~

c'11 - gcc'11.4

 

Compilável

#include <stdio.h>

int divisivel3 ( int i, int j , int matriz[5][5] );

int main ()
{
  int j , i;
  //Matriz com valores fixo para não fazer a leitura
  int matriz[5][5] = {{15,9,23,43,49},
                      {3,36,55,53,18},
                      {12,42,51,57,34},
                      {6,32,28,25,62},
                      {72,91,81,16,41}
                     };
  for(i=0; i<5; i++)
  for(j=0; j<5; j++)
    if( divisivel3 (i, j, matriz) ) // Atenção: re avaliar a pergunta
      printf("O Numero %3d e divisivel por 3\n",matriz [i][j]);
  return 0;
}
inline int divisivel3 ( int i, int j , int matriz[5][5] )
{
  return matriz[i][j] % 3;
}

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!