Вопрос задан 15.07.2023 в 23:53. Предмет Информатика. Спрашивает Коновалова Милана.

Тема: Работа с несколькими массивами C++ Задача:Даны два двумерных массива из 12строк и

28столбцов. В первом из них записана температура воздуха за каждый из первых 28дней каждого месяца 2009года, во втором — аналогичные сведения за 2010год. Получить третий массив с данными об изменении температуры для каждого дня (в%).
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Топчанский Арсен.

===== C++ 17 =====

#include <iostream>

#include <iomanip>

using namespace std;

int main()

{

   int nm = 12, nd = 28;

   float t2009[12][28], t2010[12][28], pt[12][28];

   float dT[nm][2] ={{-7.3,-4},{-9.8, -9.1},{-4.4, 2.6},{2.2,11.3},

       {7.7,18.6},{12.1,22},{14.4,24.3},{12.5,21.9},

       {7.4,15.7},{2.2,8.7},{-3.3,0.9},{-7.6,-3}};

   srand(time(NULL));

   for(int m = 0; m < nm; m++)

   {

       float k = (dT[m][1] - dT[m][0])/RAND_MAX;

       for(int d =0; d < nd; d++)

       {

           t2009[m][d] = rand() * k + dT[m][0];

           t2010[m][d] = rand() * k + dT[m][0];

           pt[m][d] = t2010[m][d] / t2009[m][d] * 100;

       }

   }

   cout << "2009\n";

   for(int m = 0; m < nm; m++)

   {

       for(int d =0; d < nd; d++)

           cout << fixed << setw(5) << setprecision(1) << t2009[m][d];

       cout << endl;    

   }

   cout << "2010\n";

   for(int m = 0; m < nm; m++)

   {

       for(int d =0; d < nd; d++)

           cout << fixed << setw(5) << setprecision(1) << t2010[m][d];

       cout << endl;    

   }

   cout << "PERCENTS\n";

   for(int m = 0; m < nm; m++)

   {

       for(int d =0; d < nd; d++)

           cout << fixed << setw(5) << setprecision(0) << pt[m][d];

       cout << endl;    

   }

   return 0;

}


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

Вот пример кода на C++, который выполняет данную задачу:

cpp
#include <iostream> const int ROWS = 12; const int COLS = 28; void calculateTemperatureChange(double arr1[ROWS][COLS], double arr2[ROWS][COLS], double result[ROWS][COLS]) { for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { result[i][j] = ((arr2[i][j] - arr1[i][j]) / arr1[i][j]) * 100.0; } } } int main() { double temperatures2009[ROWS][COLS]; double temperatures2010[ROWS][COLS]; double temperatureChange[ROWS][COLS]; // Заполнение массивов temperatures2009 и temperatures2010 данными о температуре // Вызов функции для вычисления изменения температуры calculateTemperatureChange(temperatures2009, temperatures2010, temperatureChange); // Вывод результата for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { std::cout << temperatureChange[i][j] << "% "; } std::cout << std::endl; } return 0; }

В этом примере мы объявляем три двумерных массива: temperatures2009 для хранения данных о температуре воздуха за каждый день в 2009 году, temperatures2010 для хранения данных о температуре воздуха за каждый день в 2010 году и temperatureChange для хранения информации об изменении температуры.

Функция calculateTemperatureChange вычисляет изменение температуры для каждого дня, используя формулу: (температура 2010 года - температура 2009 года) / температура 2009 года * 100.

Затем в функции main вызывается функция calculateTemperatureChange с передачей массивов temperatures2009, temperatures2010 и temperatureChange в качестве аргументов.

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

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос