Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2015, 19:53   #1
AndrewYaremche
 
Регистрация: 25.04.2015
Сообщений: 3
По умолчанию Сортировка елементов в C#

Помогите кто-то с сортировкой елементов :
Превратить массив таким образом , чтобы сначала располагались все
элементы , целая часть которых не превышает единицу , а
потом - все остальные. Вот исходный код :
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
	class Program
	{
		static void Main(string[] args)
		{
			C2 l = new C2();
			l.meji();
			l.vvid();
			l.getelevent();
			l.suma();
			l.kikist();
			l.vuvid();
			Console.ReadLine();
		}
		}
	class C1
	{
		public double s, x;
		public int k, n, i, u, j, c, b, aindex, y;
		public double[] a = new double[1000];
		public bool error;

		public void meji()
		{

			Console.WriteLine("Введіть c");
			c = Convert.ToInt32(Console.ReadLine());

			Console.WriteLine("Введіть b");
			b = Convert.ToInt32(Console.ReadLine());
			n = b - c + 1;
		}

		public void vvid()
		{


			for (i = 0; i < n; i++)
			{
				Console.WriteLine("a" + "[" + (i+c) + "]=");
				a[i] = Convert.ToDouble(Console.ReadLine());
			}


		}

		public void vuvid()
		{
			for (i = 0; i < n; i++)
			{
				Console.WriteLine("a[" + (i+c) + "]=" +a[i]);
			}
		}

	}

	class C2 : C1
	{
		public void kikist()
		{
			for (i = 0; i < n ; i++)
			{
				if (a[i]>0)
				{
					k++;
					}
			}
			Console.WriteLine("kikist=" + k);

		}
		public void suma()
		{
			j = 0;
			s = 0;
			for (i = 0; i < n; i++)
			{
				if (a[i] == 0)
				{
					j = i;
				}
			}
			for (i = j; i < n; i++)
				s += a[i];
			Console.WriteLine("Summa=" + s);
		}
		
		public double this[int index]
		{
			set
			{
				if(index>=c && index>=b)
				{
					error=false;
					a[index]=value;
				}
				else error = true;
			}
			get
			{
				if (index >= c && index <= b)
				{
					error = false;
					return a[index - c];

				}
				else
				{
					error = true;
					return 0;
				}



			}
		}
		public void getelevent()
		{
			Console.WriteLine("aindex=");
			aindex = Convert.ToInt32(Console.ReadLine());
			x = this[aindex];
			if (error==true)
				Console.WriteLine("елемент не існує");
			else Console.WriteLine("a[" +aindex +"]=" +x);


		}

		}

}
AndrewYaremche вне форума Ответить с цитированием
Старый 25.04.2015, 20:49   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Предлагаю хитрый ход:
Код:
using System;
using System.Linq;
namespace Application
{
	class MainClass
	{
		public static void Main (string[] args)
		{
			double[] d = {0.23, 1.5, 2.6, 0.3, 0.58, 56.3, 0.1 };
			double[] a = d.Where (v => Math.Truncate (v) <= 1).Union(d.Where (v => Math.Truncate (v) > 1)).ToArray();
			foreach (double i in a) {
				Console.WriteLine ("{0}\t",i);
			}
			Console.ReadKey ();
		}
	}
}
В результате массив "а" будет выстроен именно таким способом, который тебе нужен.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
масив елементов snijka Помощь студентам 1 08.01.2013 19:40
Функция для удаления елементов которые меньше среднего арифметического всех елементов масива.С++. DIQUON Помощь студентам 4 18.12.2012 20:33
Выведение елементов цыкла amator_roma Общие вопросы C/C++ 3 15.06.2011 14:43
массив з 10 елементов promt Общие вопросы C/C++ 8 29.03.2011 11:04
Сортировка елементов из файла. ПАСКАЛЬ! Kami-sama3 Помощь студентам 4 20.12.2010 15:35