[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