Ciao,
devo fare un programma che, ricevuta in ingresso una sequenza di numeri interi positivi terminata da zero visualizzi:
1) La somma dei numeri pari
2) La somma dei numeri dispari
3) La somma dei numeri in posizione pari
4) La somma dei numeri in posizione dispari

Ho creato la funzione che soddisfa i punti 3 e 4 però per risolvere i punti 1 e 2 bisogna fare 2 sottoprogrammi o uno solo?
codice:
#include<stdio.h>
int somma(int[]);
int sommap(int[], int, int);
int main()
{
    int num[1000], i=0, j=1, op=0, k=0;
    printf("Inserisci una sequenza di numeri interi positivi (per terminare premi 'zero')\n");
    while(num[i]!=0)
    {
                      printf("\nInserisci il %d%c numero:", j, 167);
                      scanf("%d", &num[i]);
                      i++;
                      j++;
    }
    do
    {
                 printf("Cosa vuoi vedere?\n\n");
                 printf(" 1) La somma dei numeri pari\n");
                 printf(" 2) La somma dei numeri dispari\n");
                 printf(" 3) La somma dei numeri in posizione pari\n");
                 printf(" 4) La somma dei numeri in posizione dispari\n");
                 printf("Scelta:");
                 scanf("%d", &op);
    }
    while(op!=1 && op!=2 && op!=3 && op!=4);
    switch(op)
    {
    case 1:
    printf("La somma dei numeri pari da come risultato: %d", somma(num));
    break;
    case 2:
    printf("La somma dei numeri dispari da come risultato: %d", somma(num));     
    break;
    case 3:
    k=0;
    printf("La somma dei numeri in posizione pari da come risultato: %d", sommap(num, k, i));     
    break;       
    default:
    k=1;
    printf("La somma dei numeri in posizione dispari da come risultato: %d", sommap(num, k, i));     
    }
    system("pause");
    return 0;
}
//Implementazione che conta i numeri in posizione pari o dispari
int sommap (int num1[], int pos, int tot)
{
    int y=0; //Serve per la somma
    while(num1[pos]<=tot)
    {
                         y=y+num1[pos];
                         pos=pos+2;
    }
    return y;
}
//Implementazione della funzione che conta i numeri pari o dispari
int somma (int num2[])
{
    //Ciao
    //Qui non ho scritto niente poichè non sapevo come scrivere il codice per  vedere se il numero era pari o dispari
}
Ciao e grazie