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