Ok... allora grazie alle tue accortenze sono riuscito a finire l'esercizio...
1) Avevo dimenticato che il confronto si faceva con == piuttosto che con =
2) Quello già l'avevo visto e nn so come mi sia saltanto in mente.. in pratica dovevo fare il controllo sul blocco successivo e non mi ero accorto che col controllo precedente della media il contatore K arrivava al numero giusto.
3)Singoli la media la devo fare su un blocco N, quindi analizzo tutti i valori del blocco e ne faccio la media.
4) Qui non ho capito che intendi, ah e cmq se faccio in questo modo:
if (m==minim)
{
b=0;
break;
}
else
b=1;
Quel break mi permette di terminare il programma senza far eseguire tutti i cicli successivi? Altrimenti in che modo dovrei strutturarlo?
Comunque grazie davvero, alla fine in modo distratto ho postato quì un abozzo più che pietoso, l'ultima cosa che mi era rimasta era sull'if b=0 invece di == . Un errore banalissimo che però senza di te nn avrei visto
EDIT: Mi correggo, in ogni caso il controllo si ferma al primo blocco, riposto il codice e nel fratemmpo cerco soluzione...
#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;
for(k=k;k<n;k++)
{
s=s+A[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;
}