Ir ao conteúdo
  • Cadastre-se

ajuda com impressao da diagonal principal


nyt

Posts recomendados

Você pode criar a matriz 4x4 por exemplo, depois crie uma variável i (inicialize-a com zero)

while (i < 4){     printf("%i  ", matriz[i][i]);     i++;}

Deste modo vai imprimir os valores que estão na diagonal principal da sua matriz.  :)

Só um detalhe que esqueci de mencionar:

No método acima ela vai imprimir linearmente. Lembre-se que matriz na computação não tem o mesmo conceito de matriz na matemática. Na realidade na memória os números estão armazenados linearmente. É só dito assim para facilitar a abstração. Tanto é que em inglês tudo é o mesmo nome: array.

Link para o comentário
Compartilhar em outros sites

certo obrigado pela dica n-n, bom eu fiz assim

 

for(l = 0; l < 4; l++){for(c = 0; c <4; c++){if (l == c) // aqui vou fazer o prgrama imprimir pra mim da diagonal principal com os valores ja pré determinados{}else{printf("digite os numeros: \n");scanf("%d",&a[l][c]);}}
Link para o comentário
Compartilhar em outros sites

isso so que como o professor é chato ele não quer que você chumbe a matriz no case mat[0][0] = 1 ai ficou difícil, mas é por esse lado o programa vai me carregar esse 4 valores sem que o usuario mecha neles, então o usuario so vai digitar 12 valores no caso 1 4 16 64 são fixos

Link para o comentário
Compartilhar em outros sites

Realmente estes valores pré-estabelecidos tem um padrão.

Olha só:

 

4 elevado a 0 dá 1.

4 elevado a 1 dá 4

4 elevado a 2 dá 16

4 elevado a 3 dá 64.

 

Estes valores tem um padrão.

Pensa um pouco que aí você vai conseguir inserir estes valores em tempo de execução.  :)

Link para o comentário
Compartilhar em outros sites

Errado. Seria mais ou menos isto:

if (i == c) {         matriz[i][c] = pow(4, i);}

Desse modo, caso i seja 0, vai ser armazenado o valor 1 a matriz[0][0].

Já se i for 1, vai armazenar o valor 4 em matriz[0][0] e assim sucessivamente.


Sabe porque o teu código tá errado?

Porque desta maneira que você escreveu

pow(matriz[i][j], 0)

Primeiramente você ainda não sabe o que tem na memória em matriz[j] já que você simplesmente a inicializou. Não declarou nenhum valor ainda. Logo, tem lixo na memória.

Segundo que está sempre elevando qualquer coisa a zero. E na potenciação, qualquer coisa elevado a zero dá um. 

Link para o comentário
Compartilhar em outros sites

muito obrigado amigo ajudou muito o meu dia, pra você ter uma idea, prefiro ver listas, pilhas filas e arvores do que essas coisinhas ai kkkkkk, valeu mesmo n-n

 

Mas antes de ver listas, pilhas e filas, você precisa saber arrays muito bem. Até porque logo mais a frente você vai ser introduzido ao conceito de ponteiros e ela está ligeiramente ligada a matrizes e vetores.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...