min i max w C++
-
- Użytkownik
- Posty: 2278
- Rejestracja: 11 kwie 2007, o 18:49
- Płeć: Kobieta
- Lokalizacja: Dąbrowa Górnicza
- Podziękował: 41 razy
- Pomógł: 602 razy
min i max w C++
Kod: Zaznacz cały
#include<iostream>
#include <ctime>
using namespace std;
int T[10000];
int n, e, maxx, minn,i;
int main()
{
cout<<"Podaj rozmiar tablicy (sposrod ilu liczb wybieramy max i min)"<<endl;
cin >> n;
srand((unsigned)time(NULL));
for(i = 1; i <= n; i++)
{
T[i]=rand()%(n+10);
cout<<T[i]<<" ";
}
cout<<endl;
if(n == 1)
maxx = minn = T[1];
else
{
maxx = T[2];
minn = T[1];
for(i = 2; i <= n; i +=2 )
if(T[i-1] > T[i]) swap(T[i], T[i-1]);
if(n%2) e = T[n];
for(i = 3; i <= n; i += 2)
if(T[i] < minn) minn = T[i];
for(i = 4; i <= n; i += 2)
if(T[i] > maxx) maxx = T[i];
if(n%2)
{
if(e > maxx) maxx = e;
if(e < minn) minn = e;
}
}
cout << "MAX: " << maxx << endl;
cout << "MIN: " << minn << endl;
system("pause");
return 0;
}
-
- Użytkownik
- Posty: 735
- Rejestracja: 7 lis 2005, o 23:56
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 2 razy
- Pomógł: 133 razy
min i max w C++
swoją drogą sporo bardzie efektywne będzie zrobienie tego w jednej pętli:
wcześniej jest tylko wczytywanie danych
Nie trzeba tu robić żadnych założeń, że \(\displaystyle{ n>2}\) czy coś takiego - wystarczy, że ciąg jest niepusty
Kod: Zaznacz cały
max = min = T[0];
for(int i = 1; i < n; i++)
{
if(T[i] > max)
max = T[i];
if(T[j] < min)
min = T[i];
}
Nie trzeba tu robić żadnych założeń, że \(\displaystyle{ n>2}\) czy coś takiego - wystarczy, że ciąg jest niepusty
-
- Użytkownik
- Posty: 41
- Rejestracja: 27 sty 2008, o 10:56
- Płeć: Mężczyzna
- Lokalizacja: Miasto
- Pomógł: 1 raz
min i max w C++
można bez tablicy
Kod: Zaznacz cały
#include<iostream>
using namespace std;
int main()
{
int n;
float liczba, max, min;
cout<<"Z ilu liczb chcesz obliczyć MAX i MIN?"<<endl;
cin>> n;
max=min=liczba;
for( int i = 0; i < n; i++)
{
cout<<"Podaj liczbe: "<<endl;
cin>> liczba;
if( liczba>max)
{
max=liczba;
}
if( liczba < min)
{
min = liczba;
}
}
cout<<"MAX "<<max<<" i MIN "<<min<<endl;
char c;
cin>> c;
return 0;
}