void main() {
init_console();
int array_size = prompt_array_size();
int* array = create_array_of_int(array_size);
fill_array(array, array_size);
print_array(array, arrray_size);
sort(array, array_size);
print_array(array, array_size);
free(array);
}
#include <stdio.h>
#include <stdlib.h>
void init_console() {
printf("Здравствуйте. Похоже тут нормально работает юникод\n");
}
size_t prompt_array_size() {
printf("Введите размер массива для сортировки: ");
size_t value;
scanf("%u", &value);
if(value >= 0 && value <= 100)
return value;
printf("Некорректный размер массива. Будет использовано число '10'\n");
return 10;
}
void fill_array(int* array, size_t size) {
for(int i = 0; i < size; i++) {
array[i] = rand() % 100;
}
}
void bubble_sort(int* array, size_t size){
for(int i = 0; i < size; i++) {
int current = array[i];
//find number less than current
for(int j = i; j < size; j++) {
int next = array[j];
if(current > next) {
//swap
array[i] = next;
array[j] = current;
current = next;
}
}
}
}
void sort(int* array, size_t size) {
bubble_sort(array, size);
}
void print_array(int* array, size_t size) {
printf("%d", array[0]);
for(int i = 1; i < size; i++) {
printf(" ");
printf("%u", array[i]);
}
printf("\n");
}
void main() {
init_console();
size_t array_size = prompt_array_size();
int* array = (int*) malloc(array_size * sizeof(int));
fill_array(array, array_size);
print_array(array, array_size);
sort(array, array_size);
print_array(array, array_size);
free(array);
}
<code></code>