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

Четырехугольник Сергею на уроке геометрии задали следующее задание. Даны пять чисел. Требуется нарисовать произвольный четырехугольник с одной диагональю так, чтобы длины сторон и этой диагонали равнялись заданным числам. Сергею надо выбрать длину диагонали и каждую из сторон так, чтобы было возможно нарисовать требуемую фигуру. Если вариантов решения задачи несколько, можно выбрать любой. Нарисованная диагональ не должна лежать на одной из сторон. Возможно, что нарисовать требуемый четырехугольник не получится. В этом случае надо будет вывести ноль.

Формат входных данных

На вход через пробел подаются пять натуральных чисел от 1 до 1000.

Формат выходных данных

Требуется вывести ответ в следующем порядке. В первой строке вывести одно число — длину диагонали четырехугольника. Во второй строке два числа — длины отрезков лежащих с одной стороны от диагонали. В третьей строке еще два числа — длины отрезков лежащих с другой стороны от диагонали. Если построить четырехугольник невозможно, то вывести 0.

В этой задаче можно выводить любой правильный ответ. В частности, можно переставить числа в одной строке или поменять местами вторую и третью строку.

Методика проверки и пояснение к тестам

В первом тесте в качестве диагонали можно взять отрезок длины 7. Тогда с одной стороны от диагонали будут стороны с длинами 3 и 5, а с другой — 9 и 3. Вторую и третью строку, а также числа в этих строках можно вывести в любом порядке. Также возможно нарисовать четырехугольник с диагональю 5 и длинами сторон 9, 7 и 3, 3. Кроме того, возможен вариант с диагональю 3 и длинами сторон 5, 3 и 7, 9 Любой из этих вариантов будет считаться верным.

Во втором тесте нарисовать четырехугольник невозможно.

Программа проверяется на 20 тестах. Прохождение каждого теста оценивается в Тесты из условия задачи при проверке не используются.

Sample Input 1:

3 9 5 3 7

Sample Output 1:

7
3 5
9 3

Sample Input 2:

3 9 5 1 7

Sample Output 2:

0

Показать ответ
Ответ:
alinakim3
alinakim3
01.07.2020 11:14

#include

#include

#include

#include

#include

#include

typedef struct

{

char imya[40];

char familiya[40];

char otchestvo[40];

int telefon;

int texpasport;

float pages ;

}gor;

void form(char mass[10], char *imya, char *familiya, char *otchestvo, int telefon, int texpasport)

{

file *f;

gor y;

int i;

if ((f=fopen(mass,"w"))==null) exit(1);

for (i=1; i< =3; i++)

{

cout< < "vvedite imya: ";

cin> > imya;

cout< < "vvedite familiya: ";

cin> > familiya;

cout< < "vvedite otchestvo: ";

cin> > otchestvo;

cout< < "vvedite telefon: ";

cin> > telefon;

cout< < "vvedite texpasport: ";

cin> > texpasport;

fwrite(& y,sizeof(gor),1,f);

if(ferror(f)! =null)

exit(2);

}

fclose(f);

}

void vivod(char mass[50])

{

file *f;

gor z;

if ((f=fopen(mass, "r"))==null) exit(3);

cout< < "fail: "<

while (! feof(f)) {

fread (& z,sizeof(gor),1,f);

if (! feof(f))

{

cout< < "imya: "<

cout< < "familiya: "<

cout< < "otchestvo: "<

cout< < "telefon: "<

cout< < "texpasport: "<

}

fclose(f);

}

}

void del(char fo[10], char fi[10])

{

file *f1,*f2;

gor d;

//char temp[40];

if ((f1=fopen(fi,"r"))==null) exit(4);

if ((f2=fopen(fo,"w"))==null) exit(5);

//cout < < "vvedite nazvanie na ydalenie - ";

//cin > > temp;

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

{

fread(& d,sizeof(gor),1,f1);

if (feof(f1)) break;

if (i> 2)

fwrite (& d,sizeof(gor),1,f2);

}

fclose(f2);

fclose(f1);

}

void dobav(char fi[10], char fo[10],char *imya, char *familiya, char *otchestvo, int telefon, int texpasport)

{

int q;

int i;

gor d;

file *f1,*f2;

char temp[40];

if ((f1=fopen(fi, "r"))==null) exit(4);

if ((f2=fopen(fo,"r+"))==null) exit(5);

cout < < "vvedite familiu, pered kotorym nuzno dobavit element: ";

cin > > temp;

for (i=0; i< 10; i++)

{

fread(& d,sizeof(gor),1,f2);

if (feof(f2)) break;

if (strcmp(d.familiya, temp)) break;

q=i;

}

for (i=0; i< 10; i++)

{

if (feof(f2)) break;

fwrite (& d,sizeof(gor),1,f2);

if (i==q-1)

{

cout< < "vvedite imya: ";

cin> > imya;

cout< < "vvedite familiya: ";

cin> > familiya;

cout< < "vvedite otchestvo: ";

cin> > otchestvo;

cout< < "vvedite telefon: ";

cin> > telefon;

cout< < "vvedite texpasport: ";

cin> > texpasport;

cout <

}

}

fclose(f2);

fclose(f1);

}

void main()

{

int n=10;

//cout < < "vvedite kol-vo zapisey: - ";

//cin> > n;

//cout <

form("f1.txt",n);

vivod("f1.txt");

del("f1.txt","f2.txt");

cout < < "posle udalenia: \n";

vivod("f2.txt");

getch();

n=1;

system("cls");

dobav ("f2.txt","f2.txt");

cout < < "posle dobavlenia: \n";

vivod ("f2.txt");

getch();

}

0,0(0 оценок)
Ответ:
кулл4
кулл4
15.07.2022 05:18

uses crt;

var i,sum,k: integer;

begin

      sum: =0;

      k: =0;

      writeln('вводите числа. 0 - конец последовательности');

      repeat

          read(i);

          if i mod 2=1 then begin

              sum: =sum+i;

              inc(k);

          end;

      until i=0;

      writeln;

      writeln('среднее  арифметическое нечетных чисел: ',sum/k: 5: 3);

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота