Вопрос задан 16.06.2023 в 08:35. Предмет Информатика. Спрашивает Краснова Алиса.

Дан массив A (7,7). Найдите произведение отрицательного элемента, расположенного не на главной

диагонали, и наибольшего элемента массива (максимального). *НА ЯЗЫКЕ С++* СРОЧНО!! заранее СПАСИБО))
0 0
Перейти к ответам

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

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

Відповідь:

#include <iostream>

#include <cstdlib>

#include <time.h>

using namespace std;

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

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

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

  arr[i][j] = rand() % 8 - 2;

 }

}

}

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

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

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

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

 }

 cout << endl;

}

}

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

int product = 1;

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

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

  if(j != i && arr[i][j] < 0){

   product *= arr[i][j];

  }

 }

}

return product;

}

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

int max = arr[0][0];

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

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

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

   max = arr[i][j];

  }

 }

}

return max;

}

const int n = 7, m = 7;

int main(){

srand(time(NULL));

setlocale(LC_ALL, "Rus");

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

for (int i = 0; i < n; i++)

       arr[i]=new int[m];

randarr(arr,n,m);

printarr(arr,n,m);

cout << "\nПроизведение отрицательных елементов не на главной диагонали = " << prnegative(arr,n,m) << endl;

cout << "Максимальный елемент массива = " << maxarr(arr,n,m) << endl;

for (int i = 0; i < n; i++)

    delete[]arr[i];

   delete[]arr;

return 0;

}

Пояснення:

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

Конечно! Вот пример решения данной задачи на языке C++:

cpp
#include <iostream> #include <climits> int main() { int A[7][7] = { {-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, -41, 42}, {43, 44, 45, 46, 47, 48, -49} }; int maxElement = INT_MIN; int product = 1; for (int i = 0; i < 7; i++) { for (int j = 0; j < 7; j++) { if (i != j && A[i][j] < 0) { product *= A[i][j]; } if (A[i][j] > maxElement) { maxElement = A[i][j]; } } } std::cout << "Произведение отрицательного элемента, не находящегося на главной диагонали, и наибольшего элемента массива: " << product * maxElement << std::endl; return 0; }

В этом примере мы объявляем двумерный массив A размером 7x7 и инициализируем его значениями. Затем мы используем два вложенных цикла for, чтобы перебрать все элементы массива. Внутри циклов мы проверяем условие: если индексы i и j не равны (что означает, что элемент не находится на главной диагонали) и значение элемента A[i][j] отрицательное, то мы умножаем это значение на переменную product. Также мы обновляем переменную maxElement, если текущий элемент больше предыдущего максимального элемента.

По завершении перебора массива выводим результат произведения отрицательного элемента, не находящегося на главной диагонали, и наибольшего элемента массива.

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

0 0

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

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

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

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