Salve, approfitto di questo topic per presentarmi, sono Andrea ho 19 anni e attualmente studio informatica.
Tra qualche giorno ho programmazione e ammetto di averlo sottovalutato un pò troppo visto che avevo conoscenze (arrugginite tra l'altro, sul c++)
Sfogliando il libro ho notato un esercizio vi posto la traccia.

Sia dato un vettore A di interi di lunghezza L ed un intero n<L con L multiplo di n. Scrivere una funzione che restituisca TRUE se la media dei valori di ogni n-upla coincide con in minimo dell'n-upla successiva.

Esempio: L=16; n=4

A=|4|28|10|18||42|36|15|31||50|31|60|63||70|51|77| 82||
L'output sarà true.

Questo è quello che son riuscito a stendere al momento, però qualunque valore metta mi dà sempre TRUE, problema credo di averlo capito.. in pratica nn mi và al blocco successivo, dovrei mettere un istruzione a fine for del main del tipo n=n*k; solo che al primo ciclo k=0 e quindi mi crasha.. idee? ecco il codice.

codice:
#include <stdio.h>
void leggi(int A[],int l);
int media(int A[],int n,int k);
int minimo(int A[],int n,int k);
int main()
{
    int l,n,k,b,m,minim;
    printf("Quanto deve essere lungo l'array?\n");
    scanf("%d",&l);
    int A[l];
    do
    {
          printf("Inserire n\n");
          scanf("%d",&n);
    }while(l%n!=0||l<=n);
    leggi(A,l);
    for (k=0;l>k+1;k++)
    {
        m=media(A,n,k);
        minim=minimo(A,n,k);
        if (m==minim)
             b=1;
             else
             b=0;
    }
    if (b=0)
       printf("FALSE");
    else
       printf("TRUE");
    scanf("%d",&l);
    return 0;
}
void leggi(int A[],int l)
{
     int i;
     for (i=0;i<l;i++)
     {
         printf("Inserisci il valore della cella [%d]:\n",i);
         scanf("%d",&A[i]);
     }
}
int media(int A[],int n,int k)
{ 
    int s=0,m=0,i=k,j;
    for(j=0;j<n;j++)
    {
          s=s+A[i];
          i++;
          k++;
    }
m=s/n;
return m;
}
int minimo(int A[],int n,int k)
{
    int minim,j,i=k;
    minim=A[k];
    for(j=0;j<n;j++)
    {
          if (minim>A[i])
             minim=A[i];
          i++;
    }
return minim;
}