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:
Rozwiązanie w C++ bez użycia tablicy:
//algorytm.edu.pl
#include<iostream>
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;
return 0;
}
Rozwiązanie z wykorzystaniem tablicy 10-cio elementowej:
//algorytm.edu.pl
#include<iostream>
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;
return 0;
}
Element największy wyszukujemy w analogiczny sposób.