Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых лежит в интервале [а,b] - C (СИ)
Формулировка задачи:
в одномерном массиве, состоящем из п вещественных элементов, вычислить:
Преобразовать массив таким образом, чтобы сначала располагались все элемен-ты, целая часть которых лежит в интервале [а,Ь], а потом — все остальные.
Вот начало:
... заранее спасибо))
#include <stdio.h> #include<stdlib.h> int main() { const int n=10; int a[n]={2,4,7,-5,9,3,1,5,6,1}; int b[n]; int m=1,l=7,k,i; k=0; for (i=0; i<n; i++) if (a[i]>=m && a[i]<=l) {b[k]=a[i];k++;} for(i=0;i<n; i++) if( a[i]<m || a[i]>l) {b[k]=a[i];k++;} for(i=0;i<n;i++) printf("%i ",b[i]); system("pause"); return 0; }
Решение задачи: «Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых лежит в интервале [а,b]»
textual
Листинг программы
#include <stdlib.h> #define N 10 void presort(int* pn, int n, int a, int b); void swap(int& n1, int& n2); int main() { int* A = new int[N]; for (int q = 0; q < N; q++) { A[q] = rand() % 9 + 1; printf("%d ",A[q]); } printf("\n\n"); int a = 0, b = 0; printf("a = "); scanf("%d",&a); printf("b = "); scanf("%d",&b); printf("\n"); presort(A,N,a,b); for (int z = 0; z < N; z++) printf("%d ",A[z]); printf("\n"); } void presort(int* pn, int n, int a, int b) { for (int k = 0; k < N; k++) for (int i = k+1; i < N; i++) if (pn[i] >= a && pn[i] <= b) swap(pn[k],pn[i]); } void swap(int& n1, int& n2) { int _t = n1; n1 = n2; n2 = _t; }
Объяснение кода листинга программы
В этом коде реализована сортировка массива методом разделяй и властвуй
. Он сортирует массив по заданному диапазону. Вот список действий:
- Сначала программа генерирует случайные значения для каждого элемента массива.
- Затем она выводит этот массив.
- После этого пользователю предлагается ввести два числа, которые определяют диапазон для сортировки.
- Когда пользователь вводит эти числа, программа вызывает функцию
presort
, которая сортирует массив по этому диапазону. - После сортировки программа выводит отсортированный массив.
Код также включает функцию
swap
, которая меняет местами два элемента массива, и прототип функцииpresort
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д