Пример оформления лабораторной по программированию. Лабораторная работа
Скачать 98.05 Kb.
|
федеральное государственное бюджетное образовательное учреждение высшего образования «ВУЗ» Институт математики, естественных и компьютерных наук (наименование института) Кафедра «Автоматики и вычислительной техники» (наименование кафедры) ЛАБОРАТОРНАЯ РАБОТА №3
Вологда 2019 г. Циклы Задание 1 вариант Из двух упорядоченных одномерных массивов (длины K и N) сформируйте одномерный массив размером K+N, упорядоченный так же, как исходные массивы. Работа программыВвод значений и вывод результата. Назначение переменных
Текст программы#include using namespace std; int main(){ int K, N; int uK=0;//количество элементов больших или меньших предыдущих, если элемент больше предыдущего то +1 иначе -1 int uN=0; float a; setlocale(0,""); cout<<"Длина первого массива K = "; cin>>K; cout<<"Длина второго массива N = "; cin>>N; float arrK[K]; float arrN[N]; cout<<'\n'<<"Первый массив:"< for (int i=0; i cout< cin>>arrK[i]; if (i>0) { if (arrK[i]>arrK[i-1]) { uK++;} else {uK--;}//определяет упорядоченность массива } } cout<<'\n'<<"Второй массив:"< for (int i=0; i cout< cin>>arrN[i]; if (i>0) { if (arrN[i]>arrN[i-1]) { uN++;} else {uN--;} } } if ( (uK==K-1)&&(uN==N-1) ) { //если упорядочен по возрастанию float arrKN[K+N]; for (int i=0; i for (int i=0; i for (int j=0;j for (int i=0; i if (arrKN[i]>arrKN[i+1]){ a=arrKN[i]; arrKN[i]=arrKN[i+1]; arrKN[i+1]=a; } } } cout<<'\n'<<"Новый массив (упорядочен по возрастанию):"< for (int i=0; i cout<<"["< } else if ( (uK==-K+1)&&(uN==-N+1) ) { //если упорядочен по убыванию float arrKN[K+N]; for (int i=0; i for (int i=0; i for (int j=0;j for (int i=0; i if (arrKN[i] a=arrKN[i]; arrKN[i]=arrKN[i+1]; arrKN[i+1]=a; } } } cout<<'\n'<<"Новый массив (упорядочен по убыванию):"< for (int i=0; i cout<<"["< } else cout<<'\n'<<"Массивы упорядочены не одинаково!"; return 0; } Тестирование1) Длина первого массива K = 4 Длина второго массива N = 7 Первый массив: 0-й элемент первого массива = 4 1-й элемент первого массива = 9 2-й элемент первого массива = 12.7 3-й элемент первого массива = 24 Второй массив: 0-й элемент первого массива = 3 1-й элемент первого массива = 7 2-й элемент первого массива = 8 3-й элемент первого массива = 51.84 4-й элемент первого массива = 60 5-й элемент первого массива = 77.57 6-й элемент первого массива = 120.04 Новый массив (упорядочен по возрастанию): [0] = 3 [1] = 4 [2] = 7 [3] = 8 [4] = 9 [5] = 12.7 [6] = 24 [7] = 51.84 [8] = 60 [9] = 77.57 [10] = 120.04 -------------------------------- Process exited after 51.72 seconds with return value 0 Для продолжения нажмите любую клавишу . . . 2) Длина первого массива K = 3 Длина второго массива N = 4 Первый массив: 0-й элемент первого массива = 45.4 1-й элемент первого массива = 24 2-й элемент первого массива = -8 Второй массив: 0-й элемент первого массива = 74 1-й элемент первого массива = 12.74 2-й элемент первого массива = 10 3-й элемент первого массива = 5 Новый массив (упорядочен по убыванию): [0] = 74 [1] = 45.4 [2] = 24 [3] = 12.74 [4] = 10 [5] = 5 [6] = -8 -------------------------------- Process exited after 48.32 seconds with return value 0 Для продолжения нажмите любую клавишу . . . 3) Длина первого массива K = 3 Длина второго массива N = 4 Первый массив: 0-й элемент первого массива = 5 1-й элемент первого массива = 120.4 2-й элемент первого массива = -74 Второй массив: 0-й элемент первого массива = 15 1-й элемент первого массива = 42.97 2-й элемент первого массива = 149 3-й элемент первого массива = 138.74 Массивы упорядочены не одинаково! -------------------------------- Process exited after 42.47 seconds with return value 0 Для продолжения нажмите любую клавишу . . . Задание 2 вариант Из шестизначного числа выделить цифры и из них сформировать одномерный массив. Работа программыВвод значений и вывод результата. Назначение переменных
Текст программы#include using namespace std; int main(){ int a=0; int n = 6; int arr[n]; setlocale(0,""); cout<<"Введите шестизначное число: "; cin>>a; cout<<"Сформированный массив:"< for (int i = n; i>0; i--){ arr[i] = a % 10; a = a / 10; cout<<"["< } return 0; } Тестирование1) Введите шестизначное число: 152308 Сформированный массив: [6] = 8 [5] = 0 [4] = 3 [3] = 2 [2] = 5 [1] = 1 -------------------------------- Process exited after 3.654 seconds with return value 0 Для продолжения нажмите любую клавишу . . . 2) Введите шестизначное число: 590050 Сформированный массив: [6] = 0 [5] = 5 [4] = 0 [3] = 0 [2] = 9 [1] = 5 -------------------------------- Process exited after 10.18 seconds with return value 0 Для продолжения нажмите любую клавишу . . . Задание 3 вариант Задан двумерный массив В[10, 10], заполненный случайными числами из (-10,10). Найти и вывести на экран те элементы массива, которые больше заданного числа k. Работа программыВвод значений и вывод результата. Назначение переменных
Текст программы#include #include #include #include using namespace std; int main(){ int B[10][10], k; string border(40,'-'); srand(time(0)); setlocale(0,""); cout<<" Массив B:"< for (int i=0; i<=9;i++){ for (int j = 0; j<=9; j++){ B[i][j]=-9 + rand() % 20; cout< } cout< cout< } cout< cout<<"k = "; cin>>k; cout< cout<<"Элементы массива большие k: "< for (int i=0; i<=9;i++){ for (int j=0; j<=9; j++){ if (B[i][j]>k) { cout<<"B["< } } return 0; } Тестирование1) 2) Задание 4 вариант Дана квадратная вещественная матрица размерности n. Сравнить сумму элементов матрицы на главной и побочной диагоналях. Работа программыВвод значений и вывод результата. Назначение переменных
Текст программы#include #include #include #include using namespace std; int main(){ int n=3; float matr[n][n], summ_glav=0, summ_pob=0; int t=0; //для обратной диагонали int r=n-1; srand(time(0)); setlocale(0,""); cout<<"Введите размер матрицы n: "; cin>>n; for (int i=0; i for (int j=0; j matr[i][j] = ( -10000 + rand() % 20001)/100.0; if ( i==j ) {summ_glav+=matr[i][j];} cout< } summ_pob+=matr[t][r]; t++; r--; cout< } cout< if ( summ_pob > summ_glav ) { cout<<"Сумма побочной диагонали ("< if ( summ_pob < summ_glav ) { cout<<"Сумма главной диагонали ("< if ( summ_pob == summ_glav ){cout<<"Суммы диагоналей равны!";} return 0; } Тестирование1) Введите размер матрицы n: 3 -7.58 -71.33 54.97 -65.81 -18.66 56.94 17.54 9.22 -31.31 Сумма побочной диагонали (53.85) БОЛЬШЕ чем сумма главной (-57.55) -------------------------------- Process exited after 1.675 seconds with return value 0 Для продолжения нажмите любую клавишу . . . 2) Введите размер матрицы n: 3 -6.4 65.95 -67.53 77.3 90.11 -40.17 27.31 -61.56 14.62 Сумма главной диагонали (98.33) БОЛЬШЕ чем сумма побочной (49.89) -------------------------------- Process exited after 1.051 seconds with return value 0 Для продолжения нажмите любую клавишу . . . 3) Введите размер матрицы n: 5 -5.78 -57.94 49.86 61.81 83.8 -77.12 -36.69 -90.05 2.69 46.96 64.25 -22.31 71.2 -46.99 9.85 0.84 -63.87 46.31 26.03 -33.89 -77.1 23.71 -71.7 8.34 -0.27 Сумма побочной диагонали (84.75) БОЛЬШЕ чем сумма главной (54.49) -------------------------------- Process exited after 6.791 seconds with return value 0 Для продолжения нажмите любую клавишу . . . |