test
import java.io.*;
import java.util.Random;

class Array
   {
   private int size;
   private long[] a;                 // referencja do tablicy
   private int nElems;               // liczba elementów tablicy
 //-----------------------------------------------------------
   public String getString()

   {
    String s;
    InputStreamReader isr = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(isr);
    try{
         s = br.readLine();
         return s ;
        }
    catch(IOException e) {
        System.out.println("Blad podczas odczytu danych");
        }
   return "0" ;

   }
 //--------------------------------------------------------
   public long getLong()
   {
    long lnum;

    String s =getString();
    try{
              lnum =Long.parseLong(s);
              return lnum;
       }
    catch(NumberFormatException e){
           System.out.println("Blad podczas konwersji liczby");  }

   return 0;
   }
   public int getInt()
   {
    int lnum;

    String s =getString();
    try{
              lnum =Integer.parseInt(s);
              return lnum;
       }
    catch(NumberFormatException e){
           System.out.println("Blad podczas konwersji liczby");  }

   return 0;
   }

   public Array(int max)         // konstruktor
      {
      size = max;
      a = new long[max];                 // tworzymy tablicę
      nElems = 0;                        // na razie brak elementów
      }
 //-----------------------------------------------------------
   public boolean find(long searchKey)
      {                              // szukanie określonej wartości
      int j;
      for(j=0; j<nElems; j++)            // dla każdego elementu...
         if(a[j] == searchKey)           // czy znaleziono?
            break;                       // tak, wyjście z pętli

      if(j == nElems)                    // doszliśmy do koñca?
         return false;                   // tak, elementu nie znaleziono
      else
         return true;                    // nie, element znaleziony
      }  // end find()
//-----------------------------------------------------------
   public void insert(long value)    // wstawienie elementu do tablicy
      {
      if(nElems < size){
            a[nElems] = value;             // wstawiamy
            nElems++;  }                    // zwiększamy licznik elementów
      else System.out.println("Brak miejsca");
      }
//-----------------------------------------------------------
   public boolean delete(long value) // usunięcie elementu z tablicy
      {
      int j;
      for(j=0; j<nElems; j++)        // szukamy elementu
         if( value == a[j] )
            break;

      if(j==nElems)                  // nie znaleźliśmy
         return false;
      else                           // znaleźliśmy
         {
         nElems--;
         for(int k=j; k<nElems; k++) // przesuwamy pozostałe elementy
            a[k] = a[k+1];
                            // zmniejszamy licznik elementów
         return true;
         }
      }  // koniec delete()
//-----------------------------------------------------------
   public void display()             // wypisuje zawartość tablicy
      {
      for(int j=0; j<nElems; j++)       // dla każdego elementu...
         System.out.print(a[j] + " ");  // ...wypisujemy jego wartość

      System.out.println("");
      }
//-----------------------------------------------------------

 public boolean isOrder()
 {
  boolean warunek = true;

  for (int i=1;i<nElems;i++)
    {
  if (a[i-1] >a[i]){  //warunek sprawdzajacy czy liczba poprzednia jest wieksza od aktualnej
  warunek= false; // warunek true stwierdza ze tablica jest nieuprzodkowana
  }
  }
  return warunek;

 }
//-----------------------------------------------------------
 public void delDups(){

  for (int i=0;i<nElems;i++){ // przeszukanie tablicy od 0
  for (int j=i+1;j<nElems;j++) //przeszukanie tablicy od 1
  if (a[i]==a[j])  // porownywanie indeksow
  {  nElems--; // zmniejszanie tablicy
  for(int k=j; k<nElems; k++)  //szukanie takich samych elementow
            a[k] = a[k+1]; //przypisywanie duplikatu jako jedno
  j--; //zmniejszanie tablicy
  }
  }

 }
//-----------------------------------------------------------
 public long getMax () // największa liczba
 {
long element = a[0];
for(int i = 1;i<nElems;i++){
if (a[i-1] < a[i] )
element = a[i];
}
return element;


 }
//-----------------------------------------------------------
 public long getMin () //najmniejszy liczba
 {
  long element = a[0];
 for(int i = 1;i<nElems;i++){
 if (a[i-1] > a[i])
  element = a[i];
 }
 return element;

 }

//-----------------------------------------------------------
public void delMin () //usuwanie najmnijszego elementu
{
delete(getMin());

}

public void delMax () //usuwanie najwiekszego elementu
{
delete(getMax());

}

 //-----------------------------------------------------------
public void sort() //sortowanie tablicy
{
   long[] b;
   b = new long[100];
   int tmp = nElems;
for (int i=0;i<tmp;i++)
{
b[i] = getMin();
delMin();
}
for (int j = 0;j<tmp;j++)
{

a[j]=b[j];

}
nElems=tmp;
}
  //-----------------------------------------------------------
public void Utworz_tab() // tworzenie tablicy
{
System.out.println("Podaj liczbę elementow "  );
int c = getInt(); // zczytanie c z funkcji getInt
long el; // definicja zmiennej pomocniczej
for(int i=0;i<c;i++) // definicja i
{
  System.out.print("Podaj element: ") ;  // podawanie elementów doputy nie podamy odp ilości zmiennych
                 el = getLong(); // zczytywanie z getLonga
                 insert(el); // wpisywanie elementu do tablicy
}

}
  //-----------------------------------------------------------
public void losuje()
   {
     
    System.out.print("Podaj liczbę elementow: "  );
int c = getInt(); // zczytanie c z funkcji getInt
int random; // definicja zmiennej pomocniczej
for(int i=0;i<c;i++) // definicja i
{
     random = new Random().nextInt(100);
     insert(random);
}
     }
     
     
  //-----------------------------------------------------------
   } // koniec klasy HighArray
   //----------------------------------------------------------------------------------------------------------------------------
class ArrayApp
{

   public static String getString()

   {
    String s;
    InputStreamReader isr = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(isr);
    try{
         s = br.readLine();
         return s ;
        }
    catch(IOException e) {
        System.out.println("Blad podczas odczytu danych");
        }
   return "0" ;

   }
   //--------------------------------------------------------
   public static long getLong()
   {
    long lnum;

    String s =getString();
    try{
              lnum =Long.parseLong(s);
              return lnum;
       }
    catch(NumberFormatException e){
           System.out.println("Blad podczas konwersji liczby");  }

   return 0;
   }

   //--------------------------------------------------------
   public static void menu()
   { System.out.println("--------------------" );
        System.out.println("Operacje na tablicy " );
       System.out.println("--------------------" );
       System.out.println("1. Dodaj element " );
       System.out.println("2. Wyszukaj element " );
       System.out.println("3. Usun  element " );
       System.out.println("4. Wypisz tablice " );
System.out.println("5. Wypisz najwiekszy element tablicy " );
System.out.println("6. Wypisz najmniejszy element tablicy " );
       System.out.println("7. Sprawdza czy tablica jest upozadkowana" );
       System.out.println("8. Usuwanie duplikatow " );
       System.out.println("9. Usuwanie liczby minimalnej " );
       System.out.println("10. Usuwanie wartości maksymalnej " );
       System.out.println("11. Sortowanie tabeli" );
System.out.println("12. Tworzenie tabeli o danej ilosci elementow" );
System.out.println("13. Losowanie tabeli o danej ilosci elementow" );
       System.out.println("0. Koniec programu " );
       System.out.println("--------------------" );
       System.out.print("Wybierz operacje: " );
   }
   //--------------------------------------------------------

   public static void main(String[] args)
      {
      int maxSize = 100;        // rozmiar tablicy
      Array arr;                // referencja do tablicy
      arr = new Array(maxSize); // tworzymy tablicę

      int op;
      long el, searchKey;

      do{
       menu();

       op = (int) getLong();
       switch (op)
       {
          case 1: {//Dodaj element
         System.out.print("Podaj element: ") ;
                 el= getLong();
                 arr.insert(el);
                  arr.display();                // wypisujemy elementy
                  break;
               }
               
          case 2:{//Wyszukaj element
         System.out.print("Podaj szukany element: " );
                searchKey =getLong();  // szukamy zadanego elementu
                if( arr.find(searchKey) )
                   System.out.println("Znaleziono " + searchKey);
                else
                   System.out.println("Nie znaleziono " + searchKey);
                break;
           }
           
          case 3:{//Usun  element
         System.out.print("Podaj element do usuniecia: " );
                el=getLong();
                arr.delete(el);

                arr.display();
                break;
        }
          case 4: {//Wypisz tablice
               arr.display();
                break;
                  }

           case 5: {// naiwiększy
                 System.out.println("Najwiekszy element to: "+ arr.getMax());
                break;
                }
               
           case 6: {// najmniejszy element
                 System.out.println("Najmniejszy element to: "+ arr.getMin());
                break;
                }
               
           case 7: {// upożądkowana tablica?
           boolean tablica = arr.isOrder();
           if (tablica == true){

            System.out.println ("Tablica jest uporzadkowana");
           } else{

           System.out.println ("Tablica nie jest uporzadkowana");
           }
                break;
                }

           case 8: {
           arr.delDups();
           arr.display();
          break;
           }

         case 9: {
          arr.delMin();
          arr.display();
         break;
         }
         
          case 10: {
       arr.delMax();
          arr.display();

          break;
          }

          case 11: {
          arr.sort();
          arr.display();
          break;

          }

          case 12: {
         arr.Utworz_tab();
         arr.display();
         break;

          }
          case 13: {
         arr.losuje();
         arr.display();
         break;

          }
          case 0:{
         System.out.println("Bye" );
         break;
        }


          default:
         System.out.println("Nie ma takiej opcji! " );
       }
      }while (op!=0);
           }
}
Valid XHTML 1.0! Valid CSS!