Так, у меня проблема код компилится и хорошо все работает в Dev C++ 4.9.9.2, но не компилется в visual c++ 6.0, просто вылетает в определенный момент.
Почему так может быть? Как сделать чтобы в visual c++ 6.0 тоже компилилось? #include <stdio.h>
#include <stdlib.h>
#include <math.h>
main()
{
int n1, n2, i, j, k, t, p, m;
float dist, dist1;
printf("Vvedite kolichestvo fiksirovannih tochek\n");
scanf("%i",&n1);
float **mas1;
mas1 = new float *[n1];
for (m = 0; m < k; m++)
mas1[m] = new float [2];
// float mas1[n1][2];
printf ("\n");
printf("Vvedite kolichestvo dopolnitelnih tochek\n");
scanf("%i",&n2);
float **mas2;
mas2 = new float *[n2];
for (t = 0; t < k; t++)
mas2[t] = new float [2];
//float mas2[n2][2];
printf ("\n");
for (i=0; i<n1; ++i)
{
printf("Vvedite koordinati %i", i+1);
printf(" fiksirovannoy tochki\n");
scanf("%f%f", &mas1[i][0], &mas1[i][1]);
}
printf ("\n");
for (i=0; i<n2; ++i)
{
printf("Vvedite koordinati %i", i+1);
printf(" dopolnitelnoy tochki\n");
scanf("%f%f", &mas2[i][0], &mas2[i][1]);
}
float **res;
res = new float *[n1];
for (p = 0; p < k; p++)
res[p] = new float [2];
//float res[n1][2];
for (i=0; i<n1; i++)
{
dist1=sqrt(((mas1[i][0])-(mas2[0][0]))*((mas1[i][0])-(mas2[0][0]))+((mas1[i][1])-(mas2[0][1]))*((mas1[i][1])-(mas2[0][1])));
for (j=0; j<n2; j++)
{
dist=sqrt(((mas1[i][0])-(mas2[j][0]))*((mas1[i][0])-(mas2[j][0]))+((mas1[i][1])-(mas2[j][1]))*((mas1[i][1])-(mas2[j][1])));
if (dist<=dist1)
{
res[i][0]=dist;
res[i][1]=j;
dist1=dist;
}
}
}
for (i=0; i<n1; ++i)
{
k=res[i][1];
printf ("\n");
printf ("Blijayshaya k A%i",i+1);
printf (" tochka B%i",k+1);
printf (" s koordinatami (%3.3f",mas2[k][0]);
printf (",%3.3f",mas2[k][1]);
printf (") rasstojanie = %3.3f\n", res[i][0]);
printf ("\n");
}
system("PAUSE");
return 0;
}
Добавлено (28.05.2009, 17:09)
---------------------------------------------
Все! разобралась!