Nun0 Posted March 26, 2014 Report Share Posted March 26, 2014 Boas maltinha, É o seguinte, o meu terminal no Linux anda marado. Até agora conseguia sempre compilar tudo direito, as funções que precisava para o projeto funcionavam na perfeição, de um dia para o outro deparo-me com este erro na execução de funções que estavam a funcionar: http://i1328.photobucket.com/albums/w529/Nuno_Guerra/Screenshot-03262014-124558PM_zps35c6d869.png Agradeço resposta, porque gostava de continuar o meu trabalho. Um abraço xD Nuno Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 26, 2014 Report Share Posted March 26, 2014 e o código ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Nun0 Posted March 26, 2014 Author Report Share Posted March 26, 2014 (edited) char conta[20]; int i, a, b; char c; printf("Insira um caracter\n"); scanf("%c",&c); printf("Insira uma palavra\n"); scanf("%s",conta); i=0; b=0; putchar('\n'); while (conta[i] != '\0') { if (conta[i] == c) { b++; a=1; } i++; } if (a == 1) { printf ("O caracter %c aparece %d vezes \n", c, b ); } else { printf ("Não existe o caracter %c na palavra %s \n", c, conta); } return 1; } Eu já tive esta função a funcionar, de um momento para o outro deixaram todas de funcionar, portanto penso que seja problema do terminal Edited March 26, 2014 by Nun0 Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 26, 2014 Report Share Posted March 26, 2014 actualiza o gcc se o erro persistir, remove o gcc e volta a instalar IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Nun0 Posted March 26, 2014 Author Report Share Posted March 26, 2014 Como atualizo o gcc? E se precisar de o remover como faço pela linha de comandos? Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 26, 2014 Report Share Posted March 26, 2014 (edited) usa o synaptic packet manager ... é mais simples mas para referência: sudo apt-get [upgrade|remove|install] <packet_name> Edited March 26, 2014 by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Nun0 Posted March 26, 2014 Author Report Share Posted March 26, 2014 E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. Aparece-me este erro. O melhor é mesmo desinstalar e voltar a instalar. Podes-me dizer como faço isso através do terminal, se faz favor ? Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 26, 2014 Report Share Posted March 26, 2014 (edited) sudo apt-get remove gcc no entanto é aconcelhavel fazeres o que a mensagem te diz para fazer ... Edited March 26, 2014 by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Nun0 Posted March 26, 2014 Author Report Share Posted March 26, 2014 Fiz o que ele me pediu para fazer e afinal já tinha o synaptic instalado fiz um update no synaptic e como faço agora para o usar? Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 26, 2014 Report Share Posted March 26, 2014 usar o que ? está actualizado prontos ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Nun0 Posted March 26, 2014 Author Report Share Posted March 26, 2014 Não entendo, atualizei o synaptic, desinstalei e voltei a instalar o gcc e continua a persistir o mesmo erro Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 27, 2014 Report Share Posted March 27, 2014 epa ... estava aqui a compilar uma cena na consola e lembrei-me ... estava mesmo cego quando olhei para o teu printscreen {facepalm} tens de dar o parâmetro que "func" é o nome de sair, senão será assumido como ficheiro para o linker gcc -o func3 func.3 IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Nun0 Posted March 27, 2014 Author Report Share Posted March 27, 2014 Olá amigo, eu percebi isso passado umas horas xd Era mesmo isso que faltava e começou logo a funcionar tudo direitinho Obrigado (: Uma outra coisa: #include <stdio.h> int main () { char palavra1[20]; char palavra2[20]; int i; int j; i=0; while (palavra1 [i] !='\0') i++; scanf ("%d \n", i); j=0; while (palavra2 [j] !='\0') j++; scanf ("%d \n", j); Podes me dar uma ajudita como faço para o compilador guardar e mais tarde imprimir o i e o j? É que falha-me nos parametros sobre os apontadores e como eu ainda estou fresco nessa matéria ainda não entendo bem. Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 27, 2014 Report Share Posted March 27, 2014 podes ser mais claro no que pretendes ? é que a pergunta não faz muito sentido ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Nun0 Posted March 27, 2014 Author Report Share Posted March 27, 2014 O que eu quero basicamente é que quando ele entra no ciclo while o corra até que encontre o '\0' , quando o encontrar que guarde a posição do i onde o '\0' foi encontrado. Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 27, 2014 Report Share Posted March 27, 2014 O que eu quero basicamente é que quando ele entra no ciclo while o corra até que encontre o '\0' , quando o encontrar que guarde a posição do i onde o '\0' foi encontrado. while (palavra1[i] !='\0') i++; /* scanf ("%d \n", i); */ printf("%d\n", i); IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Nun0 Posted March 27, 2014 Author Report Share Posted March 27, 2014 Eu coloco isso que me dizes, mas aparece o seguinte: warning: format ‘%d’ expects argument of type ‘int *’, but argument 2 has type ‘int’ [-Wformat=] scanf ("%d \n", i); Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 27, 2014 Report Share Posted March 27, 2014 Eu coloco isso que me dizes, mas aparece o seguinte: warning: format ‘%d’ expects argument of type ‘int *’, but argument 2 has type ‘int’ [-Wformat] scanf ("%d \n", i); olha lá ... foi mesmo isso que eu escrevi ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Nun0 Posted March 27, 2014 Author Report Share Posted March 27, 2014 Desculpa, eu comecei à menos de um mês a programar em C. Quando colocaste o "comentário" pensei que quisesses dizer "ou colocas o scanf ou colocas o printf". Mas entendi que é para colocar os dois seguidos. Eu não quero que ele imprima o valor do i, apenas que o guarde. Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 27, 2014 Report Share Posted March 27, 2014 Desculpa, eu comecei à menos de um mês a programar em C. Quando colocaste o "comentário" pensei que quisesses dizer "ou colocas o scanf ou colocas o printf". Mas entendi que é para colocar os dois seguidos. Eu não quero que ele imprima o valor do i, apenas que o guarde. eu quando comentei queria dizer : "o que tem está errado faz como vem a seguir" não precisas de guardar ... o valor já está na variável i IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now