Untitled

mail@pastecode.io avatar
unknown
c_cpp
2 months ago
1.7 kB
2
Indexable
Never
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <time.h>



// 2) отсортировать по возрастанию все элементы массива, находящиеся после первого нечётного элемента
// отработать ситуацию если нечётных элементов нет или первый нечётный элемент находится в конце массива
// -8 -6 4 -10 11 {-12 -17 26 13}
// -8 -6 4 -10 11 -17 -12 13 26

void Swap( int *a, int *b ) { // указатель на int
    int tmp = *a; // * - операция разыменования
    *a = *b;
    *b = tmp;
}


void BubbleSort( int *arr,  int size ) {
    int i, j;

    for( i = 0; i < size - 1; ++i )
        for( j = 0; j < size - i - 1; ++j )
            if( arr[ j ] < arr[ j + 1 ] )
                Swap( &arr[ j ], &arr[ j + 1 ] );
}
int main()
{
    srand(time(NULL));
    SetConsoleCP( 1251 );
    SetConsoleOutputCP( 1251 );
    int size;
    scanf("%d", &size);
    int* arr = ( int* )malloc(size * sizeof(int));

    if( arr == NULL ){ // проверяем успешность выделения памяти
        puts( "Ошибка выделения памяти" );
        return 1;

    }
    int i;
    for ( i = 0; i < size; ++i )
        arr[i] = rand() % 101 - 50;





    puts("");
    for (i = 0; i < size; ++i)
        printf("%d ", arr[i]);



    puts("");
    for (i = 0; i < size; ++i)
        printf("%d ", arr[i]);

     for (i = 0; i < size; ++i){
        if (arr[i] % 2 != 0)
        BubbleSort(arr, size);


    }

    free(arr);
    return 0;
}
Leave a Comment