Wyszukiwanie k-tego największego elementu
Kod był wyświetlany 1242 razy.
    /*
  Name: Wyszukiwanie k-tego największego elementu
  Copyright: GPL GNU
  Author: Magdalena Tukaj
  Date: 28-02-09 18:19
  Description: W zbiorze liczb wyszukac element, od którego jest w tym
               zbiorze dokładnie k-1 elementów większych.
*/

#include <iostream>
#include <iomanip>
using namespace std;
int main()
  {
  int n,max;
  int i,j;
  int k;

  do
  {
  cout<<"\n\n\tPodaj ile jest elementow w zbiorze: ";
  cin>>n;
  cout<<"\n\n\tPodaj maksymalny element w zbiorze: ";
  cin>>max;
  cout<<"\n\n\t Podaj k: ";
  cin>>k;
  if(n<=0||max<k)
  cout<<"\n\n\tBlad danych ";
  }
  while(n<=0||max<k);

  int *tab=new int[n];
  srand((unsigned)time(NULL));
  for(i=0;i<n;i++)
  tab[i]=rand()%100+1;
  for(j=0;j<n-1;j++)//posortowanie zbioru
  for(i=0;i<n-1;i++)
  if(tab[i]>tab[i+1])
  swap(tab[i],tab[i+1]);

  cout<<"\n\n";
  for(i=0;i<n;i++)
  cout<<tab[i]<<"\t";

  cout<<"\n\n\t "<<k<<"-ty najwiekszy element to "<<tab[n-k]<<" i znajduje sie on na pozycji "<<(n-k)+1;
  delete[]tab;
  cin.ignore();
  getchar();
  return 0;
}
      
Pobierz plik tekstowy
Administrator WJL
PHP&SQL coded by NOVA-IT