С++ помогите, пожалуйста. 50 баллов. Население некоторого района составляет M тыс. чел., а длина
шоссейных дорог района—H км. Существует прогноз, согласно которому население за год будет увеличиваться на р %, а длина шоссейных дорог—на B км ежегодно. Для каждого из последующих N лет найти, какая длина шоссейных дорог приходится на 1 тыс. жителейОтветы на вопрос
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
void result(double N, double *otputM, double *otputH, double M = 2, double H = 12, double P = 50, double B = 2)
{
double one = M / 100 * 1;
P = one * P;
M = M + (P * N);
H = H + (B * N);
*otputM = M;
*otputH = H;
}
int main() {
setlocale(LC_ALL, "Russian"); //русский
double M; //население (тысяч. чел)
double H; //длина дорог (км)
double P; //процент увеличения населения (%)
double B; //увеличение дорог (км)
double N; //кол-во лет
double otputM = 0; //ответ людей
double otputH = 0; //ответ дорог
int input;
cout << "ВЫ хотите ввести M, H, P, B? \nВведите 1 - если хотите, 2 - если НЕ хотите: ";
cin >> input;
if(input == 2)
{
cout << "\nВведите N (кол-во лет) = ";
cin >> N;
result(N, &otputM, &otputH);
cout << "\nЧерез " << N << " лет: ";
cout << "\nКол-во людей = " << otputM << "\nДлина дорог = " << otputH;
}else if(input == 1)
{
cout << "\nВведите N (кол-во лет) = ";
cin >> N;
cout << "Введите M (население [тыс. чел.]) = ";
cin >> M;
cout << "Введите H (длина дорог [км]) = ";
cin >> H;
cout << "Введите P (процент увеличения населения [%]) = ";
cin >> P;
cout << "Введите B (увеличение дорог [км]) = ";
cin >> B;
result(N, &otputM, &otputH, M, H, P, B);
cout << "\nЧерез " << N << " лет: ";
cout << "\nКол-во людей = " << otputM << "\nДлина дорог = " << otputH;
}else
{
cout << "\nError!";
}
return 0;
}
Для решения этой задачи нужно написать программу на C++, которая вычислит, какая длина шоссейных дорог приходится на 1 тыс. жителей для каждого из N последующих лет.
Для начала, давайте опишем алгоритм решения:
- Запрашиваем у пользователя значения M, H, p, B, и N.
- Вычисляем прирост населения и длины шоссейных дорог за один год, используя формулы: Прирост населения за год (population_growth) = M * (p / 100) Прирост длины дорог за год (road_length_growth) = B
- В цикле для каждого из N лет вычисляем:
- Новое значение населения (M_new) = M + Прирост населения за год (population_growth)
- Новое значение длины дорог (H_new) = H + Прирост длины дорог за год (road_length_growth)
- Вычисляем, сколько длины дорог приходится на 1 тыс. жителей (road_length_per_1000) = H_new / (M_new / 1000)
- Выводим результат для текущего года.
Давайте теперь реализуем этот алгоритм в коде:
cpp#include <iostream>
using namespace std;
int main() {
double M, H, p, B;
int N;
cout << "Введите население района (в тыс. чел.): ";
cin >> M;
cout << "Введите длину шоссейных дорог района (в км): ";
cin >> H;
cout << "Введите прогнозный прирост населения в процентах (p): ";
cin >> p;
cout << "Введите прирост длины дорог за год (в км): ";
cin >> B;
cout << "Введите количество лет для прогноза (N): ";
cin >> N;
double population_growth = M * (p / 100);
double road_length_growth = B;
for (int year = 1; year <= N; year++) {
double M_new = M + population_growth;
double H_new = H + road_length_growth;
double road_length_per_1000 = H_new / (M_new / 1000);
cout << "Год " << year << ": " << road_length_per_1000 << " км на 1 тыс. жителей" << endl;
M = M_new; // Обновляем текущее население для следующего года
H = H_new; // Обновляем текущую длину дорог для следующего года
}
return 0;
}
Скопируйте этот код в среду разработки C++ (например, Code::Blocks, Visual Studio, или другую), скомпилируйте и запустите программу. После запуска программа будет запрашивать необходимые данные (M, H, p, B и N) и выведет результаты для каждого из N лет, указывая длину дорог на 1 тыс. жителей для каждого года.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
