Ir ao conteúdo
  • Cadastre-se

Numeros Aleatorios em Matriz - em C


Posts recomendados

Boa tarde pessoal!

Ontem realizando uma prova de programação o professor solicitou que fosse feito o seguinte programa (abaixo). porém não consegui sair do lugar. O Codigo que consegui fazer mostra numeros muito superiores a 9, e as vezes nao mostra nem os 9 numeros. Se alguém puder ajudar, agradeço! 

Segue questao: 

''Faça um programa que contenha uma matriz 3x3, e crie um algoritmo que gere um número aleatório de 1 a 9, utilizando os comandos abaixo:

#include

#include

int main (void)

{

int x;

srand((unsigned)time(NULL));

x = 1 + (rand() % 9);

...

Onde “1 + (rand() % 9)”  disponibiliza um número aleatório cada vez que é chamada e atribui este valor para a variável “x”.

O programa deve colocar aleatoriamente, e automaticamente, um número em cada posição, sem repetir nenhum número, e a soma dos números da diagonal principal deve ser mais que a soma dos números da diagonal secundária.

Por fim, mostrar a matriz na forma matricial.

Após mostrar a matriz, a partir de 2 vetores de inteiros com tamanho 3 cada um, copie os valores da diagonal principal e coloque em ordem crescente no primeiro vetor, depois, copie os valores da diagonal secundária e coloque em ordem descrente no segundo vetor. Por fim, mostrar na tela. ''

Link para o comentário
Compartilhar em outros sites

Você poderia postar sua parte do código feita, assim podemos lhe informar onde foi errado, porém:

//A matriz só tem o indice de 0 a 2, somatizando 3 valores.
int matriz[3][3];

//Essa chamada é usada no inicio de main para alimentar o rand.
srand((unsigned)time(NULL));  

//Primeiro é feito o rand - o qual só recebe de 0 a 8
//depois é feito a soma com +1, deixando de 1 a 9
x = 1 + (rand() % 9);

//Para ler a matriz é só usar:
for(int= 0;< 3; y++){
	for(int= 0;< 3; x++){
		printf("%d", matriz[y][x]);  //observe que não é x,y
	}
	printf("\n");
}

Acredito que você estava acessando locais incorretos da matriz, como matriz[4][5];, e isso lhe informava um valor anormal.

Link para o comentário
Compartilhar em outros sites

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!