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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2014, 22:22   #1
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию Что с динамической памятью?

Прерывается работа программы, еще не научилась нормально выделять ДП. Есть структура и для ее элементов нужно выделить ДП. Выводит сообщение про стек.
Код:


typedef struct koordynaty
{
    double x,y;
}kd;
double *mas;
int main (void)
{
    setlocale(LC_ALL,"Russian");
    int i,k=0,l,v;
    double *xx,*yy;
    double min,max;
 
    puts("Введите кол-во точек:");
    scanf("%i",&l);
    /*mas=(mas*)calloc(l*2,sizeof(double));
    
    if(!mas)
        return NULL;*/
 
    kd mas[K];
    int size=8;
    for(i=0;i<l;i++)
        {
            puts("\nВведите координаты (x,y)");
            scanf("%lf %lf",&mas[i].x,&mas[i].y);   
        xx=(double*)malloc(size);
            if(!xx)
                return NULL;
            yy=(double*)malloc(size);
            if(!yy)
                return NULL;
    
    
        }
Вероника99 вне форума Ответить с цитированием
Старый 18.01.2014, 23:35   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Я не до конца понимаю предназначение некоторых переменных в вашем коде... но может что-нибудь подсказать и смогу..
Вы создаете структуру координаты
Код:
struct koordynaty
{
    double x, y;
};
координаты точек вы храните в массиве, так..
Код:
typedef struct koordynaty kd;

....
kd *arr = NULL;

arr = (kd*)malloc(N * sizeof(kd)); // массив структур из N элементов
....

free(arr); // освобождение памяти
Далее вводите координаты...

Код:
puts("\nВведите координаты (x,y)");
for(i = 0; i < N; i++)
        {
            scanf("%lf %lf",&arr[i].x,&arr[i].y);   
         }
Возможны опечатки....
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с динамической памятью в си Hacker))) Общие вопросы C/C++ 0 16.06.2012 22:35
Паскаль. Работа с динамической памятью. McFrey Помощь студентам 1 06.04.2012 16:56
Списки (Си). Проблема с динамической памятью. hak555 Помощь студентам 0 18.12.2011 21:20
ошибка в работе с динамической памятью thrashkid Общие вопросы C/C++ 8 30.06.2011 00:48
Помогите пожалуйста с динамической памятью и указателями Riddick2013 Помощь студентам 1 19.12.2007 14:41