Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- void swap(double * a, double * b){
- // Обменивает значениями два вещественных числа a и b
- // Входные параметры: указатель на вещественное число a и указатель на вещественное число b
- double temp = *a;
- *a = *b;
- *b = temp;
- }
- void bubble_sort(double * a, int N){
- // Сортирует массив a по не убыванию сортировкой пузырьком
- // Входные параметры: указатель на начало массива вещественных чисел a и количество элементов в нем N
- int i, j;
- for (i = 0; i < N-1; i++)
- for (j = i+1; j < N; j++)
- if (a[i] > a[j])
- swap(&a[i], &a[j]);
- }
- int compare(double * a, double * b, int N, int M){
- // Сравнивает два массива и возвращает:
- // -1, если все элементы первого массива меньше всех элементов второго массива
- // 1, если все элементы первого массива больше всех элементов второго массива
- // 0, иначе
- // Входные параметры:
- // указатель на массив a и количество элементов в нем N
- // указатель на массив b и количество элементов в нем M
- bubble_sort(a, N); // Сортируем первый массив
- bubble_sort(b, M); // Сортируем второй массив
- // Затем нам достаточно только сравнить конечные и начальные элементы этих массивов:
- if (a[N-1] < b[0]) // если конец первого больше начала второго, то -1
- return -1;
- else if (a[0] > b[M-1]) // если начало первого больше конца второго, то 1
- return 1;
- else // Иначе 0
- return 0;
- }
- void fill_mas(double * mas, int N, int a, int b){
- // Заполняет массив случайными числами, которые берутся из отрезка [a, b]
- int i;
- for(i = 0; i < N; i++)
- mas[i] = rand()%(b-a+1)+a;
- }
- void print_mas(double * a, int N){
- // Печатает весь массив на экран
- int i;
- for(i = 0; i < N; i++)
- printf("%f ", a[i]);
- printf("\n");
- }
- int main(){
- unsigned const int N = 5;
- unsigned const int M = 3;
- double a[N], b[M];
- fill_mas(a, N, -10, 0); // Заполняем массив a числами от -10 до 0
- fill_mas(b, M, 1, 10); // Заполняем массив b числами от 1 до 10
- print_mas(a, N); // Выводим массив a на экран
- print_mas(b, M); // Выводим массив b на экран
- int res = compare(a, b, N, M); // Сравниваем массив a и массив b
- printf("res = %d", res); // Выводим результат сравнения на экран
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement