Предмет: Информатика, автор: thenp

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

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

Приложения:

nazikmuz: Делаю
nazikmuz: Ждите
nazikmuz: Первую задачу сделал
nazikmuz: Меня напрягает x во второй задаче

Ответы

Автор ответа: nazikmuz
1

Відповідь:

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

}


nazikmuz: Во второй не очень понимаю что с x делать,если его просто ввести надо то без проблем
thenp: Спасибо большое за первую! А со второй я уже сам разобрался.
Похожие вопросы