Дан массив A (7,7). Найдите произведение отрицательного элемента, расположенного не на главной диагонали, и наибольшего элемента массива (максимального).
*НА ЯЗЫКЕ С++*
СРОЧНО!! заранее СПАСИБО))
Ответы
Відповідь:
#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;
}
Пояснення: