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

A. Какую задачу решает данная программа

b. Определите количество переменных

c. Определите имена переменных

d. Найдите ошибку в программе

информатика 6-5 класс Сор

Показать ответ
Ответ:
nalimovshurik
nalimovshurik
11.10.2021 09:49
#include <iostream>

/* main program function */
int main()
{
  int
    iMulEven = 1,
    iMulOdd = 1,
    iNumber;
  char cMask = 0;

  std::cin >> iNumber;
  if (iNumber > 9999 || iNumber < 1000)
  {
    std::cout << "Error! Input the correct number!" << std::endl;
    return 0;
  }
  
  for (int i = 0; i < 4; i++)
  {
    int iEnd = iNumber % 10;
    if (iEnd % 2 == 0)
      iMulEven *= iEnd, cMask |= 1;
    else
      iMulOdd *= iEnd, cMask |= 2;
    iNumber /= 10;
  }

  if (cMask == 3)
    std::cout << static_cast<double>(iMulEven) / iMulOdd << std::endl;
  else if (cMask == 1)
    std::cout << "There is no odd digits exists." << iMulEven << std::endl;
  else
    std::cout << "There is no even digits exists." << iMulOdd << std::endl;
  return 0;
} /* end of the 'main' function */
0,0(0 оценок)
Ответ:
Boevoy2002
Boevoy2002
14.05.2023 05:42
Вот два варианта решения:
1)В первом варианте программа выдает неверный ответ, если в числе есть хотя бы один ноль.

var
  a, n, i, min, tmp, m: integer;
 
begin
  m := 1;
  read(a);
  tmp := a;
  n := 0;
  min := 10;
  while tmp > 0 do
   begin
    n := n + 1;
    if(tmp mod 10 < min) then min := tmp mod 10;
    tmp := tmp div 10;
  end;
  for i := 1 to n do
    m := m * 10;
  a := a + (min * m);
  a := a * 10;
  a := a + min;
  write(a);
end.

2)Второй вариант с использованием строки:

var
  s: string;
  i, min: integer;
 
begin
  readln(s);
  min := 10;
  for i := 1 to length(s) do
    if(strtoint(s[i]) < min) then min := strtoint(s[i]);
  s := s + inttostr(min);
  s := inttostr(min) + s;
  writeln(s);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота