Znajdowanie najmniejszego lub największego elementu w zbiorze

powrót

Omówimy wyszukiwanie elementu najmniejszego.

Strategia jest następująca: pierwszy element wczytujemy do zmiennej pomocniczej $$min$$. Kolejne liczby porównujemy z tą zmienną, i w przypadku, gdy napotkamy na mniejszą to podmieniamy wartość zmiennej $$min$$.

Rozpatrzmy zbiór:

$$20,\ 6,\ 15,\ 7,\ 5,\ 1,\ 8$$

Zmienna $$min$$ przyjmuje wartości:

mimmax

Rozwiązanie w C++ bez użycia tablicy:

#include<iostream>
#include<cstdlib>
using namespace std;
 
int main()
{
    int n, min, pom;
        
        cout<<"Ile liczb chcesz wczytać? ";
        cin>>n;
        
        cin>>min; //pierwszą liczbę przypisujemy do zmiennej min
        
        for(int i=1;i<n;i++) //wczytanie pozostałych n-1 liczb
        {
                cin>>pom;
                if(min>pom)
                //podmieniamy, gdy znajdziemy mniejszą niz min
                        min = pom; 
        }
        
        cout<<"Najmniejszą wczytaną liczbą jest "<<min<<endl;
        
        system("pause");
        return 0;
}

 

Rozwiązanie z wykorzystaniem tablicy 10-cio elementowej:

#include<iostream>
#include<cstdlib>
using namespace std;

int main()
{
    //inicjacja tablicy z przykładowymi danymi
	int min, tab[]={2, 3, 6, 7, 8, 7, 4, 3, 1, 7}; 
	
	min = tab[0]; //pierwszą liczbę przypisujemy do zmiennej min
	
	for(int i=1;i<10;i++) //przeszukanie pozostałych 9 liczb
		if(min>tab[i])
			min = tab[i];
	
	cout<<"Najmniejszą wczytaną liczbą jest "<<min<<endl;
	
	system("pause");
	return 0;
}

 

Element największy wyszukujemy analogicznie.