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

Алгоритм линейных часов по информатике​

Показать ответ
Ответ:
Wolceme
Wolceme
01.03.2023 06:02
Это же изи!
#include <iostream>
#include <cstdlib>
#include <vector>
using namespace std;

int main()
{
vector<int> arr;
int c;
cout <<"Введите количество элементов массива: ";
cin >>c;
char ch;
cout <<"Заполнить массив случайными числами? (y/n): ";
cin >>ch;
if((ch=='y') || (ch=='Y'))
{
cout <<"Начальный массив:" <<endl;
srand(time(0));
for(unsigned i=0; i<c; ++i)
{
arr.push_back((rand()%1001)-500);
cout <<arr[i] <<" ";
}
cout <<endl;
}
else
{
int a;
cout <<"Введите элементы массива: ";
for(unsigned i=0; i<c; ++i)
{
cin >>a;
arr.push_back(a);
}
}

cout <<"Измененный массив:" <<endl;
for(unsigned i=0; i<c; ++i)
{
arr[i]*=-1;
cout <<arr[i] <<" ";
}
cout <<endl;

return 0;
}

Дан массив целых чисел.заменить все элементы данного массива на противоположные по знаку(c++)
0,0(0 оценок)
Ответ:
olegvovchuk11
olegvovchuk11
23.04.2022 04:59
1. Современное короткое, но скорее всего, мало понятное школьнику решение

// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
function LineLen(a,b:(real,real)):=
  Sqrt(Sqr(b.Item1-a.Item1)+Sqr(b.Item2-a.Item2));

begin
  var a:array[1..3] of (real,real);
  var x,y:real;
  Writeln('Введите три пары координат x,y');
  for var i:=1 to 3 do begin Read(x,y); a[i]:=(x,y) end;
  Writeln('Периметр треугольника равен ',LineLen(a[1],a[2])+
    LineLen(a[1],a[3])+LineLen(a[2],a[3]))
end.

Тестовое решение:
Введите три пары координат x,y
3 -3.5 -6 8 4 5.2
Периметр треугольника равен 33.7449685386805

2. Традиционное, но возможно тоже не очень понятное школьнику решение

// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
type
  Point=record
    x,y:real
    end;

function LineLen(a,b:Point):real;
begin
  Result:=Sqrt(Sqr(b.x-a.x)+Sqr(b.y-a.y));
end;
 
var
  a:array[1..3] of Point;
 
begin
  Writeln('Введите три пары координат x,y');
  for var i:=1 to 3 do Read(a[i].x,a[i].y);
  Writeln('Периметр треугольника равен ',LineLen(a[1],a[2])+
    LineLen(a[1],a[3])+LineLen(a[2],a[3]))
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота