Упорядочить по возрастанию расстояние от точек до прямой - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задание звучит так: Даны координаты нескольких точек на плоскости и уравнение прямой. Упорядочить по возрастанию (убыванию) расстояние от этих точек до прямой. Написал вот такую программу
#include <stdio.h>
#include <conio.h>
#include <alloc.h>
#include <math.h>
void sort(int m, float *a)
{int c,i;
float z;
do
{c=0;
    for(i=0,i<m-1;i++)       //выделяет в конце строчки и пишет "For statement missing ;" Но если я там ставлю ; пишет, что там быть не должно ;
    if(a[i]>a[i+1])
{z=a[i];
    a[i]=a[i+1];
    a[i+1]=z;
    c=1;
    }
}while(i);
}
main() // выделяет первую скобку: "do statement must have while"
    {int k,b,*x,*y,m,i:
    float *a;
    FILE *in;
in=foren("mas3a.dat","r");
clrscr();
Printf("Vvedite kolichestvo tochek:\n");
skanf("%d",&m);
a=(float*)malloc(m*sizeof(float));
x=(int*)malloc(m*sizeof(int));
y=(int*)malloc(m*sizeof(int));
printf("Vvedite kooficenti k;b:\n");
scanf("%d%d",&k,&b);
printf("Poluchaetsa priamaia y=%dx+%d\n",k,b);
printf("Koordinati tochek \n");
    for(i=0;i<m;i++)fscan(in,"%d;%d",&x[i],&y[i]);
    for(i=0;i<m;i++)printf("A%d(%d;%d)\n",i,x[i],y[i]);
    for(i=0;i<m;i++)a[i]=fabs(k*x[i]+y[i]+b) /sqr+(k*k+1);
    for(i=0;i<m;i++)printf("d%d=%1.1f",i,a[i]);
sort(m,a);
printf("\n");
printf("Otsortirovannie \n");
    for(i=0;i<m;i++)
printf("%8.1f",a[i]);
getch();
} //тут выделяет знак }: "Compound statement missing }"
Помогите пожалуйста исправить! Очень скоро сдать нужно. Я тут параллельно еще с 2 разбираюсь... Ну не выходит... Запускаю через NC в TURBO C.

Решение задачи: «Упорядочить по возрастанию расстояние от точек до прямой»

textual
Листинг программы
void sort(int m, float *a)
{int c,i;
float z;
do
{c=0;
 for(i=0,i<m-1;i++) //выделяет в конце строчки и пишет "For statement missing ;" Но если я там ставлю ; пишет, что там быть не должно ;
 if(a[i]>a[i+1])
{z=a[i];
 a[i]=a[i+1];
 a[i+1]=z;
 c=1;
 }
}while(i);// вот здесь должно быть while(c);
}

Оцени полезность:

12   голосов , оценка 4.417 из 5
Похожие ответы