Where to use accumulators in an odd and even evaluation algorithm?

1

Where should I fit the accumulators of this code I wrote for now?

 #include <stdio.h>

         int main()
         {

         int N;
         int somapar;
         int somaimpar;

         do{
         printf("\n Digite um número qualquer: ");
         scanf("%d", &N);

         if (N % 2 == 0){
         printf("\n Número escolhido é par!");
         }

         else {
         printf("\n Número escolhido é ímpar");
         }
         }while (N >= 0);

         printf("\n");

         return 0;
         }

The algorithm statement is this:

  

Write an algorithm to show on the screen whether each N number, typed by the user is even or odd. The algorithm should also show on the screen the sum of all even numbers, the sum of all odd numbers, the percentage of even numbers and the percentage of odd numbers entered. The algorithm should terminate its execution if the user types a number less than zero.

    
asked by anonymous 13.10.2016 / 21:17

2 answers

2

Each of them must be placed inside the if after all it is in it that decides if it is even or odd. Do not forget to reset the variable at startup to avoid getting dirt from memory.

#include <stdio.h>

int main() {
    int N;
    int somapar = 0;
    int somaimpar = 0;
    do {
        printf("\n Digite um número qualquer: ");
        scanf("%d", &N);
        if (N % 2 == 0) {
            printf("\n Número escolhido é par!");
            somapar += N;
        } else {
            printf("\n Número escolhido é ímpar");
            somaimpar += N;
        }
    } while (N >= 0);
    printf("\nTotal de ímpares é %d e total de pares é %d\n", somaimpar, somapar);
}

See working on ideone .

The percentage and other things are up to you.

    
13.10.2016 / 21:33
0

I've put an example to help you with the stocking and the stocking, the percentage is up to you.

#include <stdio.h>

int main() {
    // INICIALIZANDO VARIAVEIS COM 0.
    int N;
    int par = 0;
    int impar = 0;
    int somapar=0;
    int mediapar=0;
    int somaimpar=0;
    int mediaimpar = 0;

    do {
        printf("\n Digite um número qualquer: ");
        scanf("%d", &N);

        // SE O NUMERO FOR PAR ELE ENTRA AQUI
        if (N % 2 == 0) {
            printf("Número escolhido é par!\n");
            par = par + 1;
            somapar = somapar + N;
            mediapar = somapar / par;
        } 

        // SE NÃO ENTRA AQUI
        else{
            printf("\Número escolhido é ímpar!\n");
            impar = impar + 1;
            somaimpar = somaimpar + N;
            mediaimpar = somaimpar / impar;
        }
    } while (N > 0);

    // EXIBINDO RESULTADO NA TELA
    printf("------------------RESULTADO-------------------");
    printf("\nO Total de ímpares é %d e o total de pares é %d.", impar, par);
    printf("\nA soma dos numeros pares é: %d.", somapar);
    printf("\nA média dos numeros pares é: %d.", mediapar);
    printf("\nA soma dos numeros impares é: %d.", somaimpar);
    printf("\nA média dos numeros impares é: %d.", mediaimpar);
}
  • FOR CURIOSITY: #
23.10.2018 / 16:31