[Ubuntu-BR] [OFF-TOPIC] Programa em linguagem C.
Jeferson Rodrigues
jeferod83 em gmail.com
Segunda Setembro 12 17:36:07 UTC 2011
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
<celsofigueiredo em gmail.com>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
> <jeferod83 em gmail.com> 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 <
> > andre.d.cavalcante em gmail.com> escreveu:
> >
> >> Em 10 de setembro de 2011 12:57, Celso Henrique
> >> <celsofigueiredo em gmail.com>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
>
More information about the ubuntu-br
mailing list