EP2

EP2

por Felipe Simionato Solferini -
Número de respostas: 112
Professor!!
Tah de parabens!!!
Isso é lindo demais!!!
Eu até tinha comentado com o Will que eu queria fazer um programa que fazia transcrição e tradução de DNA(o EP não eh sobre isso mas o fato de ser DNA jah eh bem legal)!!!



Aproveito para iniciar o tópico sobre dúvidas do EP2.
Em resposta à Felipe Simionato Solferini

Re: EP2

por Marcos de Azevedo Iriarte -
Gostei do EP, com cara de exercício de maratona, mas invés de termos 5 horas para resolvermos 8 exercícios, teremos 3 semanas para fazer com maestria ( e dentro de 10 segundos =O ).

Até!
Em resposta à Marcos de Azevedo Iriarte

Re: EP2

por Felipe Torres -

Concordo completamente com o Marcos!!

Acabei de ler sobre o EP e lembrei dos exercícios da maratona. Muito legal!!

Pena que não pode fazer em Java, né Marcos? hahaha...

Nem em C++, né Greg?? hahaha...

Ainda não comecei a fazê-lo, talvez faça na segunda, mas gostei muito da idéia do EP e do molde "maratonístico" dele.

Abraços!

Em resposta à Felipe Torres

Re: EP2

por Felipe Simionato Solferini -
"A terceira linha conterá M pares de números (ai e bi, respeitando 1 ≤ ai < bi ≤ N) representando o índice inicial e final de cada operação."

Nessa frase, seria ai e bi nessa ordem necessariamente ([ai,bi])?
Em caso afirmativo, porque há essa necessidade? Pelo que eu intendi, trocar 3 por 6 é o mesmo que trocar 6 por 3.
Em caso negativo, desculpem a minha incompetencia para com a lingua portuguesa. = /
Em resposta à Felipe Simionato Solferini

Re: EP2

por Arnaldo Mandel -
A restrição está só para simplificar. Um bom programa deve reagir de forma inteligente a dados que não satisfazem as especificações. Às vezes, isso significa parar o programa, com uma mensagem de erro. Às vezes é possível estender as especificações e aceitar de forma consistente mais dados (como você propõe). Aliás, para certos tipos de programação vigora a máxima: seja generoso naquilo que você aceita de entrada e rigoroso naquilo que você emite de saída.

No caso do EP2, ambas alternativas de tratamento de erro são aceitáveis.


Em resposta à Felipe Simionato Solferini

Re: EP2

por Francisco Zigmund Sokol -
Se eu colocasse o código do dna em uma lista ligada, e a cada vez que eu fosse fazer uma reversão eu tivesse que percorrer a lista até o ponto em que a reversão será realizada, eu não acabo perdendo muito tempo nas atribuições que são feitas ao percorrer a lista? O programa seria ineficiente?

Eu tenho que dar um jeito de acessar os termos da lista diretamente, sem ter que percorrer ela do começo?
Em resposta à Francisco Zigmund Sokol

Re: EP2

por Tobias Sena -
Em resposta à Tobias Sena

Re: EP2

por Carlos Stein -
Percorrer a lista a cada reversão seria semelhante à solução com vetor em termos de tempo (O(N) por reversão).

A idéia é a acessar os pontos em que a reversão será realizada de forma mais rápida que isso.

Para isso pense no sequinte sub-problema: Se a reversão é [a,b], como encontrar o índice inicial do elemento que agora está na posição 'a'?
Em resposta à Tobias Sena

Re: EP2

por Marcos de Azevedo Iriarte -
Opa,

Se vocês estão com dúvidas aconselho a procurarem a monitoria, tanto aqui no paca quanto pessoalmente. Estava comentando com o Igor ( nosso monitor de mac110 ) e ele dizia que mesmo em época de EPs ninguém ia perguntar. Eles estão lá para isso, não vão dar a resposta completa mas acho que bons guias eles são.

Até!
Em resposta à Marcos de Azevedo Iriarte

Re: EP2

por Carlos Stein -
Exatamente.

Eu sou um dos monitores e responderei a dúvidas que aparecerem por aqui o mais rápido possível.

Esse EP não é fácil então não deixem para a última hora.
Em resposta à Carlos Stein

Re: EP2

por Marcos de Azevedo Iriarte -
Realmente não deixem para mais tarde.

Só duas dúvidas:

- Horários de monitoria? Eu os perdi, quando e onde são?
- Data definitiva do EP? Ficou para o mesmo dia da prova?

Até!
Em resposta à Marcos de Azevedo Iriarte

Re: EP2

por Francisco Zigmund Sokol -
Monitoria
Haverá plantão de monitoria no CEC, às quartas-feiras, 14:00-15:00. Isso poderá ser alterado, conforme a demanda.

Direto do site do Mandel...
Em resposta à Marcos de Azevedo Iriarte

Re: EP2

por William Gnann -
Está no calendário do Paca para o dia 15... Na data da entrega está dia 2, mas eu suponho que o dia 15 seja o correto porque entrou depois (junto com a data' da P1).
Em resposta à William Gnann

Re: EP2

por Alberto Bueno Junior -
Agora é para o dia 6 o/

Uma dúvida:

o que "custa" mais? Uma comparação ou uma atribuição? Ou isso depende de sistema para sistema?


Em resposta à Felipe Simionato Solferini

Re: EP2

por Francisco Zigmund Sokol -
Se a cada reversão o meu algorítimo tiver que fazer uma comparação e uma atribuição para cada reversão que foi feita antes, ele vai fazer, no total (M + 1) * M/2 comparações/atribuições, certo?

Contando com as trocas que eu vou ter que fazer na minha lista ligada (4 por reversão), o programa ficaria com a complexidade: O((M + 1) * M/2 + 4M), certo?

Desse jeito ele vai ser eficiente? Afinal, o número de reversões não passa de 10000.

Não sei se eu consegui me expressar direito, e nem se todas estas contas estão certas...
Em resposta à Francisco Zigmund Sokol

Re: EP2

por Atol Fortin de Oliveira -
Sim vai ser eficiente, isso não ultrapassa 10 segundos.
Em resposta à Atol Fortin de Oliveira

Re: EP2

por Paulo Cheadi Haddad Filho -
Er... eu não entendi. tímido
Aliás, essa é uma parte que tá meio vaga ainda pra mim. Digo, eu acompanho, mas às vezes não sei explicar.

Posso pedir pra explicar pelo fórum ou vou até a monitoria?
Em resposta à Paulo Cheadi Haddad Filho

Re: EP2

por Atol Fortin de Oliveira -
Não sei se é uma boa idéia falar no PACA quando se trata de uma coisa mais específica, pois isso pode influenciar outras pessoas ... e etc.

Sim , pode ir na monitoria, mas como é apenas 1 uma vez por semana, se for uma coisa mais fácil de explicar, pode ser por email também.
Em resposta à Atol Fortin de Oliveira

Re: EP2

por Paulo Cheadi Haddad Filho -
>Não sei se é uma boa idéia falar no PACA quando se trata de uma coisa mais
>específica, pois isso pode influenciar outras pessoas ... e etc.

Ah, beleza. Foi por isso que eu perguntei... =)
Em resposta à Francisco Zigmund Sokol

Re: EP2

por Thiago Costa -
Eu nao li a mensagem inteira, ja que percebi que era uma ideia nova e queria pensar mais, mas so de ver a estimativa do tempo influenciou bastante quando estava resolvendo, imagino que essa seria a dica 2. Sobre a dica 1, é revoltante como é simples a 2a estrutura em comparacao à 1a, que era o que eu estava fazendo.
Em resposta à Felipe Simionato Solferini

Re: EP2

por André Casimiro -
Alguém aí sabe o que significa o erro:

erro: dereferencing pointer to incomplete type

Ocorre toda vez que eu utilizo o operador "->" devo estar usando-o de forma incorreta. Se alguém puder ajudar.

Abs.

Em resposta à Felipe Simionato Solferini

Re: EP2

por Marcos de Azevedo Iriarte -
Posso passar parâmetros quaisquer para a compilação? Tipo -O1 ?

Até!
Em resposta à Marcos de Azevedo Iriarte

Re: EP2

por Arnaldo Mandel -
Pode. Use -O2 de uma vez. Por via das dúvidas, coloque no cabeçalho ou em um arquivo adicional informações sobre como você compilou.
Em resposta à Arnaldo Mandel

Re: EP2

por Marcos de Azevedo Iriarte -
Já foi perguntado mas vou fazer novamente: O uso de memória vai ser considerado? Sabes se o zillertal vai estar livre na hora do teste? Pois se o programa comer 160MB de memória e estiver como da última vez que olhei (120MB livre), para deixar as pessoas cientes de que programas em cima dos 10s podem não rodar no prazo.

Até!
Em resposta à Marcos de Azevedo Iriarte

Re: EP2

por Arnaldo Mandel -
Se o programa não rodar, é um problema, não? O zillertal foi mencionado no enunciado como referência. Se rodar como deve em outro computador da rede (na hora da correção) está OK.

Estou curioso quanto a essa sua preocupação. Você já tentou rodar o programa e deu problema?
Em resposta à Arnaldo Mandel

Re: EP2

por Marcos de Azevedo Iriarte -
Não, meu programa rodou perto dos 5s e ~200mb lá sem problema ( por enquanto mas não está completo ). Mas não sei se o ep de outras pessoas que estiverem nos 9-10s vai passar se tiver que entrar na paginação.

Até!
Em resposta à Marcos de Azevedo Iriarte

Re: EP2

por William Gnann -
O que acontece se eu 'callocar' uma struct? Todos seus elementos são zerados?
Em resposta à William Gnann

Re: EP2

por William Gnann -
Na realidade, não são zerados...
Seja calloc (num de vezes,tamanho);
Até onde fui capaz de constatar, o número de 'campos' zerados é igual ao 'num de vezes'. O que é estranho, mas faz sentido. =P

Edit: Resumindo: "calloc" function Considered Harmful! [with structs]
Em resposta à William Gnann

Re: EP2

por William Gnann -
Não sei se as pessoas estão passando pelo mesmo problema, mas não consigo encontrar de forma eficiente o n-ésimo termo da lista ligada... Pensei em 'pular' termos, mas não me pareceu eficiente o bastante para os 10s.
Em resposta à Felipe Simionato Solferini

Re: EP2

por Thiago Costa -
O exemplo 4 dos testes tem a saida muito menor que a entrada, parece que é só o inicio da resposta (pelo menos bateu com o inicio da minha resposta).
Em resposta à Thiago Costa

Re: EP2

por Carlos Stein -
Com o objetivo de diminuir o tamanho da saída, foi pedido no enunciado para imprimir apenas os 1000 primeiro elementos.
Em resposta à Felipe Simionato Solferini

Re: EP2

por Lucas Guimarães Gassert -
Para aqueles que gostam de dar risada:

O Windows aqui de casa tá derrubando meu programa. Imagino (e espero) que seja pelo fato de eu estar mallocando um monte de uma vez só. =D

Alguém teve o mesmo problema (supondo que alguém tentou fazer o EP no Windows)???
Em resposta à Lucas Guimarães Gassert

Re: EP2

por William Gnann -
Eu o fiz sob Windows Vi(bo)sta e rodou normal. Também testei no Ubuntu 8.04 (gcc 4.2) e rodou normal.
Em resposta à Lucas Guimarães Gassert

Re: EP2

por Felipe Simionato Solferini -
Eu acho q o problema é com vc msm! E eu fikei triste! O linux trava quando eu mando abrir o open office, mas o Windows abre rapidinho...
Em resposta à Felipe Simionato Solferini

Re: EP2

por Lucas Guimarães Gassert -
Bom...o problema era comigo, mesmo.

Mas estou enfrentando um novo problema:
Tenho um arquivo "teste.in" que contém EXATAMENTE os mesmos dados do arquivo "exemplo1.in", disponível para download...

O problema é: meu programa lê normalmente o MEU arquivo, e devolve a resposta correta. Quando mando-o ler o arquivo "exemplo1.in", ele dá SegFault...

Investigando um pouco mais, descobri que, ao apagar todas as quebras de linha e refazendo-as, o meu programa passava a reconhecer a entrada "exemplo1.in" sem dar SegFault.

Isso tem a ver com os "\n"s e "\r"s da vida???? Ou será algo ainda mais obscuro????
Em resposta à Lucas Guimarães Gassert

Re: EP2

por William Gnann -
Sim, tem a ver.

Se você usar scanf para pegar o dado incial (vulgo número de repetições de inversões em determinados termos da cadeia de DNA), você pegará SOMENTE o número. Depois, sobrarão (um ou dois) caracteres (o 0A, vulgo \n, e o 0D, vulgo \r). Se você começar a pegar chars (com getchar(), por exemplo) depois de dar o scanf, o que acontecerá é que você terá de pegar o 0D e o 0A (ou só o 0A) dependendo da entrada.

Alguns editores de texto acabam por colocar acho que 0D 0A (ou o contrário) quando você quebra uma linha. Outros, por sua vez, colocam apenas o 0A.

Nas entradas há arquivos tanto com 0D0A como com 0A somente (a entrada 5 não deve "segfaultar" no seu programa).
Em resposta à Lucas Guimarães Gassert

Re: EP2

por Carlos Stein -
Nao sou especialista no assunto, mas sei que existe este problema mesmo, mas nao sei exatamente quando ele atrapalha efetivamente.

Cada plataforma usa uma quebra de linha distinta, por isso o problema:

Windows: \r\n
Linux (UNIX): \n
Mac: \r

Creio que seja isso sim..
Em resposta à Lucas Guimarães Gassert

Re: EP2

por Lucas Guimarães Gassert -
Então meu algoritmo deve lidar com qualquer um dos casos?

Will: Meu algoritmo deu SegFault com o exemplo5...
Em resposta à Lucas Guimarães Gassert

Re: EP2

por William Gnann -
Lucas: Eita... Meus pêsames. =P

Francisco: Funcionou com os outros mallocs? De que tipo é a variável x?
Em resposta à William Gnann

Re: EP2

por Francisco Zigmund Sokol -
Pode me chamar de Chico, Francisco ninguém merece...

Então, os mallocs funcionam, o programa funciona, mas ele dá esse warning pra todos os mallocs que tem sizeof(struct celula). E x é um apontador pra célula.
Em resposta à Felipe Simionato Solferini

Re: EP2

por Francisco Zigmund Sokol -
O que significa este warning:

ep2_final.c:57: aviso: incompatible implicit declaration of built-in function ‘malloc’

ele se refere a esse malloc:

x = malloc(sizeof(struct celula));

eu usei o malloc de algum jeito errado?
Em resposta à Francisco Zigmund Sokol

Re: EP2

por Alberto Bueno Junior -
Chico, acho que o problema desse malloc é o que está dentro do sizeof...acho que é como se você estivesse declarando uma struct dentro dá função e isso resulta no warning..
tenta criar um tipo novo e então usar no malloc...assim:

typedef struct celula cell; /*Cria um tipo chamado cell que é um struct celula.*/
x = malloc(sizeof(cell) );

Bem...tenta isso...se não der certo, aí não sei =D
Em resposta à Alberto Bueno Junior

Re: EP2

por Marcos de Azevedo Iriarte -
sizeof é um statement e não uma função, então o uso dos parenteses não é necessário.

Até!
Em resposta à Marcos de Azevedo Iriarte

Re: EP2

por Thiago Costa -
Eu lembro de aparecer algo do tipo quando eu fazia:

x = (cell*)malloc(sizeof(cell));

, enquanto era pra ser

x = (*cell)malloc(sizeof(cell));
Em resposta à Marcos de Azevedo Iriarte

Re: EP2

por Gregory De Bonis -
Pra não perder uma chance de corrigir encher o saco do tio Marcos:


If a type name is used, it always needs to be enclosed in parentheses, whereas variable names and expressions can be specified with or without parentheses.



(Ah, por isso que meu "malloc(sizeof int)" tava coisando!)

Em resposta à Alberto Bueno Junior

Re: EP2

por Francisco Zigmund Sokol -
Problema resolvido, era só porque eu tinha esquecido de incluir a stdlib.h, estava só com a stdio.h (dã). Valeu!
Em resposta à Francisco Zigmund Sokol

Re: EP2

por William Gnann -
(hahaha, por isso perguntei se os outros haviam funcionado ^^)
Em resposta à William Gnann

Re: EP2

por Alex suzuki -

Professor caso o ep não rode no tempo especificado qual vai ser o critério de correção?

Eps que não rodam no tempo vão ser zerados ou o senhor vai considerar o codigo e descontar pontos pelo tempo?

Meu ep roda muito lento para os casos dos exemplos 4 e 5. E eu estou usando lista ligada e pilha para inversão das cadeias de DNA. Sera que meu metodo que é ruim? Porque eu vi o DNA rapidor e o meu não chega nem perto do tempo especificado. Demorou 20 min para a inversão do exemplo 4.

Em resposta à Alex suzuki

Re: EP2

por Carlos Stein -

Este metodo é lento sim (demora até n passos para cada inversão, certo?), você precisa achar um jeito mais rápido de fazer a inversão.

Para isso recomendo fazer as duas listas como indicado na dica 1.2, achar um jeito rápido de achar os elementos por índice (sem varrer a lista) e fazer a troca de forma rápida (sem trocar elemento a elemento, utilize o fato de ser uma lista ligada).

Em resposta à Felipe Simionato Solferini

Re: EP2

por André Casimiro -
Legal! Consegui fazer um programa que cospe uma resposta para os exemplos 4 e 5 em 3 segundos... mas e aí? Como que eu sei se tá certo?
Comparar 1000 caracteres não é legal! e eu aposto que tem algo que faça isso no linux...

Alguém saberia como (no linux):
Montar um PIPE para automatizar tanto o processo de entrada de dados quando o de saída? Sei lá, algo do tipo:

exemplo4.in | ./ep2 | comparador


Valeu!
Em resposta à André Casimiro

Re: EP2

por William Gnann -
diff <arquivo 1> <arquivo 2>;
retorna 'nada' caso sejam iguais, retorna as diferenças caso não sejam iguais.

Talvez dê para fazer um bash que funcione dessa forma.
Em resposta à William Gnann

Re: EP2

por Pedro Faria -
Não que eu tenha conseguido fazer (e na verdade não consegui mesmo, pois não faço a mínima idéia de como fazer a busca de modo eficiente), mas quando será disponibilizada uma opção para fazer o upload do ep2?
Em resposta à Pedro Faria

Re: EP2

por William Gnann -
Uia, não está. =P

Para que a pressa? (eu também não consegui, encontrei uma solução razoável que não servia para minha estrutura usada no programa - agora terei de começar do zero com uma estrutura compatível).
Em resposta à André Casimiro

Re: EP2

por Francisco Zigmund Sokol -
Eu fiz um bash pra cada exemplo pra compilar, executar os dois, e comparar o resultado...

Se vc for usar o diff, use a opção "-w", que aí ele desconsidera os eventuais espaços em branco '\n', etc... Que possam ter de diferença entre os dois arquivos de texto.
Em resposta à Felipe Simionato Solferini

Re: EP2

por Francisco Zigmund Sokol -
Como eu faço pra copiar um arquivo do meu computador para a minha pasta da rede linux usando o ssh?
Em resposta à Francisco Zigmund Sokol

Re: EP2

por Atol Fortin de Oliveira -
scp arquivo <login>@linux.ime.usp.br:~/private/mac122 (por exemplo)
Em resposta à Felipe Simionato Solferini

Re: EP2

por Almir Alves Pereira -

alguem pode me dizer uma forma rapida de encontrar elementos em listas?

meu ep tá rodando em 12 minutos (o dna rapido roda em 2,5 segundos!!) só pq eu percorro a lista elemento por elemento até o ponto de troca e pra piorar tô usando 2 listas!

tem problema se o meu ep gasta ~300mb de memoria?

Em resposta à Almir Alves Pereira

Re: EP2

por William Gnann -
HAHAHAHA, sua solução está igual à minha no quesito memória e tempo. =P
Tem solução sim, eu só não consigo fazê-la funcionar. UAHEaHEUheuaheuAHE
Em resposta à William Gnann

Re: EP2

por Felipe Simionato Solferini -
Infelizmente eu não sou a melhor pessoa (na verdade sou a pior) para dizer isso, mas eu estava dando uma olhada na parte de ponteiros do ~pf e axo q tive uma ideia. (deveria falar pessoalmente pro will, mas axo melhor falar aki =P)

Se voce malloca uma memoria, os chars serão armazenados em sequencia, eu axo q se voce pegar por exemplo o endereço inicial, vamos supor q seja 10000, se voce qr saber aonde está o quinto char, vc deveria fazer algo do tipo 10000 +(tanto que o char ocupa em bytes)*4 .

Espero q seja isso (tive essa ideia agora, que pode estar completamente errada) , eu pretendo aprender isso ateh o final da tarde (tirei o dia pra isso) espero ter ajudado.
Em resposta à Almir Alves Pereira

Re: EP2

por Atol Fortin de Oliveira -
Você nao deve percorrer toda a lista para achar o ponto de troca. (isso é realmente lento)

Tente desenhar num papel tudo o que está acontecendo , e pense em algum outro jeito de achar o elemento.
Em resposta à Atol Fortin de Oliveira

Re: EP2

por Almir Alves Pereira -
ja achei um metodo tosco e ineficiente de indexar as listas e o tempo caiu pela metade! mas agora estou sem ideias triste
quanta nota eu perco pq o meu ep roda em 6 minutos?
Em resposta à Felipe Simionato Solferini

Re: EP2

por Geraldo Castro Zampoli -
com a ultima modificação fiquei com uma duvida:
eu entendi que devemos imprimir toda a lista, mas se o usario fizer alguma restrição, imprimimos o numero de bases digitado por ele.
é isso mesmo ou entendi errado?
Em resposta à Geraldo Castro Zampoli

Re: EP2

por Arnaldo Mandel -
Mais ou menos. É para imprimir a lista toda. Se você quiser, introduza no programa alguma forma de o usuário indicar alguma limitação na saída.

O melhor é esquecer essa possibilidade...
Em resposta à Arnaldo Mandel

Re: EP2

por Almir Alves Pereira -
professor da mais uma dica, por favor! a dica 2 não ajudou muito...
(eu não entendi direito)
Em resposta à Almir Alves Pereira

Re: EP2

por Arnaldo Mandel -
OK.

(vamos ver quantos lêem o fórum)

Uma coisa é encontrar o índice original de uma posição na sequência, dado seu índice depois de algumas inversões. Outra é, dado esse índice original, como encontrar seu conteúdo, já que a sequência mudou adoidado?

Um jeito de fazer isso é colocar cada caractere da sequência em uma célula, como a dica 1, e guardar um mapeamento de índices para células, construído logo no começo.

Acho que isso é uma dica duca, mais que isso só fazendo o programa sorriso
Em resposta à Arnaldo Mandel

Re: EP2

por Jefferson Serafim Ascaneo -
Ahh... então quer dizer que a solução "roubada" que eu tinha feito não vale mais nada? (visto que a entrega era até ontem e só vi isso hj...) Eu só não a tinha enviado pq pretendia fazer uma solução decente até o dia 13... (e ainda pretendo)
Enfim, essa dica 2 do enunciado ficou meio estranha msm... muito melhor com essa explicação adicional do fórum.
Em resposta à Jefferson Serafim Ascaneo

Re: EP2

por William Gnann -
Tem alguma forma interessante para escrever coisas como:
var->next->next->prev
var->prev->next->prev

facilitando a vida de quem vê o código?

Edit:

Fica melhor se usar:
(var->next->next)->prev
(var->prev->next)->prev

?
Em resposta à William Gnann

Re: EP2

por Arnaldo Mandel -
Um jeito de melhorar é usando macros:

#define TRES_DEPOIS(x) (x)->next->next->next

Isso ajuda se o nome da macro realmente evocar o significado dessas expressões.
Em resposta à Felipe Simionato Solferini

Re: EP2

por Paulo Cheadi Haddad Filho -
Dexa eu ver se eu entendi.

----------------
Seu programa deve funcionar (no linux) com um comando parecido com:
time ./programa < teste.in > teste.out
Mais precisamente: o teste de tempo será com
time ./programa < teste.in > /dev/null
----------------

Vão ser dois testes então: um de tempo e outro de corretude de saída, certo?

Porque esse "/dev/null" é que a saída vai ser jogada fora, não? Isso melhora a eficiência do programa em questões de tempo? Melhor dizendo, ele vai rodar mais rápido por ter colocado a saída nula?

Tô longe de terminar o meu ainda, mas gostaria de saber disso porque senão eu mudo o jeito de fazer agora mesmo... =)

Obrigado!
Em resposta à Paulo Cheadi Haddad Filho

Re: EP2

por Arnaldo Mandel -
Com /dev/null o programa fica um tico mais rápido. Isso também remove do teste uma atrapalhação aleatória que é o tempo de acesso a disco. Na prática, devem ser bem raros os programas que pulam a cerca dos 10s por causa disso.
Em resposta à Felipe Simionato Solferini

Re: EP2

por Geraldo Castro Zampoli -
Porque quando alocamos um vetor grande, por exemplo 10.000.000, o gcc nos devolve um erro, mas esse erro não ocorre quando alocamos esse mesmo vetor como variavel global?
Em resposta à Felipe Simionato Solferini

Re: EP2

por Francisco Zigmund Sokol -
Só um detalhe, pode utilizar a biblioteca string.h, né?
Em resposta à Francisco Zigmund Sokol

Re: EP2

por Atol Fortin de Oliveira -
Em resposta à Atol Fortin de Oliveira

Re: EP2

por William Gnann -
Alguém tem idéia do porquê de um programa rodar sob Linux e não rodar sob Windows (sem piadas... =P)

[isso acontece ao meu EP]
Em resposta à William Gnann

Re: EP2

por Atol Fortin de Oliveira -
Provavelmente, alocação de memória. De uma olhada nos seus mallocs() .
Em resposta à Atol Fortin de Oliveira

Re: EP2

por Fernando Signorelli -
Eu queria saber se é possivel e rapido usar a funcao memmove na seguinte situacao eu tenho um vetr de apontadores q apontao para cada elemento da lista ligada por exemplo
v[0] v[1] v[2] ...
| | |
cabeca -> A -> G ...

E a sua lista espelho
... v[n-1] v[n] v[n+1]
| | |
... G -> A -> calda
e quando eu fizesse as modificações nos apontadores fazendo a cabeca do de cima apontar para o G d baixo e o A de baixo apontar para o seginte do G de cima e fazer o mesmo na parte d baixo , em seguida usar o memmove para passar o bloco de memoria do v[1] ate o v[2] para v[n-1] ate v[n] e vice versa.
Sera q é possivel e rápido ou ele faria varias pequenas atribuicoes ao inves de uma gigante.
vai ai um link pra ajudar
http://www.cplusplus.com/reference/clibrary/cstring/memmove.html
vlw

Em resposta à Felipe Simionato Solferini

Re: EP2

por Felipe Torres -
Olá,

Quando uso o diff <arquivo_gerado_pelo_meu_ep> <saida_esperada>, ele acusa diferença; porém quando dou um cat nesses dois arquivos, eles são exatamente idênticos (entenda por: todos os 1000 chars aparecem corretamente). Além do mais, ocorre uma diferença de 1 char quando uso wc nos dois arquivos.

Isso me deixou com uma dúvida:
Quando a correção for feita, essa diferença será levada em consideração (visto que a troca é feita corretamente e num intervalo de tempo menor que 10 segundos)?

Abraço.
Em resposta à Felipe Torres

Re: EP2

por Felipe Torres -
Problema resolvido.
(Deus salve o editor hexadecimal).
Em resposta à Felipe Simionato Solferini

Re: EP2

por Francisco Zigmund Sokol -
Posso enviar junto com o ep um bash que compila e compara as saídas do meu ep com a saída do dna-rapido?
Em resposta à Francisco Zigmund Sokol

Re: EP2

por Susanna Rezende -
Alguém sabe em que máquina Linux do IME eu posso fazer ssh para testar meu programa?
Em resposta à Susanna Rezende

Re: EP2

por Marcos de Azevedo Iriarte -
O endereço que você tem que conectar externamente é linux.ime.usp.br . Aí você já acessa o zillertal.

Até!
Em resposta à Marcos de Azevedo Iriarte

Re: EP2

por Paulo Cheadi Haddad Filho -
Acho que é shell.linux.ime.usp.br ... =)
Em resposta à Paulo Cheadi Haddad Filho

Re: EP2

por William Gnann -
Assim ó:
Se você se conectar de fora da Linux, basta usar <user>@linux.ime.usp.br, se você se conectar de dentro da Linux, então deverá usar o <user>@shell.linux.ime.usp.br.
Em resposta à William Gnann

Re: EP2

por Joyce Alessandra Saul -
Outra opção. De dentro da Linux:

ssh <user>@zillertal
Em resposta à Joyce Alessandra Saul

Re: EP2

por Gregory De Bonis -
Oooou (de dentro) "ssh zillertal" - para os preguiçosos, visto que o username será o mesmo. ;)
Em resposta à Gregory De Bonis

Re: EP2

por Felipe Simionato Solferini -
Parabens!!
Amanhã eu coloco linux no meu pc!
Eu jah programo mal e o Windows XP /Vista naum deixa o malloc funfar!
Isso me deixa tristes!!
O tio Bill me zuou = /
Em resposta à Susanna Rezende

Re: EP2

por Susanna Rezende -
Obrigada pelas respostas! Isso é realmente útil qd não se tem linux em casa!