Сортировать массив модифицированным пузырьком с помощью функции, заранее не зная количество элементов - C (СИ)
Формулировка задачи:
Нужно сортировать массив модифицированным пузырьком с помощью функции, заранее не зная количество элементов.
Плохо дружу с указателями и думаю, что ошибка связана с ними.
#include <stdio.h> #include <malloc.h> void sort(double*,int); int main() { double *M; int i; int n; printf("input n\n"); scanf("%d", &n); if((M=(double*)malloc(n*sizeof(double)))==NULL) { return 111; } for(i=0;i<n;i++) { printf("m[%d} = ", i); scanf("%lf", *M); } sort(&M,n); for(i=0;i<n;i++) { printf("%.2lf ", M[i]); } free(M); } void sort(double *m, int n) { int flag; int i; double tmp; do { flag=0; for(i=0;i<n-1;i++) { if(m[i]>m[i+1]) { flag=1; tmp=m[i]; m[i]=m[i+1]; m[i+1]=tmp; } } } while(flag); return; }
Решение задачи: «Сортировать массив модифицированным пузырьком с помощью функции, заранее не зная количество элементов»
textual
Листинг программы
for(i=0;i<n;i++) { printf("m[%d} = ", i); scanf("%lf", M+i); } sort(M,n);
Объяснение кода листинга программы
- Ввод данных в массив M с помощью функции scanf. Значения массива вводятся с клавиатуры.
- Вывод значений массива M на экран с помощью функции printf.
- Вызов функции sort с аргументами M и n.
- В функции sort происходит сортировка массива M по возрастанию.
- Результат сортировки выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д