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

Rispondi quotando