Ход выполнения работы.
Лабораторная работа 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 Результат работы программы
Заключение.
Приобрёл практические навыки разработки подпрограмм и функций.
Не нашли, что искали? Воспользуйтесь поиском:
|