Ir ao conteúdo

C Tabuada em C - Matriz


Ir à solução Resolvido por Ansi C,

Posts recomendados

Postado

Eu necessito fazer o seguinte programa: 

Faça um programa, utilizando uma matriz, que solicite a entrada de um número, onde serão calculadas as tabuadas desse número, do número anterior e do número posterior.

 

Eu até consegui fazer o programa tranquilamente utilizando o comando FOR, só que não sei como adapta-lo para utilizar matriz. Vou deixar o código que fiz: 

#include <stdio.h>
#include <locale.h>

int main() 
{
	setlocale(LC_ALL, "Portuguese");
	int i,j;
	int num, num2, num3;
	
	printf("\nTabuada do número: ");
	scanf("%d",&num);
	
	num2 = num +1;
	num3 = num - 1;
	
	for(i = 1; i<= 10; i++)
{
	printf("%d x %d = %d\n", i, num, i*num);

}

	printf("\nAntecessor: %d\n", num3);
	for(i=1; i<= 10; i++)
{
	printf("%d x %d = %d\n", i, num3, i*num3);
}
	
	printf("\nSucessor: %d\n",num2);


for(i=1; i<= 10; i++)
{
	printf("%d x %d = %d\n", i, num2, i*num2);

}
return 0;
	}

 

  • Curtir 1
  • Membro VIP
Postado

@MQTTH 

Bom dia. Até entendo que dá pra substituir as váriaveis de número por um vetor num[3], mas não vejo no que uma matriz ajudará aí. Só se o autor queira guardar o resultado da tabuada também. Aí você transformaria esse vetor em uma matriz num[3][10].

  • Curtir 3
Postado
1 minuto atrás, Math.Pi disse:

@MQTTH 

Bom dia. Até entendo que dá pra substituir as váriaveis de número por um vetor num[3], mas não vejo no que uma matriz ajudará aí. Só se o autor queira guardar o resultado da tabuada também. Aí você transformaria esse vetor em uma matriz num[3][10].

Em relação ao vetor faz total sentido, sobre a matriz eu também ainda não entendi. Mas deixei aqui um anexo de como tem que ficar o layout utilizando a matriz.. Porém não tenho ideias de como faze-lo !

cats.jpg

  • Curtir 2
Postado

pelo que eu entendi do exercicio, você já tem a tabuada em uma matriz:

matriz [10][10] com:

1,2,3,4,5,6,7,8,9,10

2,4,6,8,10,12,14,16,18,20

3,6,9,12,15,18,21,24,27,30

(...)

 

daí se pedir numero X, você usaria o for para imprimir a matriz X-1, X e X+1... se X == 1, somente X e X+1... se X == 10, somente X-1 e X

  • Curtir 1
Postado

Com matriz é como @Math.Pi comentou, aí as atribuições para um loop de i = 0 e i < 10  podem assim,

matriz[0][i] = (i + 1) * (n - 1);
matriz[1][i] = (i + 1) * n;
matriz[2][i] = (i + 1) * (n + 1);

 

  • Curtir 2
  • Solução
Postado

@MQTTH  boa noite...

 

8 horas atrás, MQTTH disse:

[...], sobre a matriz eu também ainda não entendi. Mas deixei aqui um anexo de como tem que ficar o layout utilizando a matriz.. Porém não tenho ideias de como faze-lo !

 

 

A necessidade de matriz é devido ao que é computação em três palavras: entrada -- processamento -- saída. A maneira que resolveu entrega os resultados. Entretanto, processamento e disposição (layout) de informação (Saída) são praticamento o mesmo procedimento. Supondo que essa etapa processamento (produto) é muito demorada e que você precise dispor os dados de muitas formas; com a matriz de produtos recalcular tudo para cada um dos formatos não é necessário.

 

Basicamente, escreva um trio de produtos por ciclo sobre a matriz na linha do terminal com formatação de linha.

for( ){
    printf( "%d x %d = %d -- "
            "%d x %d = %d -- "
            "%d x %d = %d \n", );
}

 

 

  • Curtir 2

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