Estou abrindo esse topico para discussões e duvidas sobre o EP2.
Pensei em começar lendo o texto, guardando os chars num vetor A (uma única string) e depois fazer um vetor B de palavras e mexer com este, mas não sei muito bem como manipular esse vetor de strings. Declarar como B[MAX][MAX] é impossível pelo tamanho, de que jeito contorno isso?
Quando vc faz B[MAX][MAX]vc esta alocando uma matriz estatica no minimo gigante, mas a ideia é por ai.
Declare um vetor de apontadores, tipo char *B[MAX], na verdade nem precisa ser MAX, se MAX é o numero maximo de caracters o numero maximo de palavras é MAX/2, entendeu o porque?
Bom, ai para cada posição do vetor vc aloca um string do tamanho da palavra que esta processando.
abss e espero ter ajudado
Declare um vetor de apontadores, tipo char *B[MAX], na verdade nem precisa ser MAX, se MAX é o numero maximo de caracters o numero maximo de palavras é MAX/2, entendeu o porque?
Bom, ai para cada posição do vetor vc aloca um string do tamanho da palavra que esta processando.
abss e espero ter ajudado
Sim, cada palavra com um caractere, havendo um não-caractere entre elas. Bem, vou tentar ir por aí ! Tenho certeza que surgirão novas dúvidas, depois to de volta. Valeu.
Como eu faço para ler caracteres acentuados e o ç em uma string?
verifiquei que todos os exemplos estão no idioma inglês, onde não encontramos acentos ou ç...
podemos simplesmente desconsiderar esses caracteres especiais???
já que você definiu no enunciado que uma palavra é reconhecida pela função isalpha, e dado que essa função não reconhece os caracteres especiais podemos proceder dessa forma então???
Podem ignorar todos os caracteres que a isalpha não reconhece
Em resposta à Geraldo Castro Zampoli
Re: EP2 - Periodo Matutino
hoje apareceu a duvidado tamanho maximo de cada palavra, e parece que no dicionário brasileiro é 29 letras, os testes serão baseados nisso ou pode ter alguma palavra de até 10 milhões de caracteres?
ou qual o tamanho maximo de cada palavra pra podermos declarar?
obrigado
ou qual o tamanho maximo de cada palavra pra podermos declarar?
obrigado
Em resposta à renan marcel barros dos santos
Re: EP2 - Periodo Matutino
por Geraldo Castro Zampoli -
Uma palavra tem de 1 a 10.000.000 de caracteres.
Lembrando tbm que voces devem tratar o caso de um arquivo sem nenhum caracter valido.
absss
Lembrando tbm que voces devem tratar o caso de um arquivo sem nenhum caracter valido.
absss
Em resposta à Geraldo Castro Zampoli
Re: EP2 - Periodo Matutino
estou armazenando as palavras em lista, e estou conseguindo, mas na hora de imprimir ele ta imprimindo sempre um caracter a mais que não é isalpha...
geralmente são rostinhos, coração, letras com acento e sinal >.
só pra saberem o que eu to fazendo, eu tenho uma estrutura definida como celula com o campo pra proxima e um campo com vetor de char, e eu to usando a condição a seguir pra armazenar cada palavra:
while (isalpha(c))...
...nova->info[i] = c; /*depois de usar fgetc*/
... /*... e' o codigo do meu programa*/
e na hora da impressao aparece a palavra mas tbm aparece os caracteres estranho ao final de cada uma... sera q alguem pode me ajudar?
geralmente são rostinhos, coração, letras com acento e sinal >.
só pra saberem o que eu to fazendo, eu tenho uma estrutura definida como celula com o campo pra proxima e um campo com vetor de char, e eu to usando a condição a seguir pra armazenar cada palavra:
while (isalpha(c))...
...nova->info[i] = c; /*depois de usar fgetc*/
... /*... e' o codigo do meu programa*/
e na hora da impressao aparece a palavra mas tbm aparece os caracteres estranho ao final de cada uma... sera q alguem pode me ajudar?
Em resposta à renan marcel barros dos santos
Re: EP2 - Periodo Matutino
por Geraldo Castro Zampoli -
Quase certeza que vc ta errando na hora de separar as palavras, tentar colocar para pegar um caracter a menos ou começar depois, não sei.
Esses ajustes são sempre chatos
absss
Esses ajustes são sempre chatos
absss
eu posso assumir que há somente um espaço entre as palavras?
Não,
Posso ter uma palavra mais um de espaço e/ou tab e/ou qualquer caracter não valido e outra palavra
Posso ter uma palavra mais um de espaço e/ou tab e/ou qualquer caracter não valido e outra palavra
Em resposta à Geraldo Castro Zampoli
Re: EP2 - Periodo Matutino
oi, a respeito dos bonus...
eu fiz o ep, e coloquei aquela condicao para impressao em ordem:
if (argc > 1)
... (programa)
mas aparece um warning falando q argv n foi declarado, pra tentar corrigir isso, eu fui até o int main (){ e nos parenteses e coloquei:
"int main (int argv char *argc[]){
e quando compilo aparece o seguinte warning:
90 C:\Documents and Settings\Mangusto\Desktop\verao\ep2\ep2.12.c syntax error before "char"
alguem sabe me responder o que pode ser? tentei fazer o mesmo mas inves de argc pra argv... e nada
de resto o programa faz tudo, eu consigo imprimir na ordem se nao tiver esses comandos ai na hora do "prog"
eu fiz o ep, e coloquei aquela condicao para impressao em ordem:
if (argc > 1)
... (programa)
mas aparece um warning falando q argv n foi declarado, pra tentar corrigir isso, eu fui até o int main (){ e nos parenteses e coloquei:
"int main (int argv char *argc[]){
e quando compilo aparece o seguinte warning:
90 C:\Documents and Settings\Mangusto\Desktop\verao\ep2\ep2.12.c syntax error before "char"
alguem sabe me responder o que pode ser? tentei fazer o mesmo mas inves de argc pra argv... e nada
de resto o programa faz tudo, eu consigo imprimir na ordem se nao tiver esses comandos ai na hora do "prog"
Em resposta à renan marcel barros dos santos
Re: EP2 - Periodo Matutino
por Geraldo Castro Zampoli -
Prototipo da main:
int main(int argc, char*argv[]){
...
}
ai é so por:
if(argc > 1){
imprimi ordenado
}
int main(int argc, char*argv[]){
...
}
ai é so por:
if(argc > 1){
imprimi ordenado
}
Dá uma olhada
neste link
http://equipe.nce.ufrj.br/adriano/c/apostila/funcao.htm#argumentos
sobre argc e argv.
abr.
neste link
http://equipe.nce.ufrj.br/adriano/c/apostila/funcao.htm#argumentos
sobre argc e argv.
abr.
Em resposta à Alexandre Locci Martins
Re: EP2 - Periodo Matutino
177 G:\rSantos2.c [Warning] comparison between pointer and integer
eu tentei fazer do jeito q o geraldo falou e aparece esse comentário...
e alexandre, não entendi bem as coisas desse site =/
só falta isso mesmo pro meu programa, esse
if (argc > 1)...
eu tentei fazer do jeito q o geraldo falou e aparece esse comentário...
e alexandre, não entendi bem as coisas desse site =/
só falta isso mesmo pro meu programa, esse
if (argc > 1)...
Em resposta à renan marcel barros dos santos
Re: EP2 - Periodo Matutino
nossa, acabei de ver a besteira q eu tava fazendo...
na hora de colocar int main (int argc, char *argv[]){
eu tava trocando e colocando primeiro o argv, e é claro que daria problema, pois eu comparava um inteiro com um char...
agora acho que tá tudo certinho, mas aparece um warning ainda:
113 C:\Users\user\Downloads\rSantos2.c [Warning] unused parameter 'argv'
como posso corrigir? isso é normal ou vai ter desconto na nota?
obrigado pessoal
na hora de colocar int main (int argc, char *argv[]){
eu tava trocando e colocando primeiro o argv, e é claro que daria problema, pois eu comparava um inteiro com um char...
agora acho que tá tudo certinho, mas aparece um warning ainda:
113 C:\Users\user\Downloads\rSantos2.c [Warning] unused parameter 'argv'
como posso corrigir? isso é normal ou vai ter desconto na nota?
obrigado pessoal
Em resposta à renan marcel barros dos santos
Re: EP2 - Periodo Matutino
por Geraldo Castro Zampoli -
Pra tirar esse warnning coloca qualquer coisa no argv, senão ele acontece mesmo.
Em resposta à Geraldo Castro Zampoli
Re: EP2 - Periodo Matutino
como assim coloca alguma coisa no argv?
no int main (int argc, char *argv[]){
coloco nesse colchetes?
ou eu faço qualquer comando q tenha argv?
do tipo:
if (argv == 'a'){
}
?
no int main (int argc, char *argv[]){
coloco nesse colchetes?
ou eu faço qualquer comando q tenha argv?
do tipo:
if (argv == 'a'){
}
?
Em resposta à renan marcel barros dos santos
Re: EP2 - Periodo Matutino
por Alexandre Locci Martins -
Oi Renan
O site possui uma explicação e um código que usa as variáeis argc e argv.
Abr.
O site possui uma explicação e um código que usa as variáeis argc e argv.
Abr.
Sobre essa condição de parada EOF. Ela é para arquivos. Mas como eu tenho que condicionar a minha entrada? Pra arquivos ou pelo teclado? Vou ter que abrir um arquivo e coisa e tal?
Em resposta à Ana Carolina Barbosa Silva
Re: EP2 - Periodo Matutino
no meu caso declararei variavel do tipo FILE, e depois usar fopen.
e fui usando fgetc pra ler o arquivo inteiro, com a condição de parada EOF
e fui usando fgetc pra ler o arquivo inteiro, com a condição de parada EOF
No windows não sei como se da EOF pela stdin, pelo linux é so apertar um ctrl+d ao fim da digitação.
Sinceramente, não entendo.
Estou com um problema em meu EP que para de funcionar as vezes. Para um mesmo arquivo de entrada ele pode ou não rodar. Se fosse entradas diferentes, tudo bem. Mas é exatamente do mesmo arquivo de entrada......
Alguém tem idéia do que possa ser???
Deve ser pau desse rWindows.