Fórum PiR2
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

POnteiros

2 participantes

Ir para baixo

POnteiros Empty POnteiros

Mensagem por lucaseasy Qua 21 Jun 2017, 14:16

Olá quem puder ajudar agradeço, a questão pede:

Escreva um programa que leia 10 números inteiros e calcule a soma dos
elementos de índice par e a multiplicação dos elementos que se encontram em
posições de índice ímpar. Informe os resultados do processamento.



o codigo.



#include
main(){
    int vet[5], *p, i, soma=0;
   
   
   
    printf("informe 10 numeros\n\n");
   
    p=vet;
    for(i=0;i<5;i++){
        printf("informe o %d.o numero  \n\n",i+1);
        scanf("%d",p);
        p++;
    }
    p=vet;
    for(i=0;i<5;i++){
        if(*p%2==0){
            soma=soma+*p;
        }
        else{
            *p=((*p)*(*p));  // minha duvida
        }
               
        p++;
    }
    printf("o resultado da soma foi %d\n", soma);
    printf("o resultado da multiplicação foi %d", *p);
   
}

lucaseasy
iniciante

Mensagens : 49
Data de inscrição : 02/07/2015
Idade : 29
Localização : salvador/bahia/brasil

Ir para o topo Ir para baixo

POnteiros Empty Re: POnteiros

Mensagem por Carlos Adir Dom 27 Ago 2017, 23:23

1) O "for" vai até o elemento 5, mas no enunciado diz que são 10 elementos.
2) Sua comparação dentro do "if" dentro do segundo "for" está errada. Você não deve comparar o valor em vet[i] para ver se é divisível por 2, mas sim se o índice for par(as posições 0, 2, 4, ...).
3) Dentro do segundo "for", dentro do "else", você multiplica o valor de *p, e se algum outro elemento depois for par, então entra dentro do "if" e o valor multiplicado se perde. Uma forma de resolver isso é:
Código:
int vet[10], i, soma = 0, produto = 1;
printf("Informe os 10 numeros:\n");
for(i = 0; i < 10; i++)
{
    scanf("%d", &vet[i]);
}
for(i = 0; i < 10; i+=2)
    soma += vet[i]
for(i = 1; i < 10; i+=2)
    produto *= vet[i]

printf("O resultado da soma: %d\n", soma);
printf("O resultado da multiplicação: %d\n", produto);
return 0;

____________________________________________
← → ↛ ↔️ ⇌ ⇔ ⇐ ⇒ ⇏ ➥
⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ º ª ⁿ ⁱ
₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ₐ ₑ ₒ ₓ ₔ
∴ ≈ ≠ ≡ ≢ ≤ ≥ × ± ∓ ∑ ∏ √ ∛ ∜ ∝ ∞
∀ ∃ ∈ ∉ ⊂ ⊄ ⋂ ⋃ ∧ ∨ ℝ ℕ ℚ ℤ ℂ
⊥ ║ ∡ ∠ ∢ ⊿ △ □ ▭ ◊ ○ ∆ ◦ ⊙ ⊗ ◈
Αα Ββ Γγ Δδ Εε Ζζ Ηη Θθ Ιι Κκ Λλ Μμ Νν Ξξ Οο Ππ Ρρ Σσς Ττ Υυ Φφ Χχ Ψψ Ωω ϑ ϒ ϖ ƒ ij ℓ
∫ ∬ ∭ ∳ ∂ ∇ 
♏️  ℛ ℜ ℰ ℳ ℊ ℒ
Carlos Adir
Carlos Adir
Monitor
Monitor

Mensagens : 2820
Data de inscrição : 27/08/2014
Idade : 25
Localização : Gurupi - TO - Brasil

Ir para o topo Ir para baixo

Ir para o topo


 
Permissão neste fórum:
Você não pode responder aos tópicos