Untitled
unknown
c_cpp
2 years ago
1.7 kB
7
Indexable
#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;
}
Editor is loading...
Leave a Comment