В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Andrey5454
Andrey5454
21.07.2021 04:59 •  Информатика

Треба в дуже Скласти блок-схему і програму,
що ooраховує площу паралелограма. Нагадаємо,
що площа паралелограма оораховується за
формулою S=ah. Перевірити працездатність
програми для таких даних:
1 а= 7,h= 9;

Показать ответ
Ответ:
GriefSS
GriefSS
24.01.2020 02:33

#include <iostream>

#include <time.h>

#include <vector>

using namespace std;

void print_array(int** arr, int n, int m) {

for (size_t i = 0; i < n; i++) {

 for (size_t j = 0; j < m; j++) {

  cout << arr[i][j] << " ";

 }

 cout << endl;

}

cout << endl;

}

int** auto_input_matrix(int** arr, int n, int m) {

for (size_t i = 0; i < n; i++) {

 for (size_t j = 0; j < m; j++) {

  arr[i][j] = rand() % 200 - 100;

 }

}

return arr;

}

void print_vector(vector<long long> vec) {

for (long long elem : vec) {

 cout << elem << " ";

}

cout << endl;

}

void print_vector(vector<int> vec) {

for (int elem : vec) {

 cout << elem << " ";

}

cout << endl;

}

pair<vector<long long>, vector<int>> multiplying_positive_elements_of_an_array_and_find_max_of_an_array_line_by_line(int** arr, int n, int m) {

long long multi = 0;

bool key = false;

int max = -100;

int index = 0;

vector<long long> vec_multi;

vector<int> vec_max_index;

for (size_t i = 0; i < n; i++) {

 for (size_t j = 0; j < m; j++) {

  if (arr[i][j] > max) {

   max = arr[i][j];

   index = j;

  }

  if (arr[i][j] > 0) {

   if (!key) {

    multi = 1;

   }

   key = true;

   multi *= arr[i][j];

  }

 }

 vec_max_index.push_back(index);

 vec_multi.push_back(multi);

 max = -100;

 key = false;

}

return make_pair(vec_multi, vec_max_index);

}

int main() {

srand(time(NULL));

setlocale(LC_ALL, "Russian");

int n, m;

cout << "Введите количество строк в массиве: ";

cin >> n;

cout << "Введите количество элементов в массиве построчно: ";

cin >> m;

int** array = new int* [n];

pair<vector<long long>, vector<int>> pair_vec;

for (size_t i = 0; i < n; i++) {

 array[i] = new int[m];

}

array = auto_input_matrix(array, n, m);

print_array(array, n, m);

pair_vec = multiplying_positive_elements_of_an_array_and_find_max_of_an_array_line_by_line(array, n, m);

cout << "Перемножение построчно: " << endl;

print_vector(pair_vec.first);

cout << "Максимумы на индексах: " << endl;

print_vector(pair_vec.second);

delete[] array;

pair_vec.first.clear();

pair_vec.second.clear();

}

0,0(0 оценок)
Ответ:
853692
853692
22.02.2021 21:57

   int r = minmax(a, b);

   cout << "Сумма min " << r << ", сумма max " << b << endl;

   return 0;

}

По поводу "всех объяснений" - я этого не понимаю. Написать что делает каждый оператор, зачем он тут и почему именно такой - это долгое и бессмысленное занятие, ответ будет объемом в несколько книжных страниц, но все равно толком ничего не даст. Если Вы не умеет программировать - учится надо не по ответу на задачу, а если умеете - никакое описание не нужно.

Единственная заморочка тут - передача длины массива в вызываемую функцию. В С++ с этим беда, потому обычно используют библиотечный класс Vector, где можно узнать длину массива. Вместо массива в С++ при вызове функции передается указатель на его первый элемент, поэтому информацию о длине массива получить нельзя. Так что нужно передавать еще один параметр - длину массива. Но в задании сказано, что параметра всего два и второй служит для получения максимальной из двух сумм. Но это при возвращении результата! Поэтому было принято решение при вызове функции в качестве b передать длину массива.


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