Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 29.11.2018
Сообщений: 6

Определение среднегодовой добычи нефти на N лет (найти ошибку в коде)

07.12.2018, 15:13. Показов 1795. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача, которую должна решать программа:

В первый год эксплуатации нефтяная скважина дала М млн т нефти. Предполагается, что во второй год добыча нефти возрастет на р %, в третий—на (р+10) % (по сравнению с предыдущим годом), в N-й —на [р+10(N-2)] %. Вычислить среднегодовую добычу нефти за N лет.

Возможно, ошибка в алгоритме, но я её не вижу, пишу в Visual Studio


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
#include "pch.h"
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <math.h>
 
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    float M, p, N, U, i; 
    int I = 0;
    cout << " Введите M, p, N\n";
    cin >> M >> p >> N; // ввод значений М, p, N
    U = M; 
    I += U; // начало вычисления среднегодового значения
    U = U * (1 + p / 100); // возрастание во второй год
    I += U; // прибавление суммы за второй год к сумме за первый
    for (i = 3; i <= N; i++) // начиная с 3-го года вычисляется возрастание за каждый, пока не достигнет указанное количество лет (N)
    {
        U = U + ((U / 100)*((p + 10)*(i - 2))); // формула для вычисления прибавки к добыче
        I += U; // складывание результатов за каждый год
        
    }
    I = I / N; // деление суммы добычи (за N-лет) на количество лет
    cout << "Среднеодовое значение:" << I << endl; // вывод среднегодового значения
    _getch();
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.12.2018, 15:13
Ответы с готовыми решениями:

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

Двумерный массив. Поиск нулей.Не могу найти ошибку ошибку в коде
Вот,например массив 5 5 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 считываются два числа m и n и далее в выходной...

Найти расстояния от места добычи сырья до каждого завода
Помогите составить программу) Даны координаты {(xi;yi)} (i=1,...,n) n-заводов потребителей сырья и координаты места добычи сырья...

7
 Аватар для alkl
119 / 94 / 35
Регистрация: 18.12.2012
Сообщений: 654
07.12.2018, 15:31
Цитата Сообщение от hanaowana Посмотреть сообщение
Возможно, ошибка в алгоритме
Почему так считаете ?
На первый взгляд, вроде всё нормально.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
07.12.2018, 16:49
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
#include <iostream> 
using namespace std;
 
int main()
{    
    double M, p, N, S, delta;
    
    cout << "quantity  M="; cin >>M;
    cout << "percent   p="; cin >>p;
    cout << "years     N="; cin >>N;    
    
    S=M;
    for (int i = 2; i <= N; i++) 
    {
        M*=1+(p+10*(i-2))/100;        
        S+=M;           
    }
    
    delta=S/N;
    
    cout <<"delta="<<delta<<endl; 
    
system("pause");
return 0;
}
0
 Аватар для alkl
119 / 94 / 35
Регистрация: 18.12.2012
Сообщений: 654
07.12.2018, 17:14
hanaowana,
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
int main() {
    SetConsoleCP (1251);
    SetConsoleOutputCP (1251);
 
    double M, p, N, S;
    
    cout << "M="; cin >>M;
    cout << "p="; cin >>p;
    cout << "N="; cin >>N;
 
    S = M;
    S += M*(p/100.0);
    for(int i=2; i< N ;i++){
        p += 10*(i-2);
        S += M*(p/100.0);
    }
 
    cout << S << endl;
 
 
    cout << endl << endl << endl;
    system ("pause");
    return 0;
}
Итоговая сумма отличается от вычисленной вариантом от Yetty, с одинаковыми данными.
Какой вариант правильней - не знаю. Выбирайте сами какой Вам больше подходит. Может есть уже готовые ответы, с которыми можно сравнить.
1
07.12.2018, 17:35

Не по теме:

Цитата Сообщение от alkl Посмотреть сообщение
Какой вариант правильней - не знаю
а проверить не получается, да ?
M=100, p=5, N=3
1 год: 100
2 год: 100*1.05=105
3 год: 105*1.15=120.75
S=325.75
dellta=S/3=108.58(3)

0
 Аватар для alkl
119 / 94 / 35
Регистрация: 18.12.2012
Сообщений: 654
07.12.2018, 17:47
Yetty, опять начинаете флудить и провоцировать ? Хотите - проверяйте. Только молча и без оскорбительных высказываний. По крайней мере, в мою сторону.

Добавлено через 7 минут
hanaowana, в своём примере забыл поделить на 2. Сделаете сами, если что...
1
07.12.2018, 17:50

Не по теме:

Цитата Сообщение от alkl Посмотреть сообщение
Какой вариант правильней - не знаю. Выбирайте сами
Зачем выкладывать решение, если не уверен в его правильности? :(

0
07.12.2018, 18:04

Не по теме:


Nishen, я уверен в правильности своего решения. Просто он отличается от Yetty-ого. А спорить с ним - себе дороже (уже был опыт). Он начинает посты минусовать, когда понимает, что заходит в тупик и нечего ответить.
Да и не стоит моё время флудерского спора с ним.
Скажу только одно. Если бы бухгалтера считали так, как он, их бы давно уже поувольняли за разорение компаний )

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.12.2018, 18:04
Помогаю со студенческими работами здесь

Найти сумму целых отрицательных чисел удовлетворяющих условию (найти и исправить ошибку в коде)
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int main() { int y = 0; for(int i = -21; i &lt; -99; i+=3) ...

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

Найти ошибку в коде
Нужно написать код, в котором вводилось бы значение N и дальше n строк в каждой строке элементов столько же какой и номер строки. Далее...

Найти ошибку в коде
Задание состоит в том, что нужно найти ошибку в коде. Я этот код проверил вдоль и поперек чуть ли не под лупой просматривал. Не вижу...

Найти ошибку в коде
#include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; int main() { int m, n, **a, i, j, s; cout&lt;&lt;&quot;vvedite kol-vo...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru