salve

avrei una piccola domanda sul programma in questione (trova il min e il max in una sequenza). Allora il programma in certi versi funziona, solo che inizializando massimo e minimo a 0 in caso che mi trova un valore inferiore o superiore al valore di inizializazione mi da il valore di inizializazione della variabile e non quello + basso\alto tra quelli in input da me inseriti


esempio :

- minimo (4,5,8,4,11) min... e inizializato a 0 e nn viene aggiornato , mentre dovrebbe darmi 4 come valore


- massimo (-1,-6, -3 ,-9) mass.... mi da come valore 0 mentre dovrebbe darmi -1






codice:
#include "stdafx.h"
#include "stdio.h"

int max (int x,int mass);
int min (int x,int minn);

int main ()

	{

		int i =0;
		int n =0;
		int x =0;
		int massimo = 0;
		int minimo = 0;
		int mass = 0;
		int minn = 0;
		char c;

do
	{
		printf(" Programma che trova il massimo e il minimo in una sequenza di numeri \n\n");
		

		printf(" Inserire quanti valori vuoi analizare       ");
		scanf("%d",&n);
		getchar();


		for (i=0; i<n; i++)

			{
				printf(" \n\n Inserire il valore          ");
				scanf("%d",&x);
				getchar();
		
		
					massimo = max(x,mass);
					minimo = min(x,minn); 
					mass = massimo;
					minn = minimo;

			}

		printf(" \n\n Il valore piu alto tra quelli inseriti e'  %d   ",massimo);
		printf(" \n\n Il valore piu basso tra quelli inseriti e'  %d   ",minimo);

		printf( "\n\n Il progrramma e concluso desideri riavviarlo ?   ");
		printf(" \n Y/N     ");
		scanf("%c",&c);
		getchar();
		printf ("\n\n\n");

	}  
	
	while (c=='y' || c=='Y');

		return 1;
}




int max (int x,int mass)    //* Funzione massimo *//

{
	if ( x >= mass)
		{
			mass = x;
		}

	return mass;
}
	 

int min (int x, int minn)    //* Funzione minimo *//

{
	if ( x <= minn)
		{
			minn = x;
		}
	return minn;
}



aspetto info grazie