В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Lisonьka124
Lisonьka124
11.08.2021 07:37 •  Информатика

Написать комментарии к коду. Программирование С++ Нужно пояснение кода. Код с комментариями.
#include
#include
#include
#include
#include
#include
#include

using namespace std;
class Rational
{
public:
Rational() //конструктор по умолчанию
{
num = 0;
den = 1;
}
Rational(int numerator, int denominator)
{
if (denominator 0 && b > 0)
{
if (a > b)
{
a %= b;
}
else
{
b %= a;
}
}//while
return a + b;
}
};
bool operator == (Rational a, Rational b) /перезгузим оператор ==
{
if ((a.Numerator() == b.Numerator()) && (a.Denominator() == b.Denominator()))
{
return true;
}
else {
return false;
}
}

bool operator > (Rational a, Rational b) ) /перезгузим оператор ==
{
return (a.Numerator() / (double)a.Denominator()) > double(b.Numerator() / (double)b.Denominator()); ) /перезгузим оператор ==
}
bool operator < (Rational a, Rational b)
{

return (a.Numerator() / (double)a.Denominator()) < (b.Numerator() / (double)b.Denominator());
}

int main() {
{
const set rs = { {1, 2}, {1, 25}, {3, 4}, {3, 4}, {1, 2} };
if (rs.size() != 3) {
cout << "Wrong amount of items in the set" << endl;
return 1;
}

vector v;
for (auto x : rs) {
v.push_back(x);
}
if (v != vector{ {1, 25}, { 1, 2 }, { 3, 4 }}) {
cout << "Rationals comparison works incorrectly" << endl;
return 2;
}
}

{
map count;
++count[{1, 2}];
++count[{1, 2}];
++count[{2, 3}];

if (count.size() != 2) {
cout << "Wrong amount of items in the map" << endl;
return 3;
}
}
cout << "OK" << endl;
return 0;
}

Показать ответ
Ответ:
мила0770
мила0770
04.04.2022 21:34
Отсортируйте массив по не возрастанию (вместе с индексами) и подсчитайте сумму  s = s+b[i]*(i+1) - индексы от нуля.
Это и будет наименьшее время.

#include <iostream>
#include <cstdlib>
using namespace std;

int main() {
   int n,i,s;
   bool priz=true;
   cin>>n;
   int b[n],c[n];
   for (int i=0; i<n; i++)
   { 
       cin>>b[i];
       c[i]=i+1;
   }  
// сортировка масcива по не возрастанию
   while (priz)
   {
     priz=false;
     for (int i=0; i<n-1; i++)
     {
       if (b[i]<b[i+1])
       {
         swap(b[i],b[i+1]);
         swap(c[i],c[i+1]);              
         priz=true;
       }
     } 
   }
   s=0;
   for (int i=0; i<n; i++)  s+=b[i]*(i+1);
   cout<<s<<endl;
   for (int i=0; i<n; i++)  cout<<c[i]<<" ";
   cout<<endl;
   system("pause");
   return(0);
}

Ввод - вывод:

6
10 21 13 36 41 9
332
5 4 2 3 1 6
0,0(0 оценок)
Ответ:
Ayazoro2
Ayazoro2
02.05.2020 14:53
// PascalABC.NET 3.2, сборка 1407 от 18.03.2017
// Внимание! Если программа не работает, обновите версию!

function Geron(a,b,c:real):real;
// возвращает площадь треугольника со сторонами a,b,c
begin
  var p:=(a+b+c)/2; // полупериметр
  Result:=sqrt(p*(p-a)*(p-b)*(p-c))
end;

function Sp(ab,bc,ca,ad,bd,cd:real):real;
// возвращает площадь полной поверхности пирамиды
begin
  Result:=Geron(ab,bc,ca)+Geron(ab,ad,bd)+Geron(bc,bd,cd)+
      Geron(ca,cd,ad)
end;

procedure Vvod(var ab,bc,ca,ad,bd,cd:real);
// ввод значений ребер
begin
  Writeln('Введите значения ребер пирамиды');
  Write('Ребра основания- AB,BC,CA: '); Read(ab,bc,ca);
  Write('Боковые ребра- AD,BD,CD: '); Read(ad,bd,cd)
end;

begin
  var ab1,bc1,ca1,ad1,bd1,cd1:real;
  Vvod(ab1,bc1,ca1,ad1,bd1,cd1);
  var Sp1:=Sp(ab1,bc1,ca1,ad1,bd1,cd1);
  var ab2,bc2,ca2,ad2,bd2,cd2:real;
  Vvod(ab2,bc2,ca2,ad2,bd2,cd2);
  var Sp2:=Sp(ab2,bc2,ca2,ad2,bd2,cd2);
  var d:=Sp1-Sp2;
  if d>0 then Writeln('Площадь Sполн 1й пирамиды больше на ',d)
  else
    if d<0 then Writeln('Площадь Sполн 2й пирамиды больше на ',-d)
    else Writeln('Площади Sполн пирамид равны');
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота