Вопрос задан 01.07.2023 в 17:30. Предмет Информатика. Спрашивает Сакеней Куатжан.

Написать программу №1 Вводятся 4 числа – длины отрезков. Найти максимальную площадь треугольника

составленного из трёх отрезков этого набора или написать, что таких треугольников нет. №2 Вводится четырёхзначное натуральное число. Проверить, является ли оно палиндромом, т. е. числом, которое одинаково читается слева направо и справа налево. Если не является, то вывести ближайшее следующее число-палиндром.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Мельникова Инна.

#include <iostream>

#include <vector>

#include <set>

#include <cmath>

using namespace std;

bool check(double a, double b, double c){

   return !(a >= b + c || b >= a + c || c >= b + c);

}

double square(double a, double b, double c){

   double p = (a+b+c)/2;

   return sqrt(p * (p-a) * (p-b) * (p-c));

}

bool is_palind(int k){

   string s = to_string(k);

   for(int i = 0; i < s.length() - i - 1; i++)

       if(s[i] != s[s.length()-i-1])

           return false;

   return true;

}

void solve1(){

   vector<double> lines(4);

   double ans = -1;

   for(auto &i : lines) cin >> i;

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

       for(int j = i + 1; j < 4; j++)

           for(int k = j + 1; j < 4; j++)

               if(check(lines[i],lines[j],lines[k]))

                   ans = max(ans,square(lines[i],lines[j], lines[k]));

   ans == -1 ? cout << "No solution" : cout << ans;

}

void solve2(){

   set<int> s;

   for(int i = 1000; i < 10000; i++)

       if(is_palind(i))

           s.insert(i);

   int n;

   cin >> n;

   s.find(n) != s.end() ? cout << n : cout << *upper_bound(s.begin(),s.end(),n);

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Программа №1 (Поиск максимальной площади треугольника):

python
def calculate_triangle_area(a, b, c): s = (a + b + c) / 2 area = (s * (s - a) * (s - b) * (s - c)) ** 0.5 return area def find_max_triangle_area(lengths): max_area = 0 found_triangle = False for i in range(len(lengths)): for j in range(i + 1, len(lengths)): for k in range(j + 1, len(lengths)): a, b, c = lengths[i], lengths[j], lengths[k] if a + b > c and a + c > b and b + c > a: found_triangle = True area = calculate_triangle_area(a, b, c) max_area = max(max_area, area) if found_triangle: return max_area else: return "Треугольников не существует" # Ввод длин отрезков lengths = [] for i in range(4): length = float(input(f"Введите длину {i + 1} отрезка: ")) lengths.append(length) result = find_max_triangle_area(lengths) print(result)

Программа №2 (Палиндром и ближайший следующий палиндром):

python
def is_palindrome(number): return str(number) == str(number)[::-1] def find_next_palindrome(number): while True: number += 1 if is_palindrome(number): return number # Ввод числа num = int(input("Введите четырёхзначное натуральное число: ")) if is_palindrome(num): print("Число является палиндромом.") else: next_palindrome = find_next_palindrome(num) print(f"Число не является палиндромом. Ближайший следующий палиндром: {next_palindrome}")

Обратите внимание, что в обоих программах используется функция input() для ввода значений от пользователя, и результаты выводятся на экран с помощью функции print(). Программы написаны на языке Python.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос