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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2008, 20:59   #1
VDK23
 
Регистрация: 02.04.2008
Сообщений: 8
Стрелка помогите исправить ошибки в программе...

Пожалуйста исправьте мне программу на С++(я вообще в си не разбираюсь,там ошибку выдает) и объясните что делает эта програм!!!))) Пожалуйста.
И можете подсказать подойдет ли эта программа для Составления временного графика работ,для курсовой???

Цитата:
#include <stdio.h>
#include <stdlib.h>
typedef struct str1
{
float val;
struct str1 *n; } ND;
void main()
{
ND *arrange(void);
ND *p;
p=arrange();
while(p!=NULL)
{
printf("\n %f ",p->val);
p=p->n;
}
}

ND *arrange() /* д®а¬Ёа®ў *ЁҐ гЇ®а冷зҐ**®Ј® бЇЁбЄ */
{
ND *dl, *r, *p, *v;
float in=1;
char *is;
dl=malloc(sizeof(ND));
dl->val=0; /* ЇҐаўл© н«Ґ¬Ґ*в */
dl->n=r=malloc(sizeof(ND));
r->val=10000; r->n=NULL; /* Ї®б«Ґ¤*Ё© н«Ґ¬Ґ*в */
while(1)
{
scanf(" %s",is);
if(* is=='q') break;
in=atof(is);
r=malloc(sizeof(ND));
r->val=in;
p=dl;
v=p->n;
while(v->val);
}
r->n=v;
p->n=r;

return(dl);
}
VDK23 вне форума Ответить с цитированием
Старый 17.04.2008, 13:05   #2
jock777
 
Регистрация: 17.04.2008
Сообщений: 6
По умолчанию

Цитата:
Сообщение от VDK23 Посмотреть сообщение
Пожалуйста исправьте мне программу на С++(я вообще в си не разбираюсь,там ошибку выдает) и объясните что делает эта програм!!!))) Пожалуйста.
И можете подсказать подойдет ли эта программа для Составления временного графика работ,для курсовой???
Ошибка в след. месте:
while(1)
{
scanf(" %s",is);
if(* is=='q') break;
in=atof(is);
r=malloc(sizeof(ND));
r->val=in;
p=dl;
v=p->n;
while(v->val); <-- удалите эту строку - мертвый цикл...
}

А лучше функцию arrange выполнить след. образом:
ND *arrange()
{
ND *dl, *ptr;
char *is;
dl = ptr = malloc(sizeof(ND));
dl->n = NULL;
while(1)
{
scanf("%s",is);
if (*is=='q') break;
ptr->val = atof(is);
ptr->n=malloc(sizeof(ND));
ptr = ptr->n;
ptr->n = NULL;
}
return dl;
}

Последний раз редактировалось Stilet; 17.04.2008 в 13:44.
jock777 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибки в программе(visual c+++) JOFRIF Visual C++ 6 23.08.2008 16:20
помогите исправить ошибки kermit Помощь студентам 1 21.06.2008 10:44
Помогите исправить незначительные ошибки HAMMAN Помощь студентам 1 10.06.2008 19:07
Помогите исправить ошибки в программе Gambit90 Помощь студентам 1 20.12.2007 16:24
Помогите исправить ошибки ...С++ Настенька Помощь студентам 1 25.03.2007 23:30