Arquivo em c/c++

1. Arquivo em c/c++

erika
ericio

(usa Puppy Linux)

Enviado em 19/11/2009 - 22:33h


Não entendi muito bem como será gerada a matriz...
O exercicio parecido com este http://www.ime.usp.br/~macmulti/exercicios/matrizes/index.html só que eu tenho que carregar a matriz de um arquivo de texto e não sei como começar...

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.


  


2. Re: Arquivo em c/c++

Perfil removido
removido

(usa Nenhuma)

Enviado em 20/11/2009 - 08:07h

Para carregar o valor da matriz de um arquivo de texto, você primeiro deve criar o arquivo de texto com os valores em um formato específico que iriam para a matriz. Por exemplo abaixo:

Supondo que você tenha uma matriz 5 x 5 (5 linhas, 5 colunas) e você defina o caractere espaço como separador de valores, o seu arquivo de texto teria o seguinte formato:

10 20 30 40 50
11 22 33 44 55
60 70 80 90 100
99 88 77 66 00
23 45 56 67 78

Ou seja, o elemento [0,0] da matriz vai receber o valor 10, o elemento [0,1] da matriz vai receber o valor 20, o elemento [2,2] vai receber o valor 80, e assim por diante. Lembre-se que em C a indexação das matrizes começa por 0.

No seu programa, você só precisa fazer uma função que leia cada linha do arquivo de texto e separe cada valor da respectiva linha, considerando o caractere espaço como limitador. Depois de ler cada valor, basta inserir na sua matriz.

Boa sorte!!


3. Parte2

erika
ericio

(usa Puppy Linux)

Enviado em 24/11/2009 - 12:37h

Agora, dado um numero K como determinar o numero de estradas q chegam e quantas saem a cidade K.

Supondo a matriz:

10000
11011
l= 01110
01010
00001



4. Re: Arquivo em c/c++

Carlos Edinazio Araujo
carlos.e.a

(usa Ubuntu)

Enviado em 26/11/2009 - 16:30h

Cara, suponho que esse k ao qual voce esta se referindo seja um elemento Aij da matriz. Entao tu deve guardar esse i e j. Entao tu pede pra percorrer a linha i toda e ir somando 1 em uma variável se o valor contido na posicao Ain(n variando de 0 ate z-1, onde z é o numero de colunas da matriz) for 1. Depois voce faz a mesma coisa para a coluna: percorre a coluna j toda e soma 1 em outra variavel caso o elemento Anj for 1(n variando de 0 ate x-1, onde x é o numero de linhas da matriz). Entao tu vai ter o numero de cidades que chegam e que saem de k(Aij); Se for necessario(tiver especificado no problema) voce subtrai 1 do resultado encontrado, pois ele diz que por definicao Aij, com i=j, recebe 1: ou seja, qualquer cidade chega nela mesma, o que é obvio.

Exemplo:

1 0 0 0 0
1 1 0 1 1
0 1 1 1 0
0 1 0 1 0
0 0 0 0 1

Suponha que eu peça as cidades que chegam e que saem da "cidade" K(2,2). Voce percorre a linha 2(em "c", no caso a linha seria 1, pois os indices começam em 0) e observa que 4 dos valores dessa linha sao 1. Logo, existem 4 cidades(incluindo ela mesma) que saem da cidade K(2,2). Por raciocínio semelhante, observamos que chegam 3 cidades(incluindo ela mesma) em K(2,2).

Se nao tiver entendido volte a perguntar qual parte nao entendeu que eu tento explicar melhor =D






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts