Ir ao conteúdo

Posts recomendados

Postado

Ola pessoal to aprendendo a programar em C.

to lendo alguns livros e tenho uma duvida sobre um código.

O seguinte código é uma matriz bidimensional 10x10. nele tem dois for, um pra preencher as linhas e o outro pra preencher as colunas. mais o que eu não to entendendo é na parte: matrix[l][c] = count; // (l * 10) + c + 1;

a parte matrix[l][c] = count; achei na internet mais não sei o que ta acontecendo. como ta preenchendo as colunas com essa atribuição.

ja a parte comentada (l*10) + c + 1; tem no livro. essa ta ainda pior de entender. alguem me explica como isso ta preenchendo essa matriz? :confused:

detalhe eu sei que tando a atribuição de count; quanto (l * 10) + c + 1; preenche a matriz certinha. mais não sei como.

/*PROGRAMA QUE PREENCHE UMA MATRIX DE INTEIROS DE 10X10 (MATRIX QUADRADA DE 100 ELEMENTOS)
IMPRIMA OS ELEMTTOS DA DIAGONAL PRINCIPAL, DIAGONAL SECUNDARIA E ELEMENTOS QUE ESTÃO NA BORDA*/

#include <stdio.h>

int main()
{
int l,c,matrix[10][10];
int count = 1;
for(l=0; l < 10; l++)
for(c=0;c < 10; c++){
matrix[l][c]=count; // = (l * 10) + c +1;
count++;
}

Postado

Este codigo aqui ira imprimir a matrix, assim você poderá entender melhor o q esta acontecendo.

Nesse caso, count tem o mesmo papel de ' ( l * 10) + c +1 ' ((linha * 10) + coluna + 1).

exemplos:

linha 0, coluna 0: (0 * 10) + 0 + 1 = 1

linha 0, coluna 1: (0 * 10) + 1 + 1 = 2

.

.

.

#include <stdio.h>
#include <stdlib.h>

int main()
{
int matrix[10][10];
int l,c;
int count = 1;

for(l=0; l < 10; l++)
{
for(c=0;c < 10; c++)
{
matrix[l][c]=count; // = (l * 10) + c +1;
count++;
}
}

for (l=0; l < 10; l++)
{
for (c=0; c < 10; c++)
{
printf("%.2d ", matrix[l][c]);
}
printf("\n");
}

system("PAUSE");
return 0;
}

  • Curtir 1
Postado

hum verdade. valeu man.

Agora sei toda vez que tiver duvida é so tacar printf em tudo, pra ver o que se passa. :)

esse programa é de umas apostilas que achei na net com atividades.

agora tu sabe um dica de como imprimir as diagonais principais e secundarias nem sei por onde começo.

Postado
#include <stdio.h>

int main()
{
int matrix[10][10];
int l,c;
int count = 1;

for(l=0; l < 10; l++)
{
for(c=0;c < 10; c++)
{
matrix[l][c]=count; // = (l * 10) + c +1;
count++;
}
}

for (l=0; l < 10; l++)
{
for (c=0; c < 10; c++)
{
printf("%.2d ", matrix[l][c]);
}
printf("\n");
}

printf("\n");

for (l=0; l < 10; l++)
{
for (c=0; c < 10; c++)
{
if (l == c)
printf("%.2d ", matrix[l][c]);
else
printf(" x ");
}
printf("\n");
}

printf("\n");

for (l=0; l < 10; l++)
{
for (c=0; c < 10; c++)
{
if (l + c == 9)
printf("%.2d ", matrix[l][c]);
else
printf(" x ");
}
printf("\n");
}

printf("\n");

system("PAUSE");
return 0;
}

  • Curtir 1
  • 4 anos depois...
Postado

#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 ("DIGITE O 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");
    }
}

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!