На языке Си. 1) Написать программу, реализующие алгоритмы сортировки массивов чисел по возрастанию и по убыванию. Входными параметрами для функций должно быть число элементов в массиве и указатель на сам массив.

2) Разработать программу, содержащую функцию для решения суммы членов математического ряда( на скриншоте)


На языке Си. 1) Написать программу, реализующие алгоритмы сортировки массивов чисел по возрастанию и

alisher0901 alisher0901    2   17.02.2022 01:54    0

Ответы
mashuna1 mashuna1  17.02.2022 06:00

Відповідь:

#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;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика