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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2012, 20:36   #1
spinogryz_ua
Форумчанин
 
Аватар для spinogryz_ua
 
Регистрация: 14.01.2012
Сообщений: 150
Смех Ошибка (С++)

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

float d,x,a,b,c,min,max;
int n;
void main()
{
	printf("Vvedite a, b, c\n");
	scanf("%lf%lf%lf",&a,&b,&c);
	x=a;
	min=1000;
	max=-1000;
	printf("    x       f(x)   n\n\n");
	do
	{
		if (x<1)
		{
			d=pow(tan(fabs(log(fabs(x+exp(x))))),2);
			n=1;
		}
		else
		if (x>2)
		{
			d=pow(log((x+1.2)/(exp(x)+1)),2)-pow(10,-3);
			n=3;
		}
		else
		{
			d=5*pow(sin(x),2)+cos(pow(x,3));
			n=2;
		}
		printf("%7.4lf%10.4lf%3.d\n",x,d,n);
		if (d>max)
			max=d;
		else
		if (d<min)
			min=d;
		x+=c;
	}
	while (x>=b);
	printf("max=%6.2lf    min=%6.2lf\n",max,min);
  
}
Зацыкливается а почему, понять не могу.
spinogryz_ua вне форума Ответить с цитированием
Старый 25.04.2012, 21:02   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,429
По умолчанию

Код:
while (x<=b);
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 25.04.2012, 21:07   #3
spinogryz_ua
Форумчанин
 
Аватар для spinogryz_ua
 
Регистрация: 14.01.2012
Сообщений: 150
По умолчанию

как раз так оно и зацыкливается.

а если х>=b то цикл выполняется только 1 раз.
spinogryz_ua вне форума Ответить с цитированием
Старый 25.04.2012, 21:17   #4
spinogryz_ua
Форумчанин
 
Аватар для spinogryz_ua
 
Регистрация: 14.01.2012
Сообщений: 150
По умолчанию

Все, с этим разобрался.
Сделал вместо:
Код:
scanf("%lf%lf%lf",&a,&b,&c);
так:
Код:
	scanf("%f %f %f",&a,&b,&c);
А как сделать эту же програму только с помощю repeat-until и if-then-goto???

Последний раз редактировалось spinogryz_ua; 25.04.2012 в 21:21.
spinogryz_ua вне форума Ответить с цитированием
Старый 25.04.2012, 21:25   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,429
По умолчанию

Код:
repeat
	{
	}
until (x>b);
////////////////
start:

if (x<=b)
   goto start;
И все же вы не правы. Должно быть x<=b, т.к. x возрастает.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 25.04.2012 в 21:27.
BDA на форуме Ответить с цитированием
Старый 25.04.2012, 21:28   #6
spinogryz_ua
Форумчанин
 
Аватар для spinogryz_ua
 
Регистрация: 14.01.2012
Сообщений: 150
По умолчанию

Огромное спасибо!
spinogryz_ua вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где ошибка в этом исходном коде на языке Си? Или ошибка в Excel? ArchiCurtis Помощь студентам 2 07.04.2012 14:16
Ошибка run-time Error 1004 общая ошибка ODBC kaval88 Microsoft Office Excel 0 27.02.2011 20:20
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58
Это ошибка Delphi или моя ошибка??? bloodeagle Общие вопросы Delphi 3 12.11.2009 15:26
...Ошибка 101 (net::ERR_CONNECTION_RESET): Неизвестная ошибка... infrared Помощь студентам 0 16.04.2009 17:44