C программа для пузырьковой сортировки, использующая минимум 4 функции (вход, выход, вычисление, основной)
- Глобальные переменные не допускаются.
- Нет
printf
или scanf
в compute
.
- Нет
printf
или scanf
в main
- Ввод не должен вызывать
compute
.
compute
не следует звонить output
.
Я не совсем понял указатели и функции.
#include <stdio.h>
void input(int* size, int* arr[])
{
printf("Enter the size of the array: ");
scanf("%d",size);
printf("Enter the elements of the array\n");
for(int i = 0;i < *size; i++)
{
scanf("%d", arr[i]);
}
}
void swap(int *x,int *y)
{
int temp = *x;
*x = *y;
*y = temp;
}
void bubble_sort(int arr[100],int size)
{
for(int i = 0;i < size - 1;i++)
{
for(int j = 0;j < size - 1 - i;j++)
{
if(arr[j] > arr[j+1])
{
swap(&arr[j],&arr[j+1]);
}
}
}
}
void output(int size,int* arr)
{
printf("Sorted array\n");
for(int i = 0;i < size;i++)
{
printf("%d",arr[i]);
}
}
int main()
{
int* input_values[50];
int size;
input(&size, input_values);
bubble_sort(size,*input_values);
output(size, *input_values);
return 0;
}
Нет ошибок, но отображается ошибка сегментации. Как мне решить эту проблему?