воскресенье, 1 июля 2012 г.

Сортировка шейкером


Console.WriteLine("shejker");
   for (int i = 0; i < a.Length; i++)
     { b[i] = a[i]; }
         col_sravn = 0;
         col_per = 0;
         while (l < r)                                           
    { for (int i = r; i >= l; i--)
        {
           col_sravn++;
           if (b[i - 1] > b[i])
           {  temp = b[i - 1];
              b[i - 1] = b[i];
              b[i] = temp;
              col_per++;
              k = i; }
         }
           l = k + 1;
for (int i = l; i <= r; i++)
  {
    col_sravn++;
    if (b[i - 1] > b[i])
       {  temp = b[i - 1];
          b[i - 1] = b[i];
          b[i] = temp;
          col_per++;
          k = i;
        }
   }
       r = k - 1;
     }
for (int i = 0; i < b.Length; i++)
  Console.Write("{0} ", b[i]);
  Console.WriteLine();
Console.WriteLine("kol-vosrav {0}", col_sravn);
Console.WriteLine("kol-vo perestav {0}", col_per);
Console.ReadLine();

Сортировка выбором


for (int i = 0; i < b.Length; i++)
   { b[i] = rnd.Next(1, 50);
     Console.Write("{0} ", b[i]);}
Console.WriteLine("Сортировка Выбором");

Сортировка вставкой


for (int i = 0; i < c.Length; i++)
   { c[i] = rnd.Next(1, 50);
     Console.Write("{0} ", a[i]);}
Console.WriteLine();
Console.WriteLine("vstavka");

Сортировка методом пузырька. Простой и усовершенствованный


int[] a = new int[10];
int[] b = new int[10];
Random rnd = new Random();
      for (int i = 0; i < a.Length; i++)
        {
           a[i] = rnd.Next(1, 50);
           b[i] = a[i];
           Console.Write("{0} ", a[i]);
        }
Console.WriteLine();
Console.WriteLine("сортировка пузырьком");

Нахождения среднего значения элементов массива, удовлетворяющих некоторому заданному условию


int sred, s = 0, nom = 0;
            int []a=new int[10];
            Random rnd=new Random();
            for (int i=0; i<a.Length;i++)
            {
                a[i] = rnd.Next(10);
                if (a[i]%2==0)
                {
                    s += a[i];
                    nom++;
                }
            Console.Write("{0} ",a[i]); 
            }
          Console.WriteLine();
          Console.Write("сумма четных элементов = {0}", s);
          Console.WriteLine();
Console.Write("чётных значений {0}", nom);
            sred = s / nom;
Console.WriteLine();
Console.WriteLine("среднее значение={0}", sred);
Console.ReadLine();

Сумма элементов массива с условием


int[] a;
            Random rnd = new Random();
            int sum=0;
            int n;
Console.WriteLine("Введите количество элементов массива");
n = Convert.ToInt32(Console.ReadLine());
            a = new int[n];
            for (int i = 0; i < n; i++)
            {
                a[i] = rnd.Next(5);
                if (i % 2 == 0)
                {
                    sum += a[i];
                }
Console.Write("{0} ", a[i]);
            }
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("сумма элементов равна {0} ", sum);
Console.ReadLine();

Вычисление суммы ряда, заданного реккурентным соотношением


double sum;
double qi, wi, n, q1, w1;
Console.WriteLine("Введи количество элементов");
n=Convert.ToInt32(Console.ReadLine());
            q1=3;
            w1=4;
            sum=q1*w1/2;
            for(int i=1; i<n; i++)
            {
                qi=2*q1+w1;
                wi=4*q1-1/w1;
                sum+=qi*wi/2;
                q1=qi;
                w1=wi;
            }
            Console.WriteLine(sum);
            Console.ReadLine();