lubenkovalilia2
13.01.2021 03:52

ответьте на контрольные вопросы по MS Excel.


ответьте на контрольные вопросы по MS Excel.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
DPK1403
29.12.2020 19:03
Запишу сначала за вас условие до конца:
Первая строка ввода содержит два числа A и B, разделенных пробелом (1 ≤ A, B ≤ 10 000 000).Выведите все возможные значения для количества емкостей по 60 литров, которые окажутся заполненными (в том числе одна возможно частично), в порядке возрастания или число −1, если значения A и B противоречат друг другу, то есть они были записаны неверно.

Теперь к вопросам по форме. 
Во-первых, если в условии указаны ограничения на входные данные, им можно верить, проверять, что 1 <= A, B <= 10000000 не обязательно. 
Во-вторых, научитесь пользоваться &&, ||, это позволит не дублировать код. 4 раза написанное else Console.WriteLine("-1"); не очень читать.

А уже теперь по сути.
Ваше условие противоречивости условия |50A - 70B| < 50 нехорошее. Если общий объем колы, например, 141, то A = 3, B = 3, но при этом |50A - 70B| = 60, что больше 50.

Смотрю дальше.
если 50A < 70B, то если 50A не делится на 60, то ответ [(50A - 49)/60] + 1 или [50A/60] + 1 (если это одно и то же, не важно). Это тоже как минимум не очевидно: представим, что [(70B-69)/60] + 1 оказался больше, чем [(50A-49)/60] + 1. Тогда ответ точно неверен.

Какие были бы мои рассуждения:
Поищем, какое могло бы быть общее количество колы. Пусть её N, тогда
50(A - 1) < N <= 50A
70(A - 1) < N <= 70B
Тогда max(50A - 50, 70B - 70) < N <= min(50A, 70B). 
Если max(50A - 50, 70B - 70) >= min(50A, 70B), то решений нет, надо выводить -1. Иначе думаем дальше.
Строгое неравенство иметь что-то не хочется, сделаем из него нестрогое. Если добавлю к левой части 1, то количество 60-литровых ёмкостей явно не поменяется, зато неравенство станет нестрогим. Пусть так и будет, раз ответ не меняется. Только в проверке равенство поменяю на строгое.
max(50A - 50, 70B - 70) + 1 <= N <= min(50A, 70B)
Теперь просто считаем число ёмкостей слева, справа, и выводим все числа от первого до второго.

Поняв всё это, просто превращаем слова в программу.
using System;
class CocaCola
{
  public static void Main (string[] args)
  {
    int A = int.Parse(Console.ReadLine()), 
        B = int.Parse(Console.ReadLine());
    int lowerLimit = Math.Max(50 * A - 50, 70 * B - 70) + 1;
    int upperLimit = Math.Min(50 * A, 70 * B);
    if (lowerLimit > upperLimit)
    {
      Console.Write(-1);
      return;
    }
    for (int i = (int)Math.Ceiling(lowerLimit / 60.0); i <= Math.Ceiling(upperLimit / 60.0); i++)
      Console.Write("{0} ", i);
  }
}
0,0(0 оценок)
Ответ:
polina1336
04.06.2021 14:32

#include <iostream>

#include <iomanip>

#include <ctime>

#define M 5

#define N 5

using namespace std;

int main()

{

   int A[M][N];

   int C[M - 1][N - 1];

   int i, j, min, min_index, zero_cnt = 0;

   setlocale(LC_ALL, "Russian");

   srand(time(0));

   cout << "Исходная матрица: " << endl;

   for (i = 0; i < M; i++)

   {

       for (j = 0; j < N; j++)

       {

           A[i][j] = rand() % 101 - 50;

           cout << setw(4) << A[i][j];

           if ((i == 0) && (j == 0)) min = A[i][j];

           if (A[i][j] < min)

           {

               min_index = i * M + j;

               min = A[i][j];

           }

       }

       cout << endl;

   }

   for (i = 0, j = 0; i < M * N; i++)

       if ((i / M != min_index / M) && (i % M != min_index % M))

       {

           C[0][j] = A[0][i];

           if (C[0][j++] == 0) zero_cnt++;

       }

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

   for (i = 0; i < M - 1; i++)

   {

       for (j = 0; j < N - 1; j++)

       {

           if (i == 0)

           {

               min = C[i][j];

               C[i][j] = C[M - 2][j];

               C[M - 2][j] = min;

           }

           cout << setw(4) << C[i][j];

       }

       cout << endl;

   }

   cout << "Количество нулей в сформированной матрице: " << zero_cnt;

   return 0;

}

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота