Мне нужно сравнить объекты между собой, которые еще являются массивами. Потом сортировать их методом пузырька. Мне нужно сортировать по capacitylamp. Помогите пожалуйста. Я знаю, что у меня тут сортировка вообще не правильная и надо использовать CompareTo. За плохой код не судите строго,пожалуйста. Код:
using System;
namespace Laba_6 {
class Lampa : IComparable<Lampa>
{
public string typelamp;
public int capacitylamp;
public int c_outlamp;
public Lampa(string typelamp, int capacitylamp, int c_outlamp)
{
this.typelamp = typelamp;
this.capacitylamp = capacitylamp;
this.c_outlamp = c_outlamp;
}
public int CompareTo(Lampa p)
{
return this.capacitylamp.CompareTo(p.capacitylamp);
}
class Lamps //класс для хранения множества элементов, класс контейнер
{
Lampa[] Lampas = new Lampa[4]; //массив содежащий 7 элементов
public Lampa this[int pos]
{
get //проверка количества элементов массива
{
if (pos >= 0 || pos < 4) return Lampas[pos];
else throw new IndexOutOfRangeException("Вне диапазона!");
}
set { Lampas[pos] = value; }
}
}
class Program
{
public void Sortbubble()
{
for (int i = 0; i < 4; i++)
{
for (int j = i + 1; j < 4; j++)
{
if (Lampaas[i] > Lampaas[j])
{
int t = Lampaas[i];
Lampaas[i] = massiv[j];
massiv[j] = t;
}
}
}
}
static void Main(string[] args)
{
Lamps Lampaas = new Lamps();
Lampaas[0] = new Lampa("Накаливание", 100, 100);
Lampaas[1] = new Lampa("Светодиодная", 20, 100);
Lampaas[2] = new Lampa("Люминесцентные", 50, 100);
Lampaas[3] = new Lampa("Галогенная", 150, 150);
Lampa[] massiv = new Lampa[] { Lampaas[0], Lampaas[1], Lampaas[2], Lampaas[3], Lampaas[4], Lampaas[5], Lampaas[6], Lampaas[7] };
Console.ForegroundColor = ConsoleColor.Green;
Program sort = new Program();
Console.WriteLine();
sort.Sortbubble();
for (int b = 0; b < 4; b++)
{
Console.WriteLine($"Тип лампы: {Lampaas[b].typelamp}. Потребляемая мощность: {Lampaas[b].capacitylamp} Вт. Выходная мощность {Lampaas[b].c_outlamp} Вт.");
Console.WriteLine();
}
Console.ReadKey();
}
}
}
}
Вы на верном направлении. Просто используйте метод CompareTo
, который уже реализовали в классе Lampa
.
В методе SortBubble
должно быть:
if (Lampaas[i].CompareTo(Lampaas[j]) > 0)
{
var t = Lampaas[i];
Lampaas[i] = Lampaas[j];
Lampaas[j] = t;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
На андроиде метод ApplicationQuit() не выходит полностью из приложения, оно просто сворачивается и выкидывает на рабочий стол, если развернуть его,...
Объясните, как можно отслеживать label, когда он попадает в panel с drag and dropФайлы как перемещать нашел, а как это делать с внутренними объектами...
Пытаюсь реализовать чат при помощи Signalr, для примера нашел исходник проекта, установил все необходимые npm модули, все запускается и работает
Подскажите, пожалуйста, как я могу отправить POST запрос с телом form-data, состоящим из нескольких файлов и текстовых полей используя RestSharp?