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

Напишите программу, которая получает два целых числа (a и b) и находит их произведение, не используя операцию умножения. учтите, что числа могут быть отрицательными. формат входных данных в первой строке входных данных - два числа a и b (-10000 пробел формат выходных данных cтрока содержащее произведение чисел (см. пример вывода) пример входные данные выходные данные 10 -15 10*(-15)=-150

👇
Ответ:
dennnn2222222
dennnn2222222
26.07.2021
#include <cctype>  #include <algorithm>  #include <cmath>#include <iomanip>  #include <windows.h>#include <conio.h>#include <set>#include <iostream>  #include <string>  #include <vector>  using namespace std;
int main(){ int a, b,f=0,f1=0,ans=0; cin >> a >> b; if (a < 0 ) f = 1; if (b < 0) f1 = 1; for (int i = 0; i < abs(b);i++) { ans += a; } if (f == 1 && f1 == 1) cout << abs(ans); else if (f == 1 || f1 == 1) cout << '-' << abs(ans); else cout << ans; return 0;}
4,4(38 оценок)
Открыть все ответы
Ответ:
1. Современный вариант

// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
const
  n=14;
begin
  var a:=ArrRandom(n,-50,50); a.Println;
  var min:=a.Min;
  var b:=a.Where(x->(x>min) and (x<0));
  if b.Count>0 then Writeln('Искомое произведение равно ',
    b.Aggregate(1.0,(p,x)->p*x))
  else Writeln('Нет отрицательных чисел, меньших минимального')
end.

Тестовое решение:
44 -35 -10 43 -25 -32 -32 -43 4 -50 29 -7 42 3
Искомое произведение равно -2696960000

2. Школьный вариант

// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
const
  n=14;
var
  i,min,k:integer;
  a:array[1..n] of integer;
  p:real;
begin
  Randomize;
  min:=100; // любое, большее максимального 50
  for i:=1 to n do begin
    a[i]:=Random(101)-50;
    Write(a[i],' ');
    if a[i]<min then min:=a[i]
    end;
  Writeln;
  p:=1.0;
  k:=1;
  for i:=1 to n do
    if (a[i]>min) and (a[i]<0) then begin
      p:=p*a[i]; Inc(k)
      end;
  if k>0 then Writeln('Искомое произведение равно ',p)
  else Writeln('Нет отрицательных чисел, меньших минимального')
end.

Тестовое решение:
40 49 27 -14 -34 -45 -41 -23 50 1 40 -18 -27 -20
Искомое произведение равно -4362996960
4,6(31 оценок)
Ответ:
krazy4550
krazy4550
26.07.2021
Int digits[], d,n;
int cnt_min=0; int cnt_max=0;
for(int i=0; i<x; i++) cin >> d;
int d_max = digits[0];
for(int i=0; i<x; i++) { if(d_max < digit[i])  d_max = digit[i];}
int d_min = digits[0];
for(int i=0; i<x; i++) { if(d_min > digit[i]) d_min = digit[i];}
for(int i=0; i<x; i++) { if(d_max < digit[i])  d_max = digit[i];}
for(int i=0; i<x; i++) { if(d_max == digit[i])  cnt_max++;}
for(int i=0; i<x; i++) { if(d_min == digit[i])  cnt_min++;}
cout << "min= " << cnt_min << "  max= " << cnt_max << endl;

вторая задача - подумай сам, она почти аналогичная
4,8(62 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ