Jak dodać StopWatch? (poprawione)

0

Chciałbym obliczyć ile czasu zajmuje sortowanie (nie generowanie liczb, tylko samo sortowanie).

Oto Stoper:


 Stopwatch sw = new Stopwatch();
sw.Start();
//kod poddany pomiarowi
sw.Stop();
Console.WriteLine(sw.ElapsedMilliseconds);
 

a tutaj kod sortowania:

 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sortowanie_babelkowe
{
    class Program
    {

        static void Main(string[] args)
        {

            int bufor;
            bool posortowane;
            int zakres, liczba;
            string liczba1 = "nic";

            Random randomizer = new Random();               // Uzycie generator liczb losowych 

            while (!Int32.TryParse(liczba1, out zakres))     //Sprawdzenie czy wpisany znak jest liczbą
            {
                Console.Write("Podaj ilość liczb do posortowania: ");
                liczba1 = Console.ReadLine();
            }

            int[] tab = new int[zakres];                    // deklaracja tablicy 
            Console.WriteLine("");

            for (int i = 0; i < zakres; i++)            // uzupełnienie tablicy liczbami losowymi
            {
                liczba = randomizer.Next(101);
                tab[i] = liczba;
                Console.Write(tab[i] + " ");            // wyświetlenie tablicy
            }

            Console.WriteLine("");

            for (int i = 0; i < zakres - 1; i++)            // algorytm sortowania bąbelkowego
            {
                posortowane = true;
                for (int j = 0; j < zakres - 1; j++)
                {
                    if (tab[j] > tab[j + 1])                // jeśli liczba większa  to zamień miejscami
                    {
                        bufor = tab[j];
                        tab[j] = tab[j + 1];
                        tab[j + 1] = bufor;
                        posortowane = false;
                    }
                }

                if (posortowane) break;
                Console.WriteLine();
                Console.WriteLine("Krok[{0}]", i + 1);        // Wyświetl poszczególne kroki

                for (int k = 0; k < zakres; k++)
                {
                    Console.Write(tab[k] + " ");
                }
            }

            Console.WriteLine("\n");
            Console.Write("Po posortowaniu: ");             // Wyświetl liczby po posortowaniu

            for (int i = 0; i < zakres; i++)
            {
                Console.Write(tab[i] + " ");
            }

            Console.Read();
        }
    }
}
 

Jak to połączyć?
Na górze dopisujemy oczywiście

 using System.Diagnostics;
0

yy, tak ?

 using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;

namespace wdsaad
{
	class MainClass
	{
		public static void Main(string[] args)
		{

            int bufor;
			bool posortowane;
			int zakres, liczba;
			string liczba1 = "nic";

			Random randomizer = new Random();               // Uzycie generator liczb losowych 

			while (!Int32.TryParse(liczba1, out zakres))     //Sprawdzenie czy wpisany znak jest liczbą
			{
				Console.Write("Podaj ilość liczb do posortowania: ");
				liczba1 = Console.ReadLine();
			}

			int[] tab = new int[zakres];                    // deklaracja tablicy 
			//Console.WriteLine("");

			for (int i = 0; i < zakres; i++)            // uzupełnienie tablicy liczbami losowymi
			{
				liczba = randomizer.Next(101);
				tab[i] = liczba;
			//	Console.Write(tab[i] + " ");            // wyświetlenie tablicy
			}

			//Console.WriteLine("");

 Stopwatch sw = new Stopwatch();
			sw.Start();
			for (int i = 0; i < zakres - 1; i++)            // algorytm sortowania bąbelkowego
			{
				posortowane = true;
				for (int j = 0; j < zakres - 1; j++)
				{
					if (tab[j] > tab[j + 1])                // jeśli liczba większa  to zamień miejscami
					{
						bufor = tab[j];
						tab[j] = tab[j + 1];
						tab[j + 1] = bufor;
						posortowane = false;
					}
				}

				if (posortowane) break;
			//	Console.WriteLine();
			//	Console.WriteLine("Krok[{0}]", i + 1);        // Wyświetl poszczególne kroki

			//	for (int k = 0; k < zakres; k++)
			//	{
			//		Console.Write(tab[k] + " ");
			//	}
			}

sw.Stop();
			//Console.WriteLine("\n");
			//Console.Write("Po posortowaniu: ");             // Wyświetl liczby po posortowaniu

			for (int i = 0; i < zakres; i++)
			{
				Console.Write(tab[i] + " ");
			}

			Console.WriteLine($"Wynik {sw.Elapsed}\n");
			Console.Read();
		
		}

	}

}

0

Niestety nie działa. A co to jest? Podkreśla mi jako błąd.

 Console.WriteLine($"Wynik {sw.Elapsed}\n");
0

To C# 6.0. W której wersji Visual Studio pracujesz?

0

Zrobiłem coś takiego i działa

Console.WriteLine("\nCzas sortowania czas: " + stopWatch.Elapsed);
            Console.WriteLine("Czas sortowania ilość taktów zegara: " + stopWatch.ElapsedTicks);

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.