Варианты заданий по теме «Двумерные массивы»



Лабораторная работа № 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!