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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2012, 22:52   #1
Tatyana64
Пользователь
 
Регистрация: 30.10.2012
Сообщений: 37
По умолчанию Visual С++ версия 6.0

Код программы

Код:
#include <iostream.h>
#include <math.h>

int main()
{ 
        double a,b,c,xn,xk,dx,f,i,n;

for (i=0;i<n;i++)


  cin>>xn>>xk>>dx>>a>>b>>c;

  for ( double x=xn; x<=xk; x+=dx) {

          if (c<0 && b!=0) f=(a*x*x)+(b*b*x);
          else
                  if (c>0 && b==0) f=(a+x)/(x+c);
                  else f = x/c;		  
if  ( (static_cast<int>(a)^static_cast<int>(b))&(!(static_cast<int>(a)|static_cast<int>(c)))==0 ) f = static_cast<int>(f);
  cout.precision(3);
  cout<<i<<" "<<f <<" " << x<<endl;
  };
        return 0;
}
Сама программа работает правильно, но вот незадача, не знаю как вывести нумерацию элементов массива в ответе
Tatyana64 вне форума Ответить с цитированием
Старый 02.11.2012, 00:04   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Эта программа точно работает правильно? )
Сначала она неопределенное количество раз (потому что n не инициализируется) читает значения в одни и те же переменные. Потом в цикле считает что-то, причем у меня стойкое подозрение, что тот, кто ее писал, не знал о том, что ^ в c++ обозначает совсем не возведение в степень.

А с нумерацией элементов тоже беда - вывести-то их легко, а вот массива в программе нет Можно разве что добавить еще одну числовую переменную, увеличивать ее каждый раз в цикле и выводить перед числом. Будет нумерация.
Son Of Pain вне форума Ответить с цитированием
Старый 02.11.2012, 00:14   #3
Tatyana64
Пользователь
 
Регистрация: 30.10.2012
Сообщений: 37
По умолчанию код программы

Беда в том, что дома компилятор с++ 2010 в университете с++ версии 6.
дома написала другой код на 2010 работал, в универе нет, что то поправили чтобы подогнать под ответ, но незадача сама не пойму как исправить теперь. Может быть подскажете где скачать версию 6.0
Tatyana64 вне форума Ответить с цитированием
Старый 02.11.2012, 00:33   #4
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Разница между кодом для 2010 и 6.0 у этой программы будет в первых двух строчках. Для 2010 в них должно быть написано
Код:
#include <iostream>
using namespace std;
, а для 6.0 -- просто
Код:
#include <iostream.h>
. Вот и вся "подгонка".
Son Of Pain вне форума Ответить с цитированием
Старый 02.11.2012, 00:44   #5
Tatyana64
Пользователь
 
Регистрация: 30.10.2012
Сообщений: 37
По умолчанию Спасибо

Тогда может подскажете как правильно записать условие

"Функция F должна принимать действительное значение, если выражение (Ац И Вц)ИЛИ (Ац И Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозначаются целые части значений a,b,c, операции И и ИЛИ -поразрядные "
Tatyana64 вне форума Ответить с цитированием
Старый 02.11.2012, 00:49   #6
Tatyana64
Пользователь
 
Регистрация: 30.10.2012
Сообщений: 37
По умолчанию Вариант

Возможно так?
Код:
if  ( (static_cast<int>(a)& static_cast<int>(b)) | ((static_cast<int>(a)& static_cast<int>(c)))==0 ) f = static_cast<int>(f)
Простите меня за ошибки на с++ только начала писать НИЧЕГО не ПОНИМАЮ
Tatyana64 вне форума Ответить с цитированием
Старый 02.11.2012, 09:23   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Неплохо. Скомпилироваться должно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.11.2012, 20:56   #8
Tatyana64
Пользователь
 
Регистрация: 30.10.2012
Сообщений: 37
По умолчанию вот такая ошибка

Описание ошибки
Ваша программа имеет неправильный синтаксис. Указанный компилятор не может создать выполняемой файл для вашей программы.

Сообщения компилятора
y5ca7d.cpp
C:\PROGRA~1\MICROS~1\VC98\INCLUDE\i stream(547) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify -GX
y5ca7d.cpp(11) : error C2065: 'setprecision' : undeclared identifier
Tatyana64 вне форума Ответить с цитированием
Старый 03.11.2012, 21:07   #9
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Цитата:
Сообщение от Tatyana64 Посмотреть сообщение
Описание ошибки
Ваша программа имеет неправильный синтаксис. Указанный компилятор не может создать выполняемой файл для вашей программы.

Сообщения компилятора
y5ca7d.cpp
C:\PROGRA~1\MICROS~1\VC98\INCLUDE\i stream(547) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify -GX
y5ca7d.cpp(11) : error C2065: 'setprecision' : undeclared identifier
вы используете индетификатор setprecision, но не объявлен как переменная.
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com

Последний раз редактировалось kventin_zhuk; 03.11.2012 в 21:08. Причина: Доработка
kventin_zhuk вне форума Ответить с цитированием
Старый 03.11.2012, 21:14   #10
Tatyana64
Пользователь
 
Регистрация: 30.10.2012
Сообщений: 37
По умолчанию Новый код

Я уже передела, но теперь ошибка представления данных
код сейчас вот такой

Код:
#include <math.h>
#include <iostream>
using namespace std;

int main ()
    {
     double a,b,c,Xstart,Xend,dX,f;
     double j=0; 
     setlocale( LC_ALL, "rus" );
     cout << "Введите значения Xнач. "<< endl;
     cin >> Xstart;
     cout << "Введите значения Xкон."<< endl;
     cin >> Xend;
     cout << "Введите значения dX"<< endl;
     cin >> dX;
	 cout << "Введите значения a"<< endl;
     cin >> a;
     cout << "Введите значения b "<< endl;
     cin >> b;
     cout << "Введите значения c "<< endl;
     cin >> c;
     
	 cout << "№     X                 F" << endl;
     for (double i=Xstart; i<=Xend; i+=dX )
         {
         j=j+1;
			 if (a>0 && c==0 && i==0) cout << i <<"               " << "не существует"<< endl;
         else {
                if ((a<0)&&(c!=0)) f=a*pow(i,2)+pow(b,2)*i;
                else if ((a>0)&&(c==0)) f=(i+a)/(i+c);
                else f=i/c;                
             }
		 if  ((static_cast<int>(a) & static_cast<int>(b)) | (static_cast<int>(a) & static_cast<int>(c))==0 ) f = static_cast<int>(f);
		cout << j << "     " << i << "               " << f << endl;
         };
    
     return 0;
    }
система выдает такую ошибку
Ваша программа вывела данные в неправильном формате. Например, отрицательное число вместо положительного, строку вместо числа и тому подобное
Tatyana64 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
компилятор с++ версия 6.0 Tatyana64 Помощь студентам 0 01.11.2012 22:46
Скажите какая версия Visual Studio C# взаимодействует со всеми технологиями ( WPF, WCF и т.д)??? Thugmaster Общие вопросы .NET 4 13.09.2010 11:35
Версия word-a Diego__ Microsoft Office Word 10 23.06.2010 16:34
MS Visual studio 2005 какая версия framework требуется Olaf Общие вопросы .NET 2 15.02.2010 10:58
Почему лицензионная версия продукта дороже чем пиратская версия продукта? multik Свободное общение 13 13.07.2008 14:40