Ir ao conteúdo

Posts recomendados

Postado

fiz este código só que preciso que ele gere N linhas aleatório, mas tipo por exemplo se a matriz[0][1] == 1 então a matriz[1][0] devera ser 0. Não sei fazer isso de maneira aleatorio verificando as posições. 

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

int main(int argc, char **argv)
{
	FILE *file;
	file = fopen("grafo.csv", "w");
	int linha=5, coluna=5;
	srand(time(NULL));
	int matriz[linha][coluna];
	for(int i=0; i<linha; i++)
	{
		for(int j=0; j<coluna; j++)
		{
			matriz[i][j] = rand() % 2;
			matriz[0][0] = 0;
			matriz[1][1] = 0;
			matriz[2][2] = 0;
			matriz[3][3] = 0;
			matriz[4][4] = 0;
			if(matriz[0][1] == 1)
			{
				matriz[1][0] = 0;
			}if(matriz[0][2] == 1)
			{
				matriz[2][0] = 0;
			}if(matriz[0][3] == 1)
			{
				matriz[0][0] = 0;
			}if(matriz[0][4] == 1)
			{
				matriz[4][0] = 0;
			}if(matriz[1][2] == 1)
			{
				matriz[2][1] = 0;
			}if(matriz[1][3] == 1)
			{
				matriz[3][1] = 0;
			}if(matriz[1][4] == 1)
			{
				matriz[4][1] = 0;
			}if(matriz[2][3] == 1)
			{
				matriz[3][2] = 0;
			}if(matriz[2][4] == 1)
			{
				matriz[4][2] = 0;
			}if(matriz[3][4] == 1)
			{
				matriz[4][3] = 0;
			}
		}
	}
	for(int i=0; i<linha; i++)
	{
		for(int j=0; j<coluna; j++)
		{
			fprintf(file,"%d",matriz[i][j]);
			fprintf(file,",");
		}
		fprintf(file,"\n");
	}
		for(int i=0; i<linha; i++)
	{
		for(int j=0; j<coluna; j++)
		{
			printf("%d",matriz[i][j]);
			printf(",");
		}
		printf("\n");
	}
	fclose(file);
	return 0;
}

se alguém puder ajudar agradeço

  • Curtir 1
Postado

@fellipemn1      primeiro gerar todos os números de todas as posições da matriz ,

for(int i=0; i<linha; i++){
	for(int j=0; j<coluna; j++){
		matriz[i][j] = rand() % 2;
	}
}

 em seguida fazer as comparações e alterações  :

if(matriz[0][1] == 1){
	matriz[1][0] = 0;
}
if(matriz[0][2] == 1){
	matriz[2][0] = 0;
}
if(matriz[0][3] == 1){
	matriz[0][0] = 0;
}
if(matriz[0][4] == 1){
	matriz[4][0] = 0;
}
if(matriz[1][2] == 1){
	matriz[2][1] = 0;
}
if(matriz[1][3] == 1){
	matriz[3][1] = 0;
}
if(matriz[1][4] == 1){
	matriz[4][1] = 0;
}
if(matriz[2][3] == 1){
	matriz[3][2] = 0;
}
if(matriz[2][4] == 1){
	matriz[4][2] = 0;
}
if(matriz[3][4] == 1){
	matriz[4][3] = 0;
}

 

  • 4 anos depois...
Postado

Aqui tua suposta matriz:

 


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

int main (void) {
  FILE *file= fopen ("grafo.csv", "w");
  int linha= 5, coluna= 5;
  int matriz[linha] [coluna];
  for (int i= 0 ; linha>i  ; i++)
  for (int j= 0 ; coluna>j ; j++) {
      matriz[i] [j]= rand()% 2;
      matriz[j] [i]= matriz[i] [j]!=1;
      }
  for (int i= 0 ; linha>i  ; i++) {
  for (int j= 0 ; coluna>j ; j++) {
      fprintf (file,"%d",matriz[i] [j]);
      fprintf (file,",");
      }
    fprintf(file,"\n");
    }
  for (int i= 0 ; linha>i  ; i++) {
  for (int j= 0 ; coluna>j ; j++) {
      printf ("%d",matriz[i] [j]);
      printf (",");
      }
    printf ("\n");
    }
  fclose (file);
  return 0;
  }


 

 

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