#include <iostream>
#include <ctime>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
#define n 5
using namespace std;
void task937() //937. Вывести на экран (в одну строку) все элементы главной диагонали массива
{
srand((int)time(0));
int N;
cout <<"input: \n";
cin >>N;
double **a = new double*[N];
for (int i = 0; i < N; i++)
a[i]=new double[N];
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
a[i][j]=rand()%9+ 1;
cout <<a[i][j]<<" ";
}
cout <<endl;
}
cout <<"output: \n";
for (int i = N-1; i >= 0; i--)
cout <<a[i][i]<<" ";
cout <<endl;
for (int i = 0; i < N; i++)
delete [] a[i];
}
void task1007() //1007. Среди тех строк целочисленной матрицы, которые содержат только нечетные элементы, найти строку с максимальной суммой модулей элементов.
{
srand(time(0));
int array_a[n][n];
int i, j;
int max = 0;
int max_new = 0;
int number_max_str = 1;
printf("\nИсходный массив:\n");
for(i = 0; i < n; i++){
printf("\n");
for(j = 0; j < n; j++){
array_a[i][j] = -1 * rand()%10;
printf("%d\t", array_a[i][j]);
}
}
for(i = 0, j = 0; j < n; j++){
max += abs(array_a[i][j]);
}
for(i = 0; i < n; i++){
max_new = 0;
for(j = 0; j < n; j++){
max_new += abs(array_a[i][j]);
}
if(max < max_new){
max = max_new;
number_max_str = i + 1;
}
}
printf("\n\nНомер строки: %d\tСумма элементов: %d\n", number_max_str, max);
}
void task1041() //1042. Дан Двумерный массив.
//а) К элементам четных строк прибавить элемент первой строки соответствующего столбца.
//б) Из элементов нечетных столбцов вычесть элемент последнего столбца соответствующей строки.
{
int o,m,s,p;
cin>>o;
cin>>m;
int a[5][5];
for(int i=0;i<o;++i){
for(int j=0;j<m;++j){
cin>>a[i][j];
}
}
for(int i=0;i<o;++i){
int max=a[i][0];
for(int j=0;j<m;j++){
if (a[i][j]>max){
s = i;
p = j;
if (j==m-1 )a[s][p]=-a[s][p];
}
}
}
for(int i=0;i<o;++i,cout<<endl){
for(int j=0;j<m;++j){
cout << a[i][j] << " ";
}
}
cout<<endl;
}
void task928() //928. Заполнить Двумерный массив целыми числами от 1 до 100 по спирали.
{
int const l=10;
int A[l][l];
int i=1,j,k,p=l/2;
for(k=1;k<=p;k++)
{
for (j=k-1;j<l-k+1;j++) A[k-1][j]=i++;
for (j=k;j<l-k+1;j++) A[j][l-k]=i++;
for (j=l-k-1;j>=k-1;--j) A[l-k][j]=i++;
for (j=l-k-1;j>=k;j--) A[j][k-1]=i++;
}
if (l%2==1) A[p][p]=l*l;
for(i=0;i<l;i++)
for(j=0;j<l;j++)
{
cout << A[i][j]<< " ";
if(j==l-1) cout << "\n";
}
}
void task909()
{
int A[4][4];/*First array*/
int i, j;
for (i = 0; i < 4; i++)
for (j = 0; j < 4; j++) {
cout << "\n A[" << i + 1 << "][" << j + 1 << "]=";
cin >> A[i][j];
}
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++)
cout << A[i][j] << "\t";
cout << "\n";
}
{
int min[4];/* find min on each row*/
for (i = 0; i < 4; i++) {
min[i] = A[0][i];
for (j = 1; j < 4; j++) {
if (min[i] > A[i][j])
min[i] = A[i][j];
}
}
int newarr[5][5];/* here i create the new array 5,5)*/
int max[5] = { 1,2,3,4,5 };
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
newarr[i][j] = A[i][j];
newarr[i][5] = max[i];
}
}
for (j = 0; j < 4; j++)
newarr[5][j] = min[j];
cout << newarr[5][j] << "\t";
cout << "\n";
}
}
int main ()
{
system("cls");
//task909();
//task928();
//task937();
//task1007();
//task1041();
}