Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Тестовый пример к задаче №1




Входные данные:

Исходный массив 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.





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


Дата добавления: 2018-10-14; Мы поможем в написании ваших работ!; просмотров: 1213 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Своим успехом я обязана тому, что никогда не оправдывалась и не принимала оправданий от других. © Флоренс Найтингейл
==> читать все изречения...

3301 - | 3046 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.