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

Если тебе предложить 555(10) рублей или 10100(2) мороженых что выгоднее если 1 мороженое стоит 20 рублей? числа в скобках находятся чуть ниже

Показать ответ
Ответ:
valeria8002
valeria8002
06.04.2020 07:12

#include <iostream.h>

 

bool amafree(float x1, float x2, float x3, float x4, float y1, float y2, float y3, float y4, float dotx, float doty)

 

{float x[4],y[4],temp;

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

for(int j=0;j<3;j++)

{

       if(x[j]<x[j+1])

       {

                    temp=x[j];

                    x[j]=x[j+1];

                    x[j+1]=temp;  

                    temp=y[j];

                    y[j]=y[j+1];

                    y[j+1]=temp;  

                      }

       }

 

if (y[2]<y[3]) {temp=x[2];

                    x[2]=x[3];

                    x[3]=temp;  

                    temp=y[2];

                    y[2]=y[3];

                    y[3]=temp;  }//теперь мы упорядочили точки прямоугольника, чтобы понимать его как у меня на рисунке

    x1=x[0];

    x2=x[1];

    x3=x[2];

    x4=x[3];

    y1=y[0];

    y2=y[1];

    y3=y[2];

    y4=y[3];//так мне удобнее, потому что часть условий уже написал без всяких массивов

     

    float k[10];

    k[0]=(x1-x2)/(y1-y2);

    k[1]=(x1-x3)/(y1-y3);

    k[2]=(x3-x4)/(y3-y4);

    k[3]=(x2-x4)/(y2-y4);//коэффициенты прямых, проходящих по сторонам прямоугольника

 //   if(k[0]!=k[2]||k[1]!=k[3]) {cout<<"Eto dazhe ne parallelogramm\n";return false;}//условие параллельности противолежащих сторон

  //   if(k[0]!=1/k[1]||k[2]!=1/k[3]) {cout<<"Eto dazhe ne pryamougolnik\n";return false;}//условие перпендикулярности смежных сторон

    if(dotx<x[1])&&(dotx<x[2])&&(dotx<x3)&&(dotx<x4)||(doty<y1)&&(doty<y2)&&(doty<x3)&&(doty<x4)||//лежит точно вне

    (dotx>1)&&(dotx>x2)&&(dotx>x3)&&(dotx>x4)||(doty>y1)&&(doty>y2)&&(doty>x3)&&(doty>x4)||//лежит точно вне

    (dotx>x1)&&(dotx<x2)&&(dotx<x3)&&(dotx<x4)&&(doty-k[0]*dotx<0)||//нижний левый треугольник

    (dotx>x1)&&(dotx<x2)&&(dotx<x3)&&(dotx<x4)&&(doty-k[1]*dotx>0)||//верхний левый

    (dotx>x1)&&(dotx<x2)&&(dotx<x3)&&(dotx<x4)&&(doty-k[2]*dotx>0)||//верхний праввый

    (dotx>x1)&&(dotx<x2)&&(dotx<x3)&&(dotx<x4)&&(doty-k[3]*dotx<0)//нижний правый

    return false;

    return true;

    }

0,0(0 оценок)
Ответ:
моллск
моллск
17.09.2022 00:55
//PascalABC.NET 3.2 сборка 1318

const
  n=4;

Var
  f:file of char;
  i,j,counter,FileLen:integer;
  s:string;
  val:char;
  ar:array[1..n] of integer;
  coms:array[1..n] of integer;
  begin
for i:=1 to n do
coms[i]:=i;
assign(f,'input.csv');
reset(f);i:=1;     //столбец матрицы
counter:=1;     //количество прочитанных элементов
FileLen:=filesize(f); //количество элементов в файле (включая разделители)
read(f,val); //на случай, если первая строка пуста
repeat 
 while (ord(val)<>10) and (ord(val)<>13) do //каждая строка заканчивается символами 10 и 13, а элементы разделяются ;   
begin
    if (val<>';') and (ord(val)<>10) and (ord(val)<>13) then
      begin
        ar[i]+=strtoint(val); //вводим значение из ячейки в переменную суммы         read(f,val); //cчитываем следующее значение
        inc(counter); //увеличиваем количество прочитанных
      end
      else
        begin
          read(f,val);    //пропускаем разделитель
          inc(counter);
        end;
    end;
   if (ord(val)=10) and (counter<FileLen) then  //в конце каждой строки стоят символы с кодами 10 и 13, пропускаем их
    begin
      read(f,val);
      inc(counter);
    end;
   if (ord(val)=13) and (counter<FileLen) then //когда дошли до конца строки
    begin
      inc(i);
       read(f,val);  //читаем с новой строки
      inc(counter);
    end;
until(counter=FileLen); //читаем пока количество элементов в файле не сравняется с количеством прочитанных
close(f);
for i:=1 to n-1 do    //когда лень писать быструю сортировку
  for j:=i+1 to n do
    if ar[i]<ar[j] then
      begin
        counter:=ar[i];
        ar[i]:=ar[j];
        ar[j]:=counter;
        counter:=coms[i];
        coms[i]:=coms[j];
        coms[j]:=counter;
      end;
for i:=1 to n do
writeln(i,'st place-',coms[i],' command -',ar[i],' points');
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота