Входные данные:
Исходный массив A: 
Выходные данные:
В массиве 5 четных элементов, их произведениеP = 4*8*2*12*4 = 3072.
Среднее геометрическое равно SrG =
= 4,98
Блок-схема к задаче №1


5.4 Листинг программы на С++ к задаче №1
#include<iostream.h>
#include <math.h>
using namespace std;
int main ()
{
int a[3][4];
for (int i=0; i<3; i++)
for (int j=0; j<4; j++)
{
cout<<"\na["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
int p=1,k=0;
for (int i=0; i<3; i++)
for (int j=0; j<4; j++)
if (a[i][j]>0 && a[i][j]%2==0)
{
p=p*a[i][j];
k++;
}
float srg;
srg=pow(p,1.0/k);
cout<<"\np="<<p<<"\tk="<<k<<"\tsrg="<<srg;
}
Условие задачи №2
Ввести двумерный массив
. Каждый положительный элемент увеличить на произведение индексов этого элемента. Массив вывести до изменения и после.
Тестовый пример к задаче №2
Входные данные:
N = 3 M = 3
Исходный массив A: 
Выходные данные:
Преобразованный массив A: 
Блок-схема к задаче №2

5.8 Листинг программы на С++ к задаче №2
#include<iostream.h>
#include <math.h>
using namespace std;
int main ()
{
int m,n;
cout<<"\nVvod N, M:";
cin>>n>>m;
int a[n][m];
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
{
cout<<"\na["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"\nMatrix A:";
for (int i=0; i<n; i++)
{
cout<<"\n";
for (int j=0; j<m; j++)
cout<<"\t"<<a[i][j];
}
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
if (a[i][j]>0)
a[i][j]=a[i][j]+i*j;
cout<<"\nNew matrix A:";
for (int i=0; i<n; i++)
{
cout<<"\n";
for (int j=0; j<m; j++)
cout<<"\t"<<a[i][j];
}
}
Условие задачи №3
Ввести двумерный массив
, вывести его. Определить
– номер столбца, содержащего наибольшее количество положительных элементов. Далее найти максимум среди отрицательных элементов расположенных правее этого столбца и поменять его с первым элементом массива.
Тестовый пример к задаче №3
Входные данные:
N=4 M=5
Исходный массив A: 1 2 -3 -5 -9
-2 0 -7 -5 -10
-6 7 -7 -1 1
-8 5 -4 -13 -8
Выходные данные:
больше всего положительных элементов в столбце номер 2
массив A после изменения: -1 2 -3 -5 -9
-2 0 -7 -5 -10
-6 7 -7 1 1
-8 5 -4 -13 -8
Блок-схема к задаче №3



5.12 Листинг программы на С++ к задаче №3
#include<iostream.h>
#include <math.h>
using namespace std;
int main ()
{
int m,n;
cout<<"\nVvod N, M:";
cin>>n>>m;
int a[n][m];
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
{
cout<<"\na["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"\nMatrix A:";
for (int i=0; i<n; i++)
{
cout<<"\n";
for (int j=0; j<m; j++)
cout<<"\t"<<a[i][j];
}
int p,pmax=0,k=-1;
for (int j=0; j<m; j++)
{
p=0;
for (int i=0; i<n; i++)
if (a[i][j]>0)
p++;
if (p>pmax)
{
pmax=p;
k=j;
}
}
cout<<"\nk="<<k;
if (k<m-1 && k>-1)
{
int max=-999,imax,jmax;
for (int j=k+1; j<m; j++)
for (int i=0; i<n; i++)
if (a[i][j]<0 && a[i][j]>max)
{
max=a[i][j];
imax=i;
jmax=j;
}
if (max==-999)
cout<<"\nSprava ot stolbca net otricatelnih";
else
{
int buf=a[0][0];
a[0][0]=a[imax][jmax];
a[imax][jmax]=buf;
}
}
else
cout<<"\n preobrazovanie nevozmojno";
cout<<"\nNew matrix A:";
for (int i=0; i<n; i++)
{
cout<<"\n";
for (int j=0; j<m; j++)
cout<<"\t"<<a[i][j];
}
}
Варианты заданий по теме «Двумерные массивы»
Лабораторная работа № 1
Обработка матриц
1. Ввести двумерный массив
. Определить в нём сумму элементов, значения которых лежат вне диапазона
.
2. Ввести двумерный массив
. Определить в нём среднее геометрическое элементов, значения которых лежат в диапазоне
.
3. Ввести двумерный массив
. Определить в нём среднее геометрическое элементов, у которых оба индекса нечетные.
4. Ввести двумерный массив
. Определить в нём среднее арифметическое элементов, стоящих на позициях с чётной суммой индексов.
5. Ввести двумерный массив
. Определить в нём произведение элементов чьё значение без остатка делится на 2 и не делится на 3.
6. Ввести двумерный массив
. Определить в нём сумму элементов чье значение без остатка делится на 3 и не делится на 2.
7. Ввести двумерный массив
. Определить в нём сумму элементов стоящих на позициях, чьи индексы в сумме больше записанного в них значения.
8. Ввести двумерный массив
. Определить в нём количество элементов, квадрат которых больше 25.
9. Ввести двумерный массив
. Определить в нём произведение элементов, квадрат которых меньше 16.
10. Ввести двумерный массив
. Определить в нём сумму модулей отрицательных элементов.
11. Ввести двумерный массив
. Определить в нём среднее геометрическое модулей отрицательных элементов.
12. Ввести двумерный массив
. Определить в нём среднее геометрическое квадратов нечётных элементов.
13. Ввести двумерный массив
. Определить в нём количество тех элементов, которые при делении на 3 дают остаток 2.
14. Ввести двумерный массив
. Определить в нём среднее арифметическое тех элементов, которые при делении на 4 дают остаток 1 или 3.
15. Ввести двумерный массив
. Определить в нём произведение тех элементов, чей модуль лежит в диапазоне
.
16. Ввести двумерный массив
. Определить в нём произведение тех элементов, чей модуль лежит вне диапазона
.
17. Ввести двумерный массив
. Определить в нём количество тех элементов, которые без остатка делятся на собственный индекс (строки или столбца).
18. Ввести двумерный массив
. Определить в нём количество тех элементов, стоящих на позициях с четной суммой индексов, которые сами чётны.
19. Ввести двумерный массив
. Определить в нём сумму остатков от деления на 3 тех элементов, которые не кратны трём.
20. Ввести двумерный массив
. Определить в нём произведение остатков от деления на 4 тех элементов, которые не кратны четырём.
21. Ввести двумерный массив
. Найти суммы индексов строк и столбцов четных элементов массива.
22. Ввести двумерный массив
. Найти произведение индексов строк и сумму индексов столбцов для элементов массива больших семи.
23. Ввести двумерный массив
. Определить сумму квадратов индексов (как строк, так и столбцов) элементов делящихся на три без остатка.
24. Ввести двумерный массив
. Определить среднее арифметическое модулей отрицательных элементов.
25. Ввести двумерный массив
. Определить произведение элементов, которые при делении на 2 дают такой же остаток как и при делении на 3.
26. Ввести двумерный массив
. Определить сумму элементов, которые при умножении на 4 дают значение большее чем при возведении в квадрат.
27. Ввести двумерный массив
. Определить среднее геометрическое квадратов элементов, стоящих на позициях у которых хотя бы один индекс кратен трём.
28. Ввести двумерный массив
. Определить среднее арифметическое квадратов элементов, стоящих на позициях, у которых как минимум один из индексов при делении на 3 дает остаток 2.
29. Ввести двумерный массив
. Определить в нём количество элементов кратных трём.
30. Ввести двумерный массив
. Определить в нём произведение чётных элементов.
Лабораторная работа № 2
Прямоугольные матрицы
1. Ввести двумерный массив
. Все элементы, которые не кратны 4 и стоят в четных строках массива уменьшить на 10. Массив вывести до и после преобразования.
2. Ввести двумерный массив
. Все элементы, которые не кратны 2 и лежат вне диапазона
увеличить на 5. Массив вывести до и после преобразования.
3. Ввести двумерный массив
. Все элементы, которые при целочисленном делении на
дают ненулевое значение, увеличить на
. Массив вывести до и после преобразования.
4. Ввести двумерный массив
. Элементы в нечетных столбцах массива умножить на индекс строки в которой они находится. Массив вывести до и после преобразования.
5. Ввести двумерный массив
. Каждый четный элемент массива нацело разделить на два. Массив вывести до и после преобразования.
6. Ввести двумерный массив
. Каждый элемент, дающий в остатке двойку при делении на 3 увеличить на единицу. Массив вывести до и после преобразования.
7. Ввести двумерный массив
. Каждый элемент, чей модуль больше 10 обнулить. Массив вывести до и после преобразования.
8. Ввести двумерный массив
. Каждый второй элемент, в том случае, если он отрицателен, возвести в квадрат. Массив вывести до и после преобразования.
9. Ввести двумерный массив
. Каждый второй элемент, в массиве заменить остатком от деления этого элемента на 10. Массив вывести до и после преобразования.
10. Ввести двумерный массив
. Каждый элемент, стоящий в массиве на позиции с четной суммой индексов заменить остатком от деления этого элемента на 7. Массив вывести до и после преобразования.
11. Ввести двумерный массив
. Каждую вторую строку в массиве заменить остатками от деления её элементов на 2. Массив вывести до и после преобразования.
12. Ввести двумерный массив
. Каждый четный элемент в массиве заменить результатом его целочисленного деления на 5. Массив вывести до и после преобразования.
13. Ввести двумерный массив
. Каждый отрицательный элемент в массиве заменить результатом его целочисленного деления на 3. Массив вывести до и после преобразования.
14. Ввести двумерный массив
. Каждый элемент в массиве больший 7 домножить на результат целочисленного деления этого элемента на 7. Массив вывести до и после преобразования.
15. Ввести двумерный массив
. Каждый элемент в массиве чьё значение лежит вне диапазона
увеличить на 10. Массив вывести до и после преобразования.
16. Ввести двумерный массив
. Каждый элемент в массиве чьё значение лежит вне диапазона
возвести в квадрат. Массив вывести до и после преобразования.
17. Ввести двумерный массив
. Каждый элемент в массиве чьё значение лежит в диапазоне
умножить на 5. Массив вывести до и после преобразования.
18. Ввести двумерный массив
. Каждый второй элемент в массиве с нечётной суммой индексов, чьё значение лежит в диапазоне
заменить единицей. Массив вывести до и после преобразования.
19. Ввести двумерный массив
. Элементы массива, чей квадрат меньше 25 увеличить вдвое. Массив вывести до и после преобразования.
20. Ввести двумерный массив
. Отрицательные элементы массива умножить на сумму квадратов собственных индексов. Массив вывести до и после преобразования.
21. Ввести двумерный массив
. К четным элементам массива прибавить значение собственного индекса строки. Массив вывести до и после преобразования.
22. Ввести двумерный массив
. К элементам массива не кратным трём прибавить остаток от деления этого числа на три. Массив вывести до и после преобразования.
23. Ввести двумерный массив
. Элементы массива, которые при делении нацело на собственный индекс строки дают значение большее 2 возвести в квадрат. Массив вывести до и после преобразования.
24. Ввести двумерный массив
. Элементы массива, которые при делении нацело на собственный индекс столбца дают четное значение увеличить на единицу. Массив вывести до и после преобразования.
25. Ввести двумерный массив
. Все нули в массиве заменить единицами, а единицы нулями. Массив вывести до и после преобразования.
26. Ввести двумерный массив
. Все элементы меньшие восьми возвести в третью степень. Массив вывести до и после преобразования.
27. Ввести двумерный массив
. Все элементы, чье значение увеличенное на единицу и возведённое в квадрат будет больше 50 домножить на два Массив вывести до и после преобразования.
28. Ввести двумерный массив
. Все элементы, стоящие на позициях у которых один из индексов чётный, с модулем значения больше 10 уменьшить на 3. Массив вывести до и после преобразования.
29. Ввести двумерный массив
. Все элементы, которые нечётны и положительны увеличить на 1. Массив вывести до и после преобразования.
30. Ввести двумерный массив
. Все элементы, которые кратны 4 и стоят на позициях, у которых как минимум один из индексов чётный, разделить нацело на 4. Массив вывести до и после преобразования.
Функции
Условие задачи №1
Дважды вычислить значение выражения, используя функции возвращающие void и не void.







