ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Ход выполнения работы.Лабораторная работа 1 Тема: Подпрограммы и функции Цель: приобрести практические навыки разработки подпрограмм и функций. Ход выполнения работы. Условия задачи. 1) Разработать подпрограмму для заполнения с-подобного массива случайными числами; 2) Разработать подпрограмму для заполнения с-подобного массива нулями; 3) Разработать алгоритм подсчёта кол-ва вхождения числа X в массив; 4) Разработать алгоритм расчёта суммы элементов массива; 5) Разработать алгоритм вывода элементов массива на экран; 6) Разработать алгоритм сортировки массива по убыванию; 7) Разработать алгоритм сортировки массива по возрастанию. Листинг #include <iostream> #include <random> #include <ctime>
void arrayRand(int* a, int len, std::mt19937& r){ std::uniform_int_distribution<> uid(-1000,1000); for (int i = 0; i < len; i++){ a[i] = uid(r); } }
void arrayNull(int* a, int len){ for (int i = 0; i < len; i++){ a[i] = 0; } }
int arrayCount(int* a, int len, int x){ int res = 0; for (int i = 0; i < len; i++){ if (a[i]==x){ res++; } } return res; }
int arraySum(int* a, int len) { int sum = 0; for (int i = 0; i < len; i++){ sum += a[i]; } return sum; }
void arrayPrint(int* a, int len){ for (int i = 0; i < len; i++){ std::cout << a[i] << " "; } }
int maxIndex(int* a, int len){ int index = 0; int max = a[0]; for (int i = 0; i < len; i++){ if (max < a[i]){ max = a[i]; index = i; } } return index; }
void arraySortMax(int* a, int len){ for (int i = 0; i < len; i++) { int index = maxIndex(a + i, len - i) + i; int temp = a[i]; a[i] = a[index]; a[index] = temp; } }
int minIndex(int* a, int len){ int index = 0; int min = a[0]; for (int i = 0; i < len; i++){ if (min > a[i]){ min = a[i]; index = i; } } return index; }
void arraySortMin(int* a, int len){ for (int i = 0; i < len; i++) { int index = minIndex(a + i, len - i) + i; int temp = a[i]; a[i] = a[index]; a[index] = temp; } }
int main(){ const int len = 10; int a[len]; std::mt19937 r(time(0)); arrayNull(a, len); std::cout << "arrayNull: " << std::endl; arrayPrint(a, len); std::cout << std::endl << std::endl; arrayRand(a, len, r); std::cout << "arrayRand: " << std::endl; arrayPrint(a, len); std::cout << std::endl << std::endl; std::cout << "arrayCount: " << std::endl << arrayCount(a, len, 2); std::cout << std::endl << std::endl; std::cout << "arraySum: " << std::endl << arraySum(a, len); std::cout << std::endl << std::endl; arraySortMax(a, len); std::cout << "arraySortMax: " << std::endl; arrayPrint(a, len); std::cout << std::endl << std::endl; arraySortMin(a, len); std::cout << "arraySortMin: " << std::endl; arrayPrint(a, len);
return 0; }
Скриншот
Рис. 1 Результат работы программы Заключение. Приобрёл практические навыки разработки подпрограмм и функций.
Не нашли, что искали? Воспользуйтесь поиском:
|