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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2012, 19:04   #1
asv1994
Пользователь
 
Регистрация: 28.10.2012
Сообщений: 50
По умолчанию Проверить код программы на C++ по условию задания.

Всем привет. Нужно проверить код программы на C++ по условию задания. Знающие люди помогите пожалуйста, буду весьма благодарен. Код работает вполне нормально, по результатам ручного просчета всё совпадает с программой. НО - одногруппники говорят что код у меня неправильный, прошу знающих помочь отредактировать код или же отформатировать или же что-то добавить, что я упустил. Сил уже нет, голова не варит. Надеюсь есть добрые люди на этом форуме которые спасут меня.
Цикл у меня do while!
1351522712-clip-82kb.jpg

1351522746-clip-27kb.jpg

1351522826-clip-14kb.png
Код:
//do while
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <math.h>
int main ()
{ 
     	 float F,a,b,c,xn,xk,dx,x,buf,y=0,N=0;
      	printf("Vvedite cherez ENTER znacheniya a,b,c\n");
      	scanf("%f",&a);
		scanf("%f",&b);
		scanf("%f",&c);
do
{
printf("Vvedite cherez ENTER znacheniya xn,xk,dx\n");
scanf("%f",&xn);
scanf("%f",&xk);
scanf("%f",&dx);

if (xn>xk && dx<0) { 
buf=xn; 
     	xn=xk; 
                    		     	xk=buf; 
                   	dx=-dx; 
                                                 }

else if (xn<xk && dx>0) break;
else {printf("Vvedite drugie znacheniya xn,xk,dx\n"); continue;}
}
while (!(xn<xk && dx>0));
x=xn;
do
{
if (x<a*c && b!=0) {if (x!=0) F=a*pow(x,4)+b/pow(x,2);
else {printf("\n resheniy net\n");x+=dx; continue;}}
else if (x>a*c && b==0) {if (powf(x,3.)+c*x>0) F=c/(powf((powf(x,3.)+c*x),1./2.)); 
else {printf("\n resheniy net\n");x+=dx; continue;}
}
else {if (a!=0) F=c*powf(x,1./6.)/a;
else {printf("\n resheniy net\n");x+=dx; continue;}}
printf("\n%f \t %f",x,F);
N++;
y=y+cos(F);
x+=dx;
}
while (x<=xk);
y=(1/N)*y;
printf("\n y=%f\n",y);
getch ();
return 0;
}
asv1994 вне форума Ответить с цитированием
Старый 29.10.2012, 19:37   #2
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

Код:
do
{
if (x<a*c && b!=0) {if (x!=0) F=a*pow(x,4)+b/pow(x,2);
else {printf("\n resheniy net\n");x+=dx; continue;}}
else if (x>a*c && b==0) {if (powf(x,3.)+c*x>0) F=c/(powf((powf(x,3.)+c*x),1./2.)); 
else {printf("\n resheniy net\n");x+=dx; continue;}
}
else {if (a!=0) F=c*powf(x,1./6.)/a;
else {printf("\n resheniy net\n");x+=dx; continue;}}
printf("\n%f \t %f",x,F);
N++;
y=y+cos(F);
x+=dx;
}
while (x<=xk);
- тут явно что-то не то. Отформатируй код, читать невозможно.
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Старый 29.10.2012, 20:05   #3
asv1994
Пользователь
 
Регистрация: 28.10.2012
Сообщений: 50
По умолчанию

Я отформатировал, теперь прошу вас проверить по условию,
и если что исправить.Умоляю.
Код:
//do while
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <math.h>
int main ()
{ 
     	      float F,a,b,c,xn,xk,dx,x,buf,y=0,N=0;
      	      printf("Vvedite cherez ENTER znacheniya a,b,c\n");
      	      scanf("%f",&a);
		scanf("%f",&b);
		scanf("%f",&c);
		do
		{
		printf("Vvedite cherez ENTER znacheniya xn,xk,dx\n");
		scanf("%f",&xn);
		scanf("%f",&xk);
		scanf("%f",&dx);

		if (xn>xk && dx<0) { buf=xn; xn=xk; xk=buf; dx=-dx; }
		else if (xn<xk && dx>0) break;
		else {
			printf("Vvedite drugie znacheniya xn,xk,dx\n"); 
			continue;
			}
		}
		while (!(xn<xk && dx>0));
		x=xn;
		do
		{
			if (x<a*c && b!=0) {if (x!=0) F=a*pow(x,4)+b/pow(x,2);
		else {printf("\n resheniy net\n");x+=dx; continue;}}
			else if (x>a*c && b==0) {if (powf(x,3.)+c*x>0) F=c/(powf((powf(x,3.)+c*x),1./2.)); 
		else {printf("\n resheniy net\n");x+=dx; continue;}
		}
			else {if (a!=0) F=c*powf(x,1./6.)/a;
		else {printf("\n resheniy net\n");x+=dx; continue;}}
		printf("\n%f \t %f",x,F);
		N++;
		y=y+cos(F);
			x+=dx;
		}
		while (x<=xk);
		y=(1/N)*y;
		printf("\n y=%f\n",y);
		getch ();
		return 0;
		}

Последний раз редактировалось asv1994; 29.10.2012 в 20:09.
asv1994 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверить код delfin07 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 21.02.2012 13:58
Не могу составить Код для программы по условию задачи Александр_007 Помощь студентам 1 25.10.2011 11:38
Забыла код для вывода задания на экран Renge Помощь студентам 2 12.05.2011 20:27
Создать программу, позволяющую разместить согласно условию задания дома в районе. sergeibel Помощь студентам 0 03.04.2010 23:08
Прошу проверить код программы Pashtet Паскаль, Turbo Pascal, PascalABC.NET 1 19.11.2008 11:50