М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
WallyMF
WallyMF
30.08.2022 08:03 •  Информатика

Cоставить программу вычисления арифметического выражения для заданных значений x, y, z :
C++


Cоставить программу вычисления арифметического выражения для заданных значений x, y, z :C++

👇
Ответ:
ruzhovaelizave
ruzhovaelizave
30.08.2022

#define _USE_MATH_DEFINES

#include <iostream>

#include <math.h>

int main()

{

   setlocale(LC_ALL, "rus");

   double x, y, z, result;

   std::cout << "Введите x,y,z: \n";

   std::cin >> x >> y >> z;

   result = tan(x + y) - pow(M_E, y - z) * sqrt(cos(pow(x, 2)) + sin(pow(z, 2)));

   std::cout << "Результат: " << result;

}

Этот код не проверяет корректность введённых данных.

То есть если x+y будет равен π/2 или выражение под корнем будет отрицательным, будет ошибка приложения

Такой вариант с обработкой исключений

#define _USE_MATH_DEFINES

#include <iostream>

#include <math.h>

int main()

{

   setlocale(LC_ALL, "rus");

   double x, y, z, result, result2;

   std::cout << "Введите x,y,z: \n";

   std::cin >> x >> y >> z;

   try  

   {

       result2 = cos(pow(x, 2)) + sin(pow(z, 2));

       if (result2 < 0) throw "подкоренное выражение меньше нуля";

       if ((x + y) == M_PI_2) throw "тангенс не определён";

       result = tan(x + y) * pow(M_E, y - z) * sqrt(result2);

       std::cout << "Результат: " << result;

     

   }

   catch(const char* exception)

   {

       std::cout << "Результат не может быть вычислен поскольку " << exception;

   }

}

4,7(52 оценок)
Открыть все ответы
Ответ:
Enot3106
Enot3106
30.08.2022
Program test;
uses utils;
var
  n,i,sum,time:longint;
  flag:boolean;
begin
    readln(n);
    if n<2 then flag:=false;{Единица - не простое число}
    if n=2 then flag:=true;{2 - простое}
    if (n>2) and (n mod 2 <> 0) then begin{ после двойки простые числа только нечетные}
      for i:=1 to n do begin{проверяем что бы было только 2 делителя}
        sum:=sum+1;
      end;
      if sum=2 then flag:=true;
    end
    else flag:=false;
    if flag then writeln('Число простое') else writeln('Число НЕ простое');
    time:=milliseconds;
    writeln('Времени затрачено ',time:10,' ms.');
end.
Все проверки сделаны для сокращения времени работы программы.
4,8(64 оценок)
Ответ:
omararu2006
omararu2006
30.08.2022
Program test;

var
  a:array[1..4,1..6] of integer;
  b:array[1..4] of integer;
  i,i1,max,n,sum:integer;
label m1;
begin
  write('Введите елементы массива: ');
  for i:=1 to 4 do begin
    for i1:=1 to 6 do begin
      write('a[',i,',',i1,'] = ');
      readln(a[i,i1]);
    end;
  end;
  for i:=1 to 4 do begin
    for i1:=1 to 6 do begin
      if i+i1 = 2 then max:=a[1,1]
      else if a[i,i1]>max then max:=a[i,i1] else max:=max;
    end;
  end;
   m1: 
 write('Введите число (не больше  ',max,') : ');
readln(n);
  if n<=max then begin
   for i:=1 to 4 do begin
    for i1:=1 to 6 do begin
      if a[i,i1]>n then sum:=sum+1;
    end;
      b[i]:=sum;
      writeln('b[',i,'] = ',b[i]);
      sum:=0;
  end;
  end
  else begin
    writeln('Число больше максимального значения массива, поробуйте снова');
    goto m1;
  end;
end.
4,5(82 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ