Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C] Massimo minimo non funziona come dovrebbe

    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
    Potrei morire per una {Ferrari 599 GTB Fiorano F1}

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472

    Re: [C] Massimo minimo non funziona come dovrebbe

    codice:
        for (i=0; i<n; i++)
        {
           printf(" \n\n Inserire il valore          ");
           scanf("%d",&x);
           getchar();
    
           if(i==0)
              minimo = massimo = x;
           else
           {
              minimo = min(x, minimo); 
              massimo = max(x, massimo);
           }
         }

  3. #3

    Re: Re: [C] Massimo minimo non funziona come dovrebbe

    Originariamente inviato da oregon
    codice:
        for (i=0; i<n; i++)
        {
           printf(" \n\n Inserire il valore          ");
           scanf("%d",&x);
           getchar();
    
           if(i==0)
              minimo = massimo = x;
           else
           {
              minimo = min(x, minimo); 
              massimo = max(x, massimo);
           }
         }



    grazie 1000
    Potrei morire per una {Ferrari 599 GTB Fiorano F1}

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.