Facebook
From Eryk Bartosik, 4 Years ago, written in C#.
This paste is a reply to Po Instrumentacji from Eryk Bartosik - view diff
Embed
Download Paste or View Raw
Hits: 405
  1. using System;
  2. using System.Diagnostics;
  3.  
  4. namespace Projekt1
  5. {
  6.  
  7.     class Program
  8.     {  
  9.         static void Main(string[] args)
  10.         {
  11.             Stopwatch time = new Stopwatch(); //utworzenie stoperów do pomiarów poszczgólnych procesów
  12.             Stopwatch lin = new Stopwatch();
  13.             Stopwatch bin = new Stopwatch();
  14.             Stopwatch clear = new Stopwatch();
  15.             TimeSpan wynik = clear.Elapsed;
  16.             TimeSpan wynik2 = clear.Elapsed;
  17.             TimeSpan wynik3 = clear.Elapsed;
  18.             TimeSpan wynik4 = clear.Elapsed;
  19.             int operacja = 1;
  20.             int operacja2 = 1;
  21.             time.Start();
  22.             int a = 0;
  23.             int[] array = new int [268435456];
  24.             for(int i = 0; i < array.Length; i++)
  25.             {
  26.                array[i] = a; //przypisanie wartości do tablicy array
  27.                a++;
  28.             }
  29.  
  30.             int x = 1;
  31.  
  32.             int h = 0;                 //wyszukiwanie liniowe
  33.             bool warunek2 = true;
  34.             while(warunek2 == true)
  35.             {
  36.                 lin.Start();
  37.                 if(h < array.Length)
  38.                 {
  39.                  if(array[h] == x)
  40.                  {
  41.                      Console.WriteLine("Liniowe: Szukany element znajduje się pod inteksem "+h);
  42.                      warunek2 = false;
  43.                  }
  44.                 else
  45.                  {
  46.                      h++;
  47.                  }
  48.                 }
  49.                 else
  50.                 {
  51.                     Console.WriteLine("Liniowe: Nie znaleziono szukanego elementu");
  52.                     warunek2 = false;
  53.                 }
  54.                 TimeSpan dodaj = lin.Elapsed;
  55.              {
  56.              if (wynik < dodaj) //przypadek maksymalny
  57.              {
  58.              wynik = dodaj;
  59.              }
  60.              {
  61.              if (wynik2 > dodaj) //przypadek minimalny
  62.              {
  63.              wynik2 = dodaj;
  64.              }
  65.              }
  66.              }
  67.              operacja2++;
  68.                 lin.Stop();
  69.             }
  70.             Console.WriteLine("CZAS ODNALEZENIA ELEMENTU: "+lin.Elapsed);
  71.  
  72.             Console.WriteLine("ŚREDNI CZAS WYKONANIA OPERACJI: "+(lin.Elapsed/operacja2));
  73.  
  74.              Console.WriteLine("MAKSYMALNY CZAS WYKONANIA OEPRACJI: "+wynik);
  75.  
  76.              Console.WriteLine("MINIMALNY CZAS WYKONANIA OEPRACJI: "+wynik2);
  77.  
  78.             Console.WriteLine();
  79.  
  80.             int l = 0;                                         //wyszukiwnaie binarne
  81.             int p = array.Length - 1;
  82.             bool warunek = true;
  83.             while(warunek == true)
  84.             {
  85.                 bin.Start();
  86.                 if(l<p)
  87.                 {
  88.                 int s = (l+p)/2;
  89.                 if(array[s] == x)
  90.                 {
  91.                     Console.WriteLine("Binarne: Szukany element znajduje się pod inteksem "+s);
  92.                     warunek = false;
  93.                 }
  94.                 else
  95.                 {
  96.                     if(array[s]<x)
  97.                     {
  98.                         l = s + 1;
  99.                     }
  100.                     else
  101.                     {
  102.                         p = s - 1;
  103.                     }
  104.                 }
  105.                 }
  106.                 else
  107.                 {
  108.                     Console.WriteLine("Binarne: Nie można odnaleźć szukanego elementu.");
  109.                     warunek = false;
  110.                 }
  111.                 operacja++;
  112.                    TimeSpan dodaj2 = bin.Elapsed;
  113.              {
  114.              if (wynik3 < dodaj2) //przypadek maksymalny
  115.              {
  116.              wynik3 = dodaj2;
  117.              }
  118.              {
  119.              if (wynik4 > dodaj2) //przypadek minimalny
  120.              {
  121.              wynik4 = dodaj2;
  122.              }
  123.              }
  124.              }
  125.                 bin.Stop();
  126.         }
  127.         Console.WriteLine("CZAS ODNALEZENIA ELEMENTU: "+bin.Elapsed);
  128.         Console.WriteLine("ŚREDNI CZAS WYKONANIA OPERACJI: "+(bin.Elapsed/operacja));
  129.         Console.WriteLine("MAKSYMALNY CZAS WYKONANIA OEPRACJI: "+wynik3);
  130.         Console.WriteLine("MINIMALNY CZAS WYKONANIA OEPRACJI: "+wynik4);
  131.         Console.WriteLine();
  132.         time.Stop();
  133.         Console.WriteLine("CZAS WYKONANIA PROGRAMU: "+time.Elapsed);
  134.     }
  135. }
  136. }