Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2013, 16:47   #1
Vitany
 
Регистрация: 05.12.2012
Сообщений: 7
По умолчанию Си. Структуры - некорректная работа.

Вот получился такой код. Выводов напихано, чтобы найти ошибку.

Код:
#include <stdio.h>
#include <stdlib.h>

struct point {
  float x;
  float y;
  float z;
} set[10];


int main()
{
  int first_point (int *k, struct point *set,  int M);
    int L;
  struct point set[30];
  printf("Enter L: ");
  scanf("%d", &L);
  int i; int* c; int k[L]; float s;
   // Ввод данных
  for (i=0;i<L;i++)
  {printf("Enter x: ");
  scanf("%f", &set[i].x);
  printf("Enter y: ");
  scanf("%f", &set[i].y);
  printf("Enter z: ");
  scanf("%f", &set[i].z);}

  printf("%f\n", set[1].x );

  for (i=0;i<3;i++)
    {
        k[i]=-1;
        printf("%i\n", k[i]); //тут заполняется массив-маска, он будет нужен для решения расширенной версии задачи
    }

  i=first_point(&set, &k, L);
  printf("%i\n", i );

    return 0;
    getchar();
}


int first_point (int *k, struct point *set,  int M) //функция ищет первую току выпуклого контура (самую крайнюю правую) 
{
    int l,i;
    float ax,ay;
    printf("%f\n", set[1].x );
    l=0;
    while(k[l]!=-1)
      l++;
    printf("%i\n", l );
    ax=set[l].x;
    ay=set[l].y;
    printf("%i\n", ax );
    for(i=l++;i<M;i++)
      if(k[l]=-1)
       if (ax<set[i].x)
        {
            ax=set[i].x;
            ay=set[i].y;
            l=i;
            printf("%i\n", ax );
        }
        else
          if (ay<set[i].y)
          {
            ax=set[i].x;
            ay=set[i].y;
            l=i;
          }
    printf("%i\n", ax );
    return l;
}
Вот получается вот так:

Некорректные данные оказываются в функции - то есть запись в структуру проходит нормально, а в функцию - нет. Буду благодарна, если мне подскажут, где ошибка.

Последний раз редактировалось Vitany; 20.01.2013 в 16:50.
Vitany вне форума Ответить с цитированием
Старый 20.01.2013, 18:25   #2
Vitany
 
Регистрация: 05.12.2012
Сообщений: 7
По умолчанию

Немного переделала, но функция все равно не пашет:

Код:
#include <stdio.h>
#include <stdlib.h>

struct point {
  double x;
  double y;
  double z;
} set[10];

int first_point (int *k, struct point *set,  int M)
{
    int l,i;
    double ax,ay;
    printf("%lf\n", set[1].x );
    l=0;
    while(k[l]!=-1)
      l++;
    printf("%i\n", l );
    ax=set[l].x;
    ay=set[l].y;
    printf("%lf\n", ax );
    for(i=l++;i<M;i++)
      if(k[l]=-1)
       if (ax<set[i].x)
        {
            ax=set[i].x;
            ay=set[i].y;
            l=i;
            printf("%lf\n", ax );
            printf("%\n\n");
            printf("%lf\n", ax );
            printf("%\n\n");
        }
        else
          if (ay<set[i].y)
          {
            ax=set[i].x;
            ay=set[i].y;
            l=i;
          }
    printf("%lf\n", ax );
    return l;
}



int main()
{
  int L;
  struct point set[30];
  printf("Enter L: ");
  scanf("%i", &L);
  int i; int* c; int k[L]; double s;
   // Ввод данных
  for (i=0;i<L;i++)
  {printf("Enter x: ");
  scanf("%lf", &set[i].x);
  printf("%lf\n", set[i].x );
  printf("Enter y: ");
  scanf("%lf", &set[i].y);
  printf("Enter z: ");
  scanf("%lf", &set[i].z);}

  printf("%lf\n", set[1].x );

  for (i=0;i<3;i++)
    {
        k[i]=-1;
        printf("%i\n", k[i]);
    }

  i=first_point(&set, &k, L);
  printf("%lf\n", i );

    return 0;
    getchar();
}
Vitany вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Некорректная работа сайта. t1umxo PHP 5 09.10.2012 13:17
Некорректная работа кода [C++] madmaniac Помощь студентам 1 10.03.2012 15:50
Некорректная работа программы... HyperZen Общие вопросы Delphi 2 03.07.2011 10:46
Некорректная работа WPF _-Re@l-_ WPF, UWP, WinRT, XAML 0 19.04.2011 16:05
Некорректная работа потока 3D Hunter Общие вопросы Delphi 7 09.03.2009 10:51