Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка LNK2001 "Неразрешенный внешний символ" https://www.cyberforum.ru/ cpp-beginners/ thread1959417.html
Доброго времени суток. Возник такой вопрос. Существует иерархия классов Figure -> Circle, Rectangle, Trapecia Надо реализовать работу со стеком. Отсюда и вопрос: Не создавать же для каждого...
Поясните фрагмент кода C++
Поясните вот этот фрагмент: default: { if (b < 48) { b += 48; } val = b; res /= m2; } break; Отсюда...
C++ Как склеить два куска динамически выделенной памяти?
Есть такой код char *arr = (char *) malloc(1); char *plus = (char *) malloc(25); arr = memcpy(arr + 1, plus, 25); Вопрос: можно ли вообще такое делать? plus будет расположен через 15 или 16 байт...
C++ Как достать данные из класса Добрый вечер. Имею абстрактный и несколько наследуемых от него классов. Получаю доступ только к данным абстрактного класса, а нужно наследуемого. Данный проверяются в еще одном наследуемом классе... https://www.cyberforum.ru/ cpp-beginners/ thread1959396.html
C++ Транспонировать матрицу и выделить ее зеленым цветом https://www.cyberforum.ru/ cpp-beginners/ thread1959385.html
Задана квадратная матрица размерности , заполненная иными числами из диапазона . Вывести новую матрицу, полученную транспонированием. Новую матрицу выделить зеленым цветом
C++ Кто может написать решение задач на С++?
Задали задачи,а я С++ не могу никак понять. Кто может помочь с решением?
Какую json библиотеку выбрать? C++
Здравствуйте, делаю я небольшой парсер, ответ получаю в json формате. Решил поискать в интернете какую либу лучше использовать для работы с json, сразу наткнулся на ответ парня который попытался...
C++ Ошибка в гибридной сортировке одномерного массива Смысл сортировки в том, чтобы сортировать двумя методами (вставками справа на лево и слева направо). Когда первый алгоритм встречает элементы, которые должны поменяться местами, то после замены... https://www.cyberforum.ru/ cpp-beginners/ thread1959365.html
C++ Работа с массивами структур https://www.cyberforum.ru/ cpp-beginners/ thread1959355.html
Операция: определить количество книг заданного пользователем автора. ,как реализовать эту операция ,нужно что бы при выборе case 2 ,выполнялась эта операция. #include <iostream> #include...
C++ Алгоритм поиска по двоичному дереву заголовочный файл tree.h с методами класса #ifndef _TREE_H #define _TREE_H template <class NODETYPE> class Tree; #include "node.h" template <class NODETYPE> class Tree { https://www.cyberforum.ru/ cpp-beginners/ thread1959344.html
0 / 0 / 0
Регистрация: 13.04.2017
Сообщений: 1
0

Найти в серии показаний минимальное произведение двух показаний, между которыми прошло не менее 6 минут

13.04.2017, 01:25. Показов 542. Ответов 1
Метки (Все метки)

Добрый день, задали по информатике на днях решить следующую задачу:

На спутнике «Фотон» установлен прибор, предназначенный для измерения энергии космических лучей. Каждую минуту прибор передаёт по каналу связи неотрицательное вещественное число — количество энергии, полученной за последнюю минуту, измеренное в условных единицах. Временем, в течение которого происходит передача, можно пренебречь. Необходимо найти в заданной серии показаний прибора минимальное произведение двух показаний, между моментами передачи которых прошло не менее 6 минут. Количество энергии, получаемое прибором за минуту, не превышает 1000 условных единиц. Общее количество показаний прибора в серии не превышает 10 000. Напишите на любом языке программирования программу для решения поставленной задачи.

В первой строке задаётся число N — общее количество показаний прибора. Гарантируется, что N > 6. В каждой из следующих N строк задаётся одно неотрицательное вещественное число — очередное показание прибора.

Пример входных данных:
11
12
45
5
4
25
23
21
20
10
12
26

Программа должна вывести одно число — описанное в условии произведение.
Пример выходных данных для приведённого выше примера входных данных:
48

Так так нужно написать программу эффективную и по времени, и по памяти, я использовал буферный массив, и в итоге получил следующий код. Программа работает правильно не для всех значений. Допустим, если мы введем числа 8 2 2 2 2 2 2 3 4, программа выведет число 8, вместо правильного числа 6. Тот же самый код на паскале работает прекрасно, а вот в С++ почему-то возникают проблемы. Возможно, что это связано с тем, что индексация массива в С++ начинается с 0 ? Если нет, то в чем проблема ? Помогите!!!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
  double M; // Минимальное произведение //
  double Mmin; // Минимальное число в последовательности //
  double dat;
  int N;
  int const d = 6;
  int A[d-1]; // буфер //
  
  cin >> N;
  for(int i = 0; i <= d; i++)
  {
      cin >> dat;
      A[i%d] = dat;
  }
  
  Mmin = 1001;
  M = 10001;
  
  for(int i = d+1; i < N; i++)
  {
      cin >> dat;
      if(A[i%d] < Mmin)
 
        Mmin = A[i%d];
 
      if((Mmin*dat) < M)
 
        M = Mmin*dat;
 
    A[i%d] = dat;
  }
  
  cout << M;
  return 0;
}


Вернуться к обсуждению:
Найти в серии показаний минимальное произведение двух показаний, между которыми прошло не менее 6 минут
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2017, 01:25
Готовые ответы и решения:

Найти минимальное произведение двух показаний из множества показаний прибора
Здравствуйте. Я попытался решить самую последнюю задачу C3 из ЕГЭ по информатике. Но моя программа...

Найти в заданной серии показаний прибора минимальное произведение двух показаний
Решение: program C4_DEMO2015B; const C = 10000000; var nums : array of real; min_pr :...

В компонент Label вывести надпись «произведение показаний» и добавить текущее значение произведения показаний счетчиков
Разместите на форме два компонента Edit и два компонента UpDown. Первый счетчик должен отображать...

Найти наибольшую сумму двух чисел последовательности, между которыми интервал не менее заданного
На вход программе подаются целые числа, в первой строке задается их количество(не меньше семи),...

1
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.