Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Data una sequenza di numeri interi, si determini il massimo e il minimo e la loro posizione nella sequenza (Es. Nella sequenza 2 10 4 50 , il minimo è 2 , e la sua posizione è 1, mentre il massimo è 50 e la sua posizione è 4)
- */
- #include <stdio.h>
- int main() {
- int x,mg,mn,posmn,posmg,i; // x = variabile di appoggio per l'input, mg = maggiore, mn = minore, posmn = posizione del minore, posmg = posizione del maggiore, i = variabile contatore per tenere traccia della posizione del numero corrente
- printf("Inserisci un numero e premi INVIO. La sequenza termina dopo aver inserito lo 0\n");
- scanf("%d", &x); // Prendo un primo valore in input
- posmn = posmg = i = 1; // Il conteggio delle posizioni inizia da 1. Per adesso, posizione del maggiore e del minore coincidono
- mg = mn = x; // Per adesso, maggiore e minore coincidono
- while(x != 0){ // Controllo che x sia diverso da 0
- if(x > mg){ // Se x è maggiore di mg
- mg = x; // Il maggiore diventa x
- posmg = i; // Aggiorno la posizione del maggiore
- }else if(x < mn){ // Se x è minore di mn
- mn = x; // Il minore diventa x
- posmn = i; // Aggiorno la posizione del minore
- }
- i++; // Aggiorno il contatore della posizione
- scanf("%d", &x); // Prendo un nuovo valore in input
- }
- printf("Maggiore: %d\n", mg); // Stampo il maggiore
- printf("Minore: %d\n", mn); // Stampo il minore
- printf("Posizione del maggiore nella sequenza: %d\n", posmg); // Stampo la posizione del maggiore
- printf("Posizione del minore nella sequenza: %d\n", posmn); // Stampo la posizione del minore
- /*
- ATTENZIONE:
- Nel caso in cui il primo (e, di conseguenza, unico) numero inserito sia lo 0, questo sarà considerato sia come maggiore che come minore,
- mentre le variabili posmg e posmn avranno entrambe valore 1
- */
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement