cout <<"Maximum number on the main diagonal: " << max << endl << "Minimum number on the secondary diagonal: " << min << endl << "Sum of numbers on the diagonals: " << s;
return 0;
}
/* Редактор не сохраняет отступы зачастую, поэтому прикрепил .cpp файл с кодом */
#include <iostream>
#include <time.h>
#include <cstdlib>
using namespace std;
int main() {
int n, s = 0, max = 0, min = 9;
srand(time(NULL));
do {
cout << "Input size of matrix: n = ";
cin >> n;
if (n < 0)
{
cout << "Input error! n < 0. Please try again" << endl;
continue;
}
else break;
} while (true);
int **matr = new int* [n];
for(int i = 0; i < n; i++)
matr[i] = new int [n];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n;j++)
{
matr[i][j] = rand() % 10;
cout << matr[i][j] << " ";
}
cout << endl;
}
for (int i = 0; i < n; i++)
{
if (max < matr[i][i])
max = matr[i][i];
if (min > matr[i][n-i-1])
min = matr[i][n-i-1];
s += matr[i][i] + matr[i][n - i - 1];
}
if (n % 2 != 0)
s -= matr[n / 2][n / 2];
cout <<"Maximum number on the main diagonal: " << max << endl << "Minimum number on the secondary diagonal: " << min << endl << "Sum of numbers on the diagonals: " << s;
return 0;
}
/* Редактор не сохраняет отступы зачастую, поэтому прикрепил .cpp файл с кодом */
begin
var a:=ArrRandom(100,-10,10);
a.Println;
Writeln(a.Where(x->x>0).Count,' положительных, ',
a.Where(x->x<0).Count,' отрицательных')
end.
Тестовое решение:
4 -6 0 8 2 -2 -1 -8 -6 8 -3 7 4 -7 -5 9 0 -3 -7 1 0 -4 6 3 8 -10 4 9 3 5 8 5 5 8 10 4 -8 3 8 8 -9 2 7 -8 -7 -5 2 -9 0 9 -7 7 -2 -6 7 -2 -1 7 -10 2 4 1 -1 0 10 3 -8 6 -6 2 6 7 -1 -4 -1 8 0 3 0 2 -2 2 -1 5 1 -9 -4 1 -9 1 -6 -5 3 -4 -7 1 -7 -3 -7 1
51 положительных, 42 отрицательных