Professional Documents
Culture Documents
LB 4
LB 4
Хід роботи:
Завдання 1: Оголосити структуру Airplane, яка представляє інформацію про
рейс літака і виконати зазначені до варіанту завдання.
Лістининг програми:
using System;
using static System.Console;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace First
{
struct Date{
public int Year;
public int Month;
public int Day;
public int Hours;
public int Minutes;
public double GetTimeInMinutes()
{
double res = Year * 365 * 24 * 60;
res += Month * 365 / 12 * 24 * 60;
res += Day * 24 * 60;
res += Hours * 60;
res += Minutes;
return res;
}
public Date(int [] arr, int i = 0)
{
Year = arr[i];
Month = arr[++i];
Day = arr[++i];
Hours = arr[++i];
Minutes = arr[++i];
}
}
struct Airplane
{
public string StartCity;
public string FinishCity;
public Date StartDate;
public Date FinishDate;
ЖДТУ.19.121.08.000 – Лр4
Змн. Арк. № докум. Підпис
public bool Дата
IsArrivingToday()
Розроб. {
Талавер О.В. Літ. Арк. Аркушів
Перевір. Левківський В.Л. 1 7
Звіт з
Керівник
Н. контр. лабораторної роботи ФІКТ Гр. ПI-60[2]
Зав. каф.
return StartDate.Day == FinishDate.Day;
}
public double GetTotalTime()
{
double result = (FinishDate.Year - StartDate.Year) * 365 * 24 * 60;
result += (FinishDate.Month - StartDate.Month) * 365 / 12 * 24 * 60;
result += (FinishDate.Day - StartDate.Day) * 24 * 60;
result += (FinishDate.Hours - StartDate.Hours) * 60;
result += FinishDate.Minutes - StartDate.Minutes;
return result;
}
public Airplane(string start, string finish, params int [] arr)
{
StartCity = start;
FinishCity = finish;
StartDate = new Date(arr);
FinishDate = new Date(arr, 5);
}
class Program
{
static void GetAirplaneInfo(Airplane[] elems, out int iMaxOut, out int iMinOut)
{
double min = double.MinValue, max = double.MaxValue;
int iMin = 0, iMax = 0;
for (int i = 0; i < elems.Length; i++)
{
double temp = elems[i].GetTotalTime();
if (temp > max)
{
max = temp;
iMax = i;
} else if (temp < min) {
min = temp;
iMin = i;
}
}
iMaxOut = iMax;
iMinOut = iMin;
WriteLine($"Max time: {max}\n");
PrintAirplane(elems[iMax]);
WriteLine($"Min time: {min}\n");
PrintAirplane(elems[iMin]);
}