Prezado. O que esta faltando agora, é esta parte: 2. Modifique o ODIOUSRC de forma a incluir duas linhas de cabeçalho em cada output: 1. Seu nome - Odious/Evil Number (ex: “Agatha Flesch – Odious Number” para um relatório de número odious, e assim por diante). 2. Linha em branco. ---------------------------------------- Celso
Em 12 de setembro de 2011 14:36, Jeferson Rodrigues <[email protected]> escreveu: > Boa tarde Celso, > > Era exatamente isso mesmo que eu estava falando. > > Mas ainda esta faltando, eu incluir duas linhas no arquivo OEVIL >> > Mas o que tá faltando exatamente? > > Abraços > > > > Em 12 de setembro de 2011 10:26, Celso Henrique > <[email protected]>escreveu: > >> Prezados. >> >> Depois de apanhar e pesquisar um pouco, consegui chegar, neste codigo >> abaixo: >> -------------------------------------- >> #include <stdio.h> >> #include <stdlib.h> >> #include <errno.h> >> #include <string.h> >> >> FILE *odiousFile; >> FILE *errorFile; >> FILE *inputFile; >> FILE *evilFile; >> >> char buffer[81] = "\x0"; >> int bytesWritten = 0; >> >> main() >> { >> >> int isOdious(int); >> int NumberOfOnes; >> int i; >> int rci = 26985; >> >> /*************************************/ >> /* Open file to write output */ >> /*************************************/ >> odiousFile = fopen("DD:ODIOUS", "w"); >> if (odiousFile == NULL) >> { >> printf("open error: %d/%s\n", errno, strerror(errno)); >> exit(99); >> } >> >> /*************************************/ >> /* Open file to write errors */ >> /*************************************/ >> errorFile = fopen("DD:ERRORS", "w"); >> if (errorFile == NULL) >> { >> printf("open error: %d/%s\n", errno, strerror(errno)); >> exit(99); >> } >> >> /*************************************/ >> /* Open file to read input */ >> /*************************************/ >> >> inputFile = fopen("DD:INPUT", "r"); >> if (inputFile == NULL) >> { >> printf("open error: %d/%s\n", errno, strerror(errno)); >> exit(98); >> } >> /*************************************/ >> /* Open file to write evil */ >> /*************************************/ >> evilFile = fopen("DD:OEVIL", "w"); >> if (evilFile == NULL) >> { >> printf("open error: %d/%s\n", errno, strerror(errno)); >> exit(99); >> } >> /*************************************/ >> /* Run program */ >> /*************************************/ >> >> while (fscanf(inputFile,"%d",&i) != EOF) { >> rci = isOdious(i); >> if (rci == 1) >> { >> bytesWritten = sprintf(buffer,"%d is odious \n",i); >> fwrite(buffer, 1, bytesWritten, odiousFile); >> } >> else if (rci ==0) { >> bytesWritten = sprintf(buffer,"%d is evil \n",i); >> fwrite(buffer, 1, bytesWritten, evilFile); >> } >> else >> { >> /* Nao fazer nada*/ >> } >> } >> /*************************************/ >> /* Close output files */ >> /*************************************/ >> fclose(odiousFile); >> fclose(errorFile); >> fclose(evilFile); >> >> /*************************************/ >> /* Close input file */ >> /*************************************/ >> fclose(inputFile); >> >> return 0; >> } >> >> int isOdious (int myInt) >> { >> int NumberOfOnes = 0; >> >> /*NumberOfOnes=0; */ >> >> if (myInt==0) { >> bytesWritten = sprintf(buffer,"0 not >> supported!\n"); >> fwrite(buffer, 1, bytesWritten, errorFile); >> return 100; >> } >> >> if (myInt>1024) { >> bytesWritten = sprintf(buffer,"%d too >> large!\n",myInt); >> fwrite(buffer, 1, bytesWritten, errorFile); >> return 101; >> } >> >> while (myInt>0) { >> if (myInt%2==1) { >> NumberOfOnes=NumberOfOnes+1; >> myInt=myInt-1; >> } >> myInt=myInt/2; >> } >> >> if (NumberOfOnes%2==1) >> return 1; >> else >> return 0; >> } >> -------------------------------------- >> Mas ainda esta faltando, eu incluir duas linhas no arquivo OEVIL, sera >> que voce poderia me ajudar. >> >> Celso. >> >> Em 12 de setembro de 2011 09:58, Jeferson Rodrigues >> <[email protected]> escreveu: >> > Bom dia André, >> > >> > Uma simples divisão sucessiva por 2 e conta os uns que tu tens se o >> número >> >> tem paridade par ou paridade ímpar. >> >> >> > O programa faz isso na verdade. >> > >> > PS: você chegou a ver o meu e-mail anterior ajudando ele? Pergunto isso >> pois >> > eu mandei uma resposta com um "pequeno sermão" e dando uma forçinha pra >> ele, >> > e se você não viu desconfio que a lista tenha bloqueado. >> > >> > Abraços >> > >> > Em 12 de setembro de 2011 09:26, Andre Cavalcante < >> > [email protected]> escreveu: >> > >> >> Em 10 de setembro de 2011 12:57, Celso Henrique >> >> <[email protected]>escreveu: >> >> >> >> > Prezados Ubundistas. >> >> > >> >> >> >> Olá >> >> >> >> >> >> > >> >> > Estou precisando resolver este programa em C, abaixo, mas não estou >> >> > conseguindo, sera que voce poderia me ajudar. >> >> > >> >> >> >> Olha só, na boa. Se eu tivesse entendido o que o cara tá pedindo eu até >> >> ajudava. Mas tá ruim demais entender o que ele pede. Na boa, paridade >> par e >> >> paridade ímpar é trivial em C. Uma simples divisão sucessiva por 2 e >> conta >> >> os uns que tu tens se o número tem paridade par ou paridade ímpar. >> >> >> >> Mas tem umas coisas de arquivo de erro que eu tô passado! Por que >> >> complicar? >> >> >> >> Abraços >> >> >> >> André Cavalcante >> >> Caparica, Portugal >> >> Ubuntu User number # 24370 >> >> Quer saber sobre Open Source Software? http://sobreoss.blogspot.com >> >> Quer saber mais sobre Espiritismo? http://sobreespiritismo.blogspot.com >> >> >> >> Atenção: Este e-mail pode conter anexos no formato ODF (Open Document >> >> Format)/ABNT (extensões odt, ods, odp, odb, odg). Antes de pedir os >> anexos >> >> em outro formato, você pode instalar gratuita e livremente o BrOffice ( >> >> http://www.broffice.org) ou o seguinte Plugin para Microsoft Office ( >> >> http://odf-converter.sourceforge.net/index.html< >> >> http://www.sun.com/software/star/odf_plugin/get.jsp> >> >> ). >> >> -- >> >> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece >> >> >> >> Lista de discussão Ubuntu Brasil >> >> Histórico, descadastramento e outras opções: >> >> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br >> >> >> > -- >> > Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece >> > >> > Lista de discussão Ubuntu Brasil >> > Histórico, descadastramento e outras opções: >> > https://lists.ubuntu.com/mailman/listinfo/ubuntu-br >> > >> >> -- >> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece >> >> Lista de discussão Ubuntu Brasil >> Histórico, descadastramento e outras opções: >> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br >> > -- > Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece > > Lista de discussão Ubuntu Brasil > Histórico, descadastramento e outras opções: > https://lists.ubuntu.com/mailman/listinfo/ubuntu-br > -- Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece Lista de discussão Ubuntu Brasil Histórico, descadastramento e outras opções: https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

