Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro


HGIDC
Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 a 10 de 17
  1. #1

    Avatar de Skiter
    Data de Ingresso
    Sep 2010
    Localização
    Brasil
    Idade
    25
    Posts
    242
    Agradecido
    54
    Agradeceu
    27
    Peso da Avaliação
    10

    Padrão Ajuda Instrução em C/ANSI

    Boa tarde galera, comecei a algumas semanas meu curso de ADS, e estamos aprendendo programação em C meu professor pediu uma serie de programinhas para testar os comandos ja aprendidos, mas não estou conseguindo montar uma estrutura que ele pediu, se alguem puder me dar uma ajuda ou postar o codigo para estar fazendo o estudo , ficarei grato.
    a questão é a seguinte:

    1) Escreva um programa em C que leia um valor N inteiro e positivo, calcule e mostre o valor de E, conforme a fórmula a seguir:

    E = 1 + 1/1 + 1/2 + 1/3 + 1/4 + ... + 1/N

    Estou tentando assim mais sem sucesso.

    Código PHP:
    #include <stdio.h>
    #include <stdlib.h>

    int main(void){
        
        
    int n;
        
    float e;
            
        
    printf("Bem vindo(a)\n\n");
        
    printf("Digite um numero INTEIRO e POSITIVO, sem usar Pontos ou Virgulas!");
        
    scanf("%d", &n);
        
    1/1/1/1/+ ... + 1/n;
        
    printf("%.2f"e);
        
            
        
        
    system("pause");
        return(
    0);


  2. #2



    Avatar de Ayrton Ricardo
    Data de Ingresso
    May 2012
    Localização
    Joao Pessoa - PB
    Idade
    22
    Posts
    1.388
    Agradecido
    253
    Agradeceu
    167
    Peso da Avaliação
    20

    Padrão

    Cara, esta formula que não vou dizer o nome trabalha em cima de incremento, ou seja, use for para a mesma. Vou passar um algorítimo em portugues abaixo e você o transcreve pra C, somente pra sakar a lógica :v


    leia $n
    se $n nao par entao #para saber se um número é par use o "mod" (%)
    saia "Só podemos aceitar par"
    fimdoif

    $i recebe 1

    enquanto $n nao for igual a $i

    $n vai ser igual a n dividido por $i
    incrementa o $i
    $e vai ser igual a n

    fimdoenquanto

    escreve $e
    fim do programa


    a lógica é tipo essa ^^'
    Da uma analisada no que escrevi e tenta transcrever para C.
    Usei $ para indicar que é uma variável.
    Leiam, todo desenvolvedor PHP precisa conhecer: Hidden Content .
    Hidden Content
    Intel core I3-4130@3.4 | Blizzard T2 | GAB85M-D3H | 8 GB 1333 | R9 280x Vapor X OC | AOC 23" 3D | NZXT Phantom | Corsair CX 750

  3. O Seguinte Usuário Agradeceu Ayrton Ricardo Por este Post Útil:


  4. #3

    Avatar de Skiter
    Data de Ingresso
    Sep 2010
    Localização
    Brasil
    Idade
    25
    Posts
    242
    Agradecido
    54
    Agradeceu
    27
    Peso da Avaliação
    10

    Padrão

    Cara muito obrigado por ter ajudado , tentei passar para C
    cheguei ate aqui, não sei se esta certo! mais esta retornando o mesmo valor que eu digito!

    Código PHP:
    #include <stdio.h>
    #include <stdlib.h>

    int main(void){
        
        
    long int n;
        
    int e;
        
    1;
        
        
        
    printf("Bem vindo(a)\n\n");
        
    printf("Digite um numero INTEIRO e POSITIVO, sem usar Pontos ou Virgulas: ");
        
    scanf("%d", &n);
        
        if (
    n%2){
            
    printf("Por Favor Digite apenas numeros Pares!\n\n\n");
        }
            
        while(
    != e){
            
    n/e;
            
    e++;
            
    n;                     
        }
        
    printf("%d\n\n\n\n\n"e);
        
        
    system("pause");
        return(
    0);


  5. #4



    Avatar de Ayrton Ricardo
    Data de Ingresso
    May 2012
    Localização
    Joao Pessoa - PB
    Idade
    22
    Posts
    1.388
    Agradecido
    253
    Agradeceu
    167
    Peso da Avaliação
    20

    Padrão

    Código PHP:
    #include <stdio.h>
    #include <stdlib.h>


    int main(void){
        
        
    long int n;
        
    int e;
        
    1;
        
        
        
    printf("Bem vindo(a)\n\n");
        
    printf("Digite um numero INTEIRO e POSITIVO, sem usar Pontos ou Virgulas: ");
        
    scanf("%d", &n);
        
        if (
    n%2){
            
    printf("Por Favor Digite apenas numeros Pares!\n\n\n");//isto não faz com que o while não seja executado, ou seja, mesmo se o usuário digitar impar, vai rodar o programa do mesmo jeito ^^
        
    }
            
        while(
    != e){
            
    n/e;
            
    e++; // Você incrementa a variável E
            
    n;//isto sobrescreve o que você incrementou acima.
        
    }
        
    printf("%d\n\n\n\n\n"e);
        
        
    system("pause");
        return(
    0);

    a ideia seria mais ou menos assim:


    Código PHP:
    #include <stdio.h>
    #include <stdlib.h>


    int main(void){
        
        
    long int n;
        
    int e 1;
        
        
        
    printf("Bem vindo(a)\n\n");
        
    printf("Digite um numero INTEIRO e POSITIVO, sem usar Pontos ou Virgulas: ");
        
    scanf("%d", &n);
        
        if (
    n%2){
            
    printf("Por Favor Digite apenas numeros Pares!\n\n\n");
    return 
    0;
        }
            
        while(
    != i){
            
    += n/i;
            
    i++;
        }
        
    printf("%d\n\n\n\n\n"e);
        
        
    system("pause");
        return(
    0);


    Esta não é a resposta, isto é uma lógica que ajudará na resolução da sua pergunta
    Leiam, todo desenvolvedor PHP precisa conhecer: Hidden Content .
    Hidden Content
    Intel core I3-4130@3.4 | Blizzard T2 | GAB85M-D3H | 8 GB 1333 | R9 280x Vapor X OC | AOC 23" 3D | NZXT Phantom | Corsair CX 750

  6. O Seguinte Usuário Agradeceu Ayrton Ricardo Por este Post Útil:


  7. #5

    Avatar de Skiter
    Data de Ingresso
    Sep 2010
    Localização
    Brasil
    Idade
    25
    Posts
    242
    Agradecido
    54
    Agradeceu
    27
    Peso da Avaliação
    10

    Padrão

    Vou estudar ela, e posto o resultado mais tarde!

    ---------- Post added at 07:46 PM ---------- Previous post was at 05:56 PM ----------

    Amigo seria isso aqui?

    Código PHP:
    #include <stdio.h>
    #include <stdlib.h>


    int main(void){
        
        
    long int n;
        
    int e 1;
        
        
        
    printf("Bem vindo(a)\n\n");
        
    printf("Digite um numero INTEIRO e POSITIVO, sem usar Pontos ou Virgulas: ");
        
    scanf("%d", &n);
        
        if (
    n%2){
            
    printf("Por Favor Digite apenas numeros Pares!\n\n\n");
    return 
    0;
        }
            
        while(
    != e){
            
    += n/e;
            
    n++;
        }
        
    printf("%d\n\n\n\n\n"e);
        
        
    system("pause");
        return(
    0);


  8. #6



    Avatar de Ayrton Ricardo
    Data de Ingresso
    May 2012
    Localização
    Joao Pessoa - PB
    Idade
    22
    Posts
    1.388
    Agradecido
    253
    Agradeceu
    167
    Peso da Avaliação
    20

    Padrão

    O uso do (++, --) como prefixo ou sufixo das variáveis significa incremento e decremento respectivamente, ou seja, ela faz:
    ao usar i++, é o mesmo que dizer i = i + 1, logo o valor de i será aumentado em +1

    Se você der um incremento em cima do que o usuário digitou, não dará certo, pois sairá da lógica. Veja:
    E = 1 + 1/1 + 1/2 + 1/3 + 1/4 + ... + 1/N
    isto quer dizer que a variável e será incrementada até o i chegar à mesma quantidade de N(que é o que o leu do usuário) em outras palavras, você vai adicionar a variável e o valor da divisão de n por i até i ser igual a n.

    Mas ai caiu uma dúvida por isso disse que a resposta não era o que postei, essa fórmula está correta? Pois da-se ao entender que tem que incrementar o i até ele atingir n e adicionar a e a divisão de 1 por i '-'

    Ou seja, a única diferença da minha resposta anterior seria:
    e += 1 / i;

    Eu disse que era somente a lógica para você pensar e analisar, talvez pudesse ter uma resposta diferente.


    Nota, ainda falta declarar a variável i na minha resposta anterior kkkkk'
    Leiam, todo desenvolvedor PHP precisa conhecer: Hidden Content .
    Hidden Content
    Intel core I3-4130@3.4 | Blizzard T2 | GAB85M-D3H | 8 GB 1333 | R9 280x Vapor X OC | AOC 23" 3D | NZXT Phantom | Corsair CX 750

  9. Os Seguintes 2 Usuários Agradeceram você Ayrton Ricardo Por este Post Útil:


  10. #7

    Avatar de xiscoss
    Data de Ingresso
    Aug 2010
    Localização
    Santa Catarina
    Posts
    360
    Agradecido
    146
    Agradeceu
    110
    Peso da Avaliação
    11

    Padrão

    Não deveria postar em C, mas estude o código.

    Obs.: Não foi testado, faz 1 ano que não programo nada em C (sem contar que aprendi apenas o básico nessa linguagem).

    Código PHP:
    #include <stdio.h>
    #include <stdlib.h>

    int main(void)
    {
        
    int n 0;
        
    float i 01;

        
    printf("Digite um numero INTEIRO e POSITIVO: ");
        
    scanf("%d", &n);

        while(
    0) {
            
    system("cls");
            
    printf("Digite um numero INTEIRO e POSITIVO: ");
            
    scanf("%d", &n);
        }

        while(
    n) {
            
    += i;

            
    i++;
        }

        
    printf("\nResultado: %.2f\n"e);

        
    system("pause");
        return(
    0);

    Aerocool DS 200 Lite/ Corsair GS600/ ASRock Fatal1ty Z97 Killer/ Intel Core i5 4670K 3,40 GHz 6MB Cache/ Corsair Water Cooler H80i/ Sapphire R9270X Dual-X 2GB OC/ Hyper X Fury 2x8GB 1866Mhz DDR3/ SSD Kingston 120GB/ HDD Samsung 500GB

  11. O Seguinte Usuário Agradeceu xiscoss Por este Post Útil:


  12. #8

    Avatar de Skiter
    Data de Ingresso
    Sep 2010
    Localização
    Brasil
    Idade
    25
    Posts
    242
    Agradecido
    54
    Agradeceu
    27
    Peso da Avaliação
    10

    Padrão

    Agradeço a todos pelas dicas, mais utilizei da estrutura de repetição FOR para fazer, funcionou de boa, ! Obrigado mesmo pelas dicas galera!

  13. O Seguinte Usuário Agradeceu Skiter Por este Post Útil:


  14. #9



    Avatar de Ayrton Ricardo
    Data de Ingresso
    May 2012
    Localização
    Joao Pessoa - PB
    Idade
    22
    Posts
    1.388
    Agradecido
    253
    Agradeceu
    167
    Peso da Avaliação
    20

    Padrão

    aqui vai uma dica.

    Código PHP:
    printf("Digite um numero INTEIRO e POSITIVO: ");
    scanf("%d", &n); 

    while(
    0) {
             
    system("cls");
             
    printf("Digite um numero INTEIRO e POSITIVO: ");
             
    scanf("%d", &n);


    Ao invés de reescrever o código bastava apenas:

    Código PHP:
    do{
            
    system("cls");
             
    printf("Digite um numero INTEIRO e POSITIVO: ");
             
    scanf("%d", &n);
     } while (
    <= 0); 

    Isso faria com que somente números maiores que 0 e positivos fossem digitados e executados pelo programa
    Essa estrutura está presente em quase todas as linguagens(não digo todas pois não tenho certeza), portanto, deve-se saber que ela existe .


    Parabéns por não ter usado nenhuma solução dada acima. Poderia postar para vermos? quem sabe uma melhorada? Caso não queira só pedir pra trancar :P
    Última edição por Ayrton Ricardo; 31-03-2014 às 01:27 AM.
    Leiam, todo desenvolvedor PHP precisa conhecer: Hidden Content .
    Hidden Content
    Intel core I3-4130@3.4 | Blizzard T2 | GAB85M-D3H | 8 GB 1333 | R9 280x Vapor X OC | AOC 23" 3D | NZXT Phantom | Corsair CX 750

  15. #10

    Avatar de xiscoss
    Data de Ingresso
    Aug 2010
    Localização
    Santa Catarina
    Posts
    360
    Agradecido
    146
    Agradeceu
    110
    Peso da Avaliação
    11

    Padrão

    @Ayrton
    Eu sei da existência do do while, mas não vi necessidade de usar o mesmo, também o n % 2 vai me dizer se n é par e não positivo.
    Outra solução para não pedir o número antes do while, é apagar as 2 linhas referentes e alterar o valor "default" de n para -1.
    Aerocool DS 200 Lite/ Corsair GS600/ ASRock Fatal1ty Z97 Killer/ Intel Core i5 4670K 3,40 GHz 6MB Cache/ Corsair Water Cooler H80i/ Sapphire R9270X Dual-X 2GB OC/ Hyper X Fury 2x8GB 1866Mhz DDR3/ SSD Kingston 120GB/ HDD Samsung 500GB

 

 
Página 1 de 2 12 ÚltimoÚltimo

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Suporte| Ajuda
    Por diegojj no fórum Dúvidas
    Respostas: 0
    Último Post: 06-02-2015, 09:54 PM
  2. |Suporte| ~ Ajuda
    Por ViperJr no fórum Dúvidas
    Respostas: 0
    Último Post: 20-01-2015, 05:41 PM
  3. |Dúvida| Ajuda C++
    Por bkpkbmu no fórum C++
    Respostas: 1
    Último Post: 28-07-2012, 03:45 AM
  4. |Pedido| Ajuda com FTP
    Por YaHiKo no fórum Delphi
    Respostas: 5
    Último Post: 24-04-2012, 03:20 PM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •