На языке Си.
1) Написать программу, реализующие алгоритмы сортировки массивов чисел по возрастанию и по убыванию. Входными параметрами для функций должно быть число элементов в массиве и указатель на сам массив.
2) Разработать программу, содержащую функцию для решения суммы членов математического ряда( на скриншоте)
Answers & Comments
Відповідь:
#include <stdio.h>
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
void randarr(int *arr,int size){
for(int i = 0; i < size; i++){
arr[i] = rand() % 40 + 0;
}
}
void printarr(int *arr,int size){
for(int i = 0; i < size; i++){
printf("%d\t", arr[i]);
}
}
void sortminmax(int *arr,int size){
for(int i = 0; i < size - 1; ++i){
int small = i;
for (int j = i + 1; j < size; ++j){
if (arr[j] < arr[small]){
small = j;
}
}
swap(arr[i], arr[small]);
}
}
void sortmaxmin(int *arr,int size){
for(int i = 0; i < size - 1; ++i){
int big = i;
for (int j = i + 1; j < size; ++j){
if (arr[j] > arr[big]){
big = j;
}
}
swap(arr[i], arr[big]);
}
}
int main(){
srand(time(NULL));
setlocale(LC_ALL, "Rus");
int size;
printf("Введите размер массива: ");
scanf("%d" , &size);
int *arr = new int[size];
printf("Массив: ");
randarr(arr,size);
printarr(arr,size);
printf("\nСортируем массив по возрастанию от наименьшего до наибольшего...");
printf("\nРезультат: ");
sortminmax(arr,size);
printarr(arr,size);
printf("\nСортируем массив по убыванию от наибольшего до наименьшего...");
printf("\nРезультат: ");
sortmaxmin(arr,size);
printarr(arr,size);
delete[] arr;
return 0;
}