Non legge il minimo correttamente.

di il
3 risposte

Non legge il minimo correttamente.

Il programminino non legge il minimo, ma legge il massimo, fa la somma e la media.

Codice:

#include <stdio.h>

#include <limits.h>

#define N 10

int main()

{

int V[N];

int i,j,k,l,p,q,max;

float m,sum,min;

sum=0;

for(i=0;i<N;i++){

printf("Elemeto[%d]=",i);

scanf("%d",&V[i]);

sum=sum+V[i];

m=sum/N;

}

printf("Somma=%.1f\n",sum);

printf("media=%.2f\n",(float)m);

for(j=0;j<=N;j++){

V[j]=max;

for(k=0;k<=N;k++){

if(V[k]>=max)

max=V[k];

}

}

printf("Massimo=%d\n",max);

for(l=1;l<=N;l++){

V[l]=min;

for(p=0;p<=N;p++)

if(V[p]<=min)

max=V[p];

}

}

printf("Minimo=%f\n",(float)min);

return 0;

}

3 Risposte

  • Re: Non legge il minimo correttamente.

    Come prima cosa prossima volta metti i tag appositi per il codice, come seconda cosa ti sei incasinato un pó, non capisco il senso di tutti quei contatori quando te ne basta uno.
    Inoltre, perché min é una variabile float mentre max una int.

    In conclusione, per trovare il minimo e il massimo non servono due for annidati, basta impostare sia max e min come il primo elemento del vettore, scorrere il vettore e vedere se ci sono rispettivamente elementi piú piccoli o grandi e in caso aggiorni la variabili.

    Qui sotto ti riporto il codice.

    #include <stdio.h>
    #include <limits.h>
    #define N 5
    
    int main()
    {
    
    	int V[N];
    
    	int i, max, min;
    
    	float m, sum;
    
    	sum = 0;
    
    	for(i = 0; i < N; i++) {
    
    		printf("Elemeto[%d]=",i);
    
    		scanf("%d", &V[i]);
    
    		sum = sum + V[i];
    
    		m = sum / N;
    
    	}
    
    	printf("Somma=%.1f\n",sum);
    
    	printf("media=%.2f\n",(float)m);
    	
    	max = V[0];
    
    	for(i = 0; i < N; i++) {
    		
    		if(V[i] > max){
    			max = V[i];
    		}
    
    	}
    
    	printf("Massimo = %d\n",max);
    	
    	min = V[0];
    
    	for(i = 0; i < N; i++) {
    
    		if(V[i] < min){
    			min = V[i];
    		}
    
    	}
    
    printf("Minimo = %d", min);
    
    return 0;
    
    }
  • Re: Non legge il minimo correttamente.

    #include<stdio.h>
    
    int main()
    {
    
    printf("grazie");
    
    return 0;
    }
    
  • Re: Non legge il minimo correttamente.

    Di niente !

Devi accedere o registrarti per scrivere nel forum
3 risposte