[Ubuntu-BR] [OFF-TOPIC] Programa em linguagem C.
Celso Henrique
celsofigueiredo em gmail.com
Segunda Setembro 12 17:47:27 UTC 2011
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
<jeferod83 em gmail.com> 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
> <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
>>
> --
> 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