Варианты заданий по теме «Двумерные массивы»
Лабораторная работа № 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.
Тестовый пример к задаче №1
Входные данные:
a=1 ,b=2, c=3, d=4
введите x=2, y=2, z=2
Выходные данные:
S=2.80276
Блок-схема к задаче №1
6.4 Листинг программы на С++ к задаче №1
#include <iostream.h>
#include <math.h>
using namespace std;
void proc (int n, int m, int k, float &rez)
{
float chislitel=pow(n,m)+k*m*m+1;
float znamenatel=sqrt(abs(m));
rez=chislitel/znamenatel;
}
float fun (int n, int m, int k)
{
float chislitel=pow(n,m)+k*m*m+1;
float znamenatel=sqrt(abs(m));
float rez=chislitel/znamenatel;
return rez;
}
int main()
{
int a,b,c,d,x,y,z;
cout<<"\n Vvod a,b,c,d,x,y,z";
cin>>a>>b>>c>>d>>x>>y>>z;
float s;
s=d*(fun(3,a,x)+3*fun(2,b,y))*(1/fun(4,c,z));
cout<<"\ns(fun)="<<s;
float r1,r2,r3;
proc(3,a,x,r1);
proc(2,b,y,r2);
proc(4,c,z,r3);
s=d*(r1+3*r2)*(1/r3);
cout<<"\ns(proc)="<<s;
}
Условие задачи №2
Ввести двумерные массивы , , . Найти наименьший из максимумов этих массивов. Значением найденного минимального максимума заменить элементы побочных диагоналей всех матриц. Далее переписать в одномерный массив главную диагональ той матрицы, в которой максимум окажется наибольшим.
Тестовый пример к задаче №2
Входные данные:
N1=3 Исходный массив X1:
2 3 4
56 6 5
3 4 6
N2=2 Исходный массив X2:
34 5
6 7
N3=4 Исходный массив X3:
34 5 4 3
23 455 4 6
7 5 4 3
4 7 8 6
Выходные данные:
max1=56
max2=34
max3=455
минимальный максимум равен 34
выводим массив X1:
2 3 34
56 34 5
34 4 6
выводим массив X2:
34 34
34 7
выводим массив X3:
34 5 4 34
23 455 34 6
7 34 4 3
34 7 8 6
Выводим одномерный массив Y:
34 455 4 6
Блок-схема к задаче №2
6.8 Листинг программы на С++ к задаче №2
#include <iostream.h>
using namespace std;
void vvod2m(int a[10][10],int &n)
{
cout<<"\nVvod n";
cin>>n;
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
{
cout<<"\nA["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
}
void vivod2m (int a[10][10], int n)
{
for (int i=0; i<n;i++)
{
cout<<"\n";
for (int j=0; j<n; j++)
cout<<"\t"<<a[i][j];
}
}
void vivod1m (int a[], int n)
{
for (int i=0; i<n;i++)
cout<<"\t"<<a[i];
}
int maximum(int a[10][10],int n)
{
int max=a[0][0];
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
if (a[i][j]>max)
max=a[i][j];
return max;
}
void zamena (int a[10][10], int n, int max)
{
for (int i=0; i<n; i++)
a[i][n-i-1]=max;
}
void form(int a[10][10], int n, int b[], int &m)
{
for (int i=0; i<n; i++)
b[i]=a[i][i];
m=n;
}
int min(int p, int q)
{
if (p<q)
return p;
else
return q;
}
int main()
{
int x1[10][10],x2[10][10],x3[10][10],n1,n2,n3,y[10],m;
vvod2m(x1,n1);
vvod2m(x2,n2);
vvod2m(x3,n3);
cout<<"\nMassiv X1";
vivod2m(x1,n1);
cout<<"\nMassiv X2";
vivod2m(x2,n2);
cout<<"\nMassiv X3";
vivod2m(x3,n3);
int m1,m2,m3,minofmax;
m1=maximum(x1,n1);
m2=maximum(x2,n2);
m3=maximum(x3,n3);
cout<<"\nmax1="<<m1<<"\tmax2="<<m2<<"\tmax3="<<m3;
minofmax=min(m1,min(m2,m3));
cout<<"\nMassiv X1";
zamena(x1,n1,minofmax);
vivod2m(x1,n1);
cout<<"\nMassiv X2";
zamena(x2,n2,minofmax);
vivod2m(x2,n2);
cout<<"\nMassiv X3";
zamena(x3,n3,minofmax);
vivod2m(x3,n3);
if (m1>m2 && m1>m3)
form(x1,n1,y,m);
else
if (m2>m3)
form(x2,n2,y,m);
else
form(x3,n3,y,m);
cout<<"\nMassiv Y:";
vivod1m(y,m);
}
Контрольные вопросы по теме «Функции»
1. Назовите преимущества использования функций.
2. Чем функция возвращающая void отличается от функции возвращающей не void?
3. Назовите назначение формальных и фактических параметров. Где они располагаются?
4. Назовите критерии соответствия формальных и фактических параметров.
5. Что такое и где описываются локальные и глобальные параметры?
6.Чем параметры-константы отличаются от параметров-переменных?
7. Охарактеризуйте способы передачи параметров.
Дата добавления: 2019-11-16; просмотров: 645; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!