gambab
21.10.2020 12:07

У магазині Аврора є багато товарів для організації свят. Для того, щоб дізнатись ціну товару у магазині є сканери. До ть магазину скласти покращену програму для сканеру. Програма зчитує дві ціни на товар, потім зчитує скільки куплено першого товару, а потім другого. Виводить програма всю суму за товар, а також за 1й і 2й товар окремо.
Наприклад.
Вводимо число a і b(а- перший товар, b- другий)
Вводимо число c i d(c- кількість першого товару, d- кількість другого товару)
Програма виконує обчислення і виводить результат.
Програму скласи у мобільній версії Паскаль, зробити скріншот та надіслати

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ALexus67
12.05.2020 09:03
Рассмотрим, что делает эта программа.
  c := 0; // начальное значение счётчика

  for i := 1 to 9 do // цикл по i

    if A[i - 1] < A[i] then begin // если текущий элемент больше предыдущего

      c := c + 1; // то увеличиваем счётчик на 1

      t := A[i]; // и меняем текущий элемент местами с предыдущим

      A[i] := A[i - 1];

      A[i - 1] := t

    end;

Последние три строчки перед end - обычный алгоритм обмена значениями между двумя переменными (t = a; a = b; b = t).

Итак, моделируем, что делает программа и считаем число обменов.

0) 6 9 7 2 1 5 0 3 4 8 - исходный массив
1) 6 9 7 2 1 5 0 3 4 8 -> 9 6 7 2 1 5 0 3 4 8 ОБМЕН
2) 9 6 7 2 1 5 0 3 4 8 -> 9 7 6 2 1 5 0 3 4 8 ОБМЕН
3) 9 7 6 2 1 5 0 3 4 8 ОК
4) 9 7 6 2 1 5 0 3 4 8 ОК
5) 9 7 6 2 1 5 0 3 4 8 -> 9 7 6 2 5 1 0 3 4 8 ОБМЕН
6) 9 7 6 2 5 1 0 3 4 8 ОК
7, 8, 9) Ноль будет "всплывать" в конец, 3 ОБМЕНА

Всего будет 6 обменов, c = 6.
0,0(0 оценок)
Ответ:
Gagarinaa
25.11.2021 21:13
Нужно найти максимальное и минимальное из трёх чисел.
Пусть даны три числа x, y, z
Пусть:
m = min{x, y, z}, 
M = max{x, y, z},
r = max - min;
Теперь остаётся записать в качестве ответа число r, оно и будет разницей.

На C++ написал бы так:
#include <iostream>
using namespace std;

int maxNum(int x, int y, int z)
{
     if ((x>=y)&&(x>=z)) 
          return x;
      else if ((y>=x)&&(y>=z))
          return y;
      else
          return z;
}

int minNum(int x, int y, int z)
{
     if ((x<=y)&&(x<=z)) 
          return x;
      else if ((y<=x)&&(y<=z))
          return y;
      else 
          return z;
}

void main()
{
      setlocale(0, "Rus");
      int x, y, z;
      cout << "Введите через пробел 3 числа" << endl;
      cin >> x >> y >> z;
      cout << "Разница : " << maxNum(x,y,z) - minNum(x,y,z) << endl;
}
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота