Татьяна_Полулях
?>

Як записати відносне, абсолютне, мішане посилання на клітину D4 у формулі?​

Информатика

Ответы

fermproddk

// Pascal ABC.NET

type

 Train = class

 

 private

 

   ПунктНазначения: string;

   НомерПоезда: string;

   ВремяOтправления: string;

   Информация: string;

   

   static function ЧастьНомера(s: string) := s.MatchValue('\d*').ToInteger;

 

 public

 

 constructor (ПН, НП, ВО: string; И: string := '');

 begin

   ПунктНазначения := ПН;

   НомерПоезда := НП;

   ВремяOтправления := ВО;

   Информация := И

 end;

 

 static procedure УпорядочитьПункты(var a: array of Train) :=

   a := a.OrderBy(p -> p.ПунктНазначения)

       .ThenBy(p -> p.ВремяOтправления).ToArray;

   

 static procedure УпорядочитьНомера(var a: array of Train) :=

   a := a.OrderBy(p -> ЧастьНомера(p.НомерПоезда)).ToArray;  

 

 function ToString: string; override :=

     $'{ПунктНазначения,-20} {НомерПоезда,-5} {ВремяOтправления,7}' +

         $'  {Информация}';

     

end;

function ДобавитьИнформацию(Self: array of Train;

     НомерПоезда, Информация: string): boolean; extensionmethod;

begin

 Result := True;

 var i := Self.FindIndex(p -> p.НомерПоезда = НомерПоезда);

 if i >= 0 then

   Self[i].Информация := Информация

 else

   Result := False

end;

begin

 var a := new Train[5];

 a[0] := new Train('Адлер','4c','15:40');

 a[1] := new Train('Санкт-Петербург','132п','07:19');

 a[2] := new Train('Казань','8ф','12:35');

 a[3] := new Train('Новосибирск','217п','18:05');

 a[4] := new Train('Адлер','18c','08:32');

 Train.УпорядочитьНомера(a);

 a.PrintLines;

 var np := ReadlnString('Номер поезда:');

 var info := ReadlnString('Добавочная информация:');

 if not a.ДобавитьИнформацию(np, info) then

   Println('Не найден номер поезда');

 Train.УпорядочитьПункты(a);

 a.PrintLines

end.


решить эту задачу, не скидывайте похожую которую найдете в инете Создать класс Train, содержащий по
yuklimochkina3

Исходник прикреплю в закреп, в двух форматах на всякий!!

Объяснение:

#include <iostream>

#include <string>

#include <ctime>

using namespace std;

class Time {

public:

Time()

 : m_hours(0), m_minutes(0) {

 //TODO

}

Time(short hours, short minutes)

 : m_hours(hours), m_minutes(minutes) {

 //TODO

}

Time operator-(const Time& time) {

 Time tempTime;

 tempTime.m_minutes = this->m_minutes - time.m_minutes;

 if (tempTime.m_minutes < 0) {

  tempTime.m_minutes += 60;

 }

 tempTime.m_hours = this->m_hours - time.m_hours;

 if (tempTime.m_hours < 0) {

  tempTime.m_hours += 23;

 }

 return tempTime;

}

friend std::ostream& operator<<(std::ostream& os, const Time& time);

friend std::istream& operator>>(std::istream& is, Time& time);

short m_hours;

short m_minutes;

};

std::ostream& operator<<(std::ostream& os, const Time& time) {

if (time.m_hours < 10) {

 os<< "0";

}

os<< time.m_hours << ":";

if (time.m_minutes < 10) {

 os<< "0";

}

os << time.m_minutes;

return os;

}

std::istream& operator>>(std::istream& is, Time& time) {

char delim{ ':' };

is >> time.m_hours >> delim >> time.m_minutes;

if (time.m_hours > 23) {

 time.m_hours %= 24;

}

if (time.m_minutes > 59) {

 time.m_minutes %= 60;

}

return is;

}

class train

{

public:

string punkt;

int trainNumber;

Time startTime;

train(string punkt1, int trainNumber1, Time startTime1)

{

 punkt = punkt1;

 trainNumber = trainNumber1;

 startTime = startTime1;

}

};

int main()

{

train* arrayOfTrain[5];

for (int i = 0; i < 5; i++)

{

 string punkt;

 int trainNumber;

 Time startTime;

 cin >> punkt;

 cin >> trainNumber;

 cin >> startTime;

 arrayOfTrain[i] = new train(punkt, trainNumber, startTime);

}

//Сортировка

for (int i = 0; i < 5 - 1; i++)

 for (int j = i + 1; j < 5; j++) {

  if (strcmp(arrayOfTrain[i]->punkt.c_str(), arrayOfTrain[j]->punkt.c_str()) > 0)

  {

   swap(arrayOfTrain[i], arrayOfTrain[j]);

  }

 }

for (int i = 0; i < 5 - 1; i++)

 for (int j = i + 1; j < 5; j++) {

  if (strcmp(arrayOfTrain[i]->punkt.c_str(), arrayOfTrain[j]->punkt.c_str()) == 0)

  {

   if (arrayOfTrain[i]->startTime.m_hours > arrayOfTrain[j] -> startTime.m_hours)

    swap(arrayOfTrain[i], arrayOfTrain[j]);

   if (arrayOfTrain[i]->startTime.m_hours == arrayOfTrain[j] -> startTime.m_hours)

    if (arrayOfTrain[i] -> startTime.m_minutes > arrayOfTrain[j] -> startTime.m_minutes)

     swap(arrayOfTrain[i], arrayOfTrain[j]);

  }

 }

for (int i = 0; i < 5; i++)

{

 cout << arrayOfTrain[i]->punkt << " " << arrayOfTrain[i]->trainNumber << " " << arrayOfTrain[i]->startTime << endl;

}

system("pause");

return 0;

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Як записати відносне, абсолютне, мішане посилання на клітину D4 у формулі?​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

bg1967bg
Tsevich333639
o-lala88387
Alena824
inikonovich
Columbia777
Малыхин Валерьевна621
Меладзе_Владимир1695
sjmurko
corneewa20096
drevile57
Yurevna_Kharkchinov1302
ovalenceva77
s-food
ur101679