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

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

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

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

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

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

Кто может проверить моё условие с моим заданием на C++
Нужно проверить условие правильно ли записано в программе. Потому-что у меня считает все только по первой формуле в задание, и почему-то при вводе чисел например - a=1, b=0, c=2, xn=2, xk=4, dx=2. Получается кривой результат, и у меня вобще вылетает ошибка вот такая (файл прикрепил)
Вот моё условие (файл прикрепил)
Мой код программы
Код:
#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;
int 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-dx;
do
{
x+=dx;
if (x<a*c && b!=0) if (x!=0) F=a*pow(x,4)+b/pow(x,2);
else if (x>a*c && b==0) {if (pow(x,3)+c*x>0) F=c/(pow((pow(x,3)+c*x),1/2));
else {printf("\n resheniy net\n"); continue;}}

else {if (a!=0) F=c*pow(x,1/6)/a;
else {printf("\n resheniy net\n"); continue;}}

printf(" x=\n%f \t F=%f",x,F);
N++;
y=y+cos(F);
printf("\n y=%f\n",y);
}
while (x<xk);

y=(1/N)*y;
getch ();
return 0;
}
еще мне тут по поводу этой проблемы отписали
вот Цитирую:
Внутри цикла стр 32-46 есть 5 операторов if, т.е. шесть "ветвей", при этом F вычисляется в трех случаях , и досрочно прекращается выполнение очередной итерации по continue в двух случаях. Еще одна какая-то ветвь приводит к выполнению стр.41 и 43 без вычисления F. Структурируйте текст отступами, так с ним очень трудно работать. Логика по if-ам тоже с ошибками.

::::
Вобщем я уже умираю над этим кодом, сижу 3 день, кто мне сможет помочь спасёт мою жизнь ибо у меня уже нет сил. Буду весьма благодарен кто поможет. Спасибо
Изображения
Тип файла: png ошибка.png (12.2 Кб, 33 просмотров)
Тип файла: jpg задание моё.jpg (27.4 Кб, 111 просмотров)

Последний раз редактировалось asv1994; 28.10.2012 в 14:18.
asv1994 вне форума Ответить с цитированием
Старый 28.10.2012, 14:36   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Напиши float F=0,...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.10.2012, 14:39   #3
asv1994
Пользователь
 
Регистрация: 28.10.2012
Сообщений: 50
По умолчанию

поставил во float F=0
Теперь вот такие пероги
Изображения
Тип файла: jpg 123.jpg (23.2 Кб, 29 просмотров)
asv1994 вне форума Ответить с цитированием
Старый 28.10.2012, 14:52   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну че? Нормальные пироги
Прога отработала - результ выдала.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.10.2012, 14:59   #5
asv1994
Пользователь
 
Регистрация: 28.10.2012
Сообщений: 50
По умолчанию

а теперь если вручную посчитать, у нас не будет совпадать с программой
asv1994 вне форума Ответить с цитированием
Старый 28.10.2012, 15:03   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Допустим. Тогда запускай прогу под отладкой и пошагово проходись выявляя значения переменных на очередном шаге. Так увидишь в каком месте считается не так как надо
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.10.2012, 15:05   #7
asv1994
Пользователь
 
Регистрация: 28.10.2012
Сообщений: 50
По умолчанию

как это сделать я непонимаю
asv1994 вне форума Ответить с цитированием
Старый 28.10.2012, 15:23   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вместо F5 для запуска нажми F10. Начнется пошаговка. Студия будет на каждом шаге останавливаться, показывая значения переменных.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.10.2012, 17:55   #9
asv1994
Пользователь
 
Регистрация: 28.10.2012
Сообщений: 50
По умолчанию

Можешь мне сделать? Я ничего не пойму.
asv1994 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема Билдер выкидает непонятные ошибки MrHitori C++ Builder 4 02.08.2012 23:58
Непонятные ошибки monro86 Visual C++ 2 05.04.2012 00:44
Ошибки в программе dmitry_123 Общие вопросы Delphi 2 04.02.2012 22:57
непонятные ошибки rapuhabass Общие вопросы C/C++ 3 20.05.2010 06:30
ошибки в программе по С++ Игорь11071990 Помощь студентам 2 20.01.2010 14:22