ericio 0 Denunciar post Postado Novembro 19, 2009 Considere n cidades numeradas de 0 a n - 1 que estão interligadas por uma série de estradas de mão única. As ligações entre as cidades são representadas pelos elementos de uma matriz quadrada Lnxn, cujos elementos Lij assumem o valor 1 ou 0, conforme exista ou não estrada direta que saia da cidade i e chegue à cidade j. Assim, os elementos da linha i indicam as estradas que saem da cidade i, e os elementos da coluna j indicam as estradas que chegam à cidade j. Por convenção lii = 1. A gura mostra um exemplo para n = 5. Minha duvida é: como faço para criar uma função que carrega os dados desta matriz (L) diretamente de um arquivo de texto. :blink: Compartilhar este post Link para o post Compartilhar em outros sites
José Enésio 4 Denunciar post Postado Novembro 19, 2009 Como estaria organizada essa matriz no arquivo de texto? Compartilhar este post Link para o post Compartilhar em outros sites
ericio 0 Denunciar post Postado Novembro 20, 2009 O exercício é igual a este EXERCICIO N° 15 Clique aquiwww.ime.usp.br/~macmulti/exercicios/matrizes/index.htm Com uma figura para n=4. Não entendi muito bem como será gerada a matriz... <_< Compartilhar este post Link para o post Compartilhar em outros sites
José Enésio 4 Denunciar post Postado Novembro 20, 2009 OK, mas ainda precisa saber como vai estar salva a matriz no arquivo de texto. Tu vai pegar e escrever lá na mão 1 0 0 0 1 0 0 1 0 1 0 0 etc... Ou tu vai usar uma outra ferramenta (seja uma funcionalidade do teu programa ou um executável à parte) e utilizar escrita binária pra salvar essa matriz? Imagino que seja a primeira forma, nesse caso tu vai criar uma matriz n por n (ou seja, int matriz[n][n]), vai abrir o arquivo e usar uns fscanf's pra ler os dados pra matriz. Tenta fazer algo aí e posta aqui pra mim saber onde te ajudar Compartilhar este post Link para o post Compartilhar em outros sites
ericio 0 Denunciar post Postado Dezembro 21, 2009 OK, mas ainda precisa saber como vai estar salva a matriz no arquivo de texto. Tu vai pegar e escrever lá na mão 1 0 0 0 1 0 0 1 0 1 0 0 etc... Ou tu vai usar uma outra ferramenta (seja uma funcionalidade do teu programa ou um executável à parte) e utilizar escrita binária pra salvar essa matriz? Imagino que seja a primeira forma, nesse caso tu vai criar uma matriz n por n (ou seja, int matriz[n][n]), vai abrir o arquivo e usar uns fscanf's pra ler os dados pra matriz. Tenta fazer algo aí e posta aqui pra mim saber onde te ajudar void Carregar_Matriz(int M[10][10]) { int i,j; arq1=fopen("arquivo1.txt","r"); if(!arq1) { printf(" Nao foi possivel abrir o arquivo !\n"); exit(1); } while (!feof(arq1))/* Enquanto não chegar ao final do arquivo le matriz */ { for(i=0;i<10;i++) { for(j=0;j<10;j++) { fscanf(arq1,"%c",&M[i][j]); } } } fclose(arq1); } void Exibir_Matriz(int M[10][10]) { int i,j; for (i=0; i<10; i++) { for(j=0; j<10; j++) { printf("%c", M[i][j]); } printf( "\n" ); } Ok ,carregando uma matriz 10x10 de um arquivo de texto. Agora,dado k, determinar quantas estradas saem e quantas chegam à cidade k. Compartilhar este post Link para o post Compartilhar em outros sites
José Enésio 4 Denunciar post Postado Dezembro 22, 2009 Para determinar essas estradas, você deverá fazer um outro loop. Esse loop irá percorrer as colunas da sua matriz usando M[k], onde i é a variável do loop. k permanecerá constante de acordo com o que foi digitado. Em cada repetição você deverá verificar se o elemento M[k] é igual a 1, escrevendo que a cidade i possui ligação com a cidade k. Compartilhar este post Link para o post Compartilhar em outros sites