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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2010, 13:50   #11
FelixXXI
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 48
По умолчанию

Нет, я имел ввиду вот что:
Код:
#include "stdafx.h"
#include <iostream>
using namespace std;
void main()
{
	float a = 1 / 2;
	cout << a;
}
FelixXXI вне форума Ответить с цитированием
Старый 29.07.2010, 15:41   #12
fort-_-minor
46KSS
Пользователь
 
Аватар для fort-_-minor
 
Регистрация: 26.07.2010
Сообщений: 58
По умолчанию

Код:
#include "stdafx.h"
#include <iostream>
using namespace std;
void main()
{
	float a = 1.0 / 2;
	cout <<  a;
	cin.get();
}


From Stilet:Неужели так сложно код оформить тегом по кнопке #

Последний раз редактировалось Stilet; 29.07.2010 в 15:53.
fort-_-minor вне форума Ответить с цитированием
Старый 29.07.2010, 16:35   #13
fort-_-minor
46KSS
Пользователь
 
Аватар для fort-_-minor
 
Регистрация: 26.07.2010
Сообщений: 58
По умолчанию

Ребята, не сочтите за наглость пожалуйста, тут такое дело возникает еще вопрос по этой же программе: Если пойти немного дальше и усложнить условие задачи, то как можно сделать так, чтобы (x) и (y) считались с разным шагом одновременно...
Вот мой код:
#include "stdafx.h"
#include <math.h>
#include <iostream>
#include <iomanip>
using namespace std;
void main()
{
float z,y,x,a(.75),b(1.19),c(-2.5);
for(x=0.;x<=2.;x=x+.1)
for(y=0.;y<=2.;y=y+.2)
{
if (x<.5)
{
z=a*x+b*cos(y);
cout<<"x="<<fixed<<setprecision(4)< <x<<" y="<<y<<" z="<<z<<endl;
}
else if(x>=.5 && x<1)
{
z=b*pow(x,2)+c*sin(2*y);
cout<<"x="<<x<<" y="<<y<<" z="<<z<< endl;
}
else
cout<<"x="<<x<<" Ne podhodit intervalu"<<endl;
}
cin.get();
}

оно то вроде бы так и происходит, но подозрение что работает неправильно.

Последний раз редактировалось fort-_-minor; 29.07.2010 в 18:44. Причина: сообщение From Stilet.. ничего трудного нету) просто я пока неопытный user со временем разберусь)
fort-_-minor вне форума Ответить с цитированием
Старый 29.07.2010, 23:10   #14
arcer
Пользователь
 
Регистрация: 26.01.2010
Сообщений: 42
По умолчанию

Цитата:
Сообщение от FelixXXI Посмотреть сообщение
for(x=0.;x<=2.;x=x+.1)
Э, товарисч, не рукайтесь так, а на что святая операция x+=0.1
arcer вне форума Ответить с цитированием
Старый 29.07.2010, 23:15   #15
arcer
Пользователь
 
Регистрация: 26.01.2010
Сообщений: 42
По умолчанию

Цитата:
Сообщение от fort-_-minor Посмотреть сообщение
Ребята, не сочтите за наглость пожалуйста, тут такое дело возникает еще вопрос по этой же программе: Если пойти немного дальше и усложнить условие задачи, то как можно сделать так, чтобы (x) и (y) считались с разным шагом одновременно...
Вот мой код:
#include "stdafx.h"
#include <math.h>
#include <iostream>
#include <iomanip>
using namespace std;
void main()
{
float z,y,x,a(.75),b(1.19),c(-2.5);
for(x=0.;x<=2.;x=x+.1)
for(y=0.;y<=2.;y=y+.2)
{
if (x<.5)
{
z=a*x+b*cos(y);
cout<<"x="<<fixed<<setprecision(4)< <x<<" y="<<y<<" z="<<z<<endl;
}
else if(x>=.5 && x<1)
{
z=b*pow(x,2)+c*sin(2*y);
cout<<"x="<<x<<" y="<<y<<" z="<<z<< endl;
}
else
cout<<"x="<<x<<" Ne podhodit intervalu"<<endl;
}
cin.get();
}

оно то вроде бы так и происходит, но подозрение что работает неправильно.
Но это ведь совсем не то условия, это какая-то другая задача.
arcer вне форума Ответить с цитированием
Старый 29.07.2010, 23:23   #16
arcer
Пользователь
 
Регистрация: 26.01.2010
Сообщений: 42
По умолчанию

Цитата:
Сообщение от fort-_-minor Посмотреть сообщение
Доброго времени суток, уважаемые форумчане. Собственно решил заняться программирование ну и где то дня 3-4 подряд вроде бы как дело успешно продвигается вперед. Вот задачка с которой не помогает справиться не google не учебники, к сожалению на форуме тоже похожего не нашел.
Задание на рисунке и скрин работы программы тоже...
Вот мой код:

Код:
#include <stdafx.h>
#include <math.h>
#include <iostream>
using namespace std;
void main()
{
	double  y, x(0), a(0.75), b(1.19), c(-2.5);
	for( ; x<=2; )
	{	
		if (x<0.5)
		y=a*x+b*cos(x);
		else y=b*pow(x,2)+c*sin(2*x);
		cout <<"x="<<x<<"\t y="<<y<<endl;
		x+=0.1;
	}
	cin.get();
}
Программа вроде бы как работает, но есть подозрение что работает неправильно. Вообщем натолкните на идею пожалуйста какой цикл должен быть главным, а какой вложенный (или как правильно).(Имею в виду интервалы для значения x, y). Заранее спасибо.
Код, правильный, не считая то, что x = [0..2], а определена на [0..1]. Но красивее писать так:
Код:
#include <stdio.h>
#include <conio.h>
#include <math.h>

void main(){for(double x=0,a=0.75,b=1.19,c=-2.5;x<=1;printf("x=%f\ty=%f\n",x,((x<0.5)?(a*x+b*cos(x)):(b*pow(x,2)+c*sin(2*x))) ), x+=0.1);}
arcer вне форума Ответить с цитированием
Старый 30.07.2010, 11:58   #17
fort-_-minor
46KSS
Пользователь
 
Аватар для fort-_-minor
 
Регистрация: 26.07.2010
Сообщений: 58
По умолчанию

Задание прикрепил, просто подумал вдруг кто разобрался с условием 1 задачи поймет идею этой (усложненной). На счет (printf) спасибо большое за совет, думаю со временем разберусь) Теперь по поводу задания - вот мой код:
Код:
#include <stdafx.h>
#include <math.h>
#include <iostream>
#include <iomanip>
using namespace std;
void main()
{	int a(1.), b(2.);
	float x, y, z;
	for( x=1; x<=2; x=x+.1)
	for ( y=1; x<=2; y=y+.2)
	{
		if (x+y<=1)
		{
			z=pow(a,x)+pow(b,x);
			cout<<"x="<<fixed<<setprecision(4)<<x<<"  y="<<y<<"  z="<<z<<endl;
		}
		else (x+y>1)
		{
			z=a*pow(x,2)+log(b*x*y);
			cout<<"x="<<x<<"  y="<<y<<"  z="<<z<<endl;
		}
	}
	cin.get();
}
Он, как видите считать будет долго, в программе что то не так...
Просто не могу понять что она должна вывести на экран (вот собственно вопрос: Натолкните на идею пожалуйста или скажите что не так в коде), мб сам бы разобрался уже
Изображения
Тип файла: jpg задание усложненное с++.jpg (12.9 Кб, 155 просмотров)

Последний раз редактировалось fort-_-minor; 30.07.2010 в 12:14.
fort-_-minor вне форума Ответить с цитированием
Старый 30.07.2010, 12:50   #18
FelixXXI
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 48
По умолчанию

Цитата:
просто подумал вдруг кто разобрался с условием 1 задачи поймет идею этой (усложненной).
Это ж какую светлую голову надо иметь, чтоб по тому заданию понять это задание!!!

Да и это задание как минимум странное: первое условие не будет выполняться никогда, т.к. Х лежит в диапазоне от 1 до 2, и У тоже в этом же диапазоне. А значит x+y=как минимум 2.

Код:
for ( y=1; x<=2; y=y+.2)
то Х , то У ?!
Код:
 else (x+y>1)
что Это и зачем?
Код:
int a(1.), b(2.);
В целых числах точки не нужны
Код:
x=x+.1
Прочитай выше совет. который дал arcer
Код:
<<fixed<<setprecision(4)
из-за того, что первое условие не будет выполняться никогда, то этот код в данном месте бесполезен. Рекомендую отдельно его написать для значений Х и У, и отдельно для Z

Последний раз редактировалось FelixXXI; 30.07.2010 в 13:14.
FelixXXI вне форума Ответить с цитированием
Старый 30.07.2010, 13:59   #19
fort-_-minor
46KSS
Пользователь
 
Аватар для fort-_-minor
 
Регистрация: 26.07.2010
Сообщений: 58
По умолчанию

Цитата:
Сообщение от FelixXXI Посмотреть сообщение
Это ж какую светлую голову надо иметь, чтоб по тому заданию понять это задание!!!

Да и это задание как минимум странное: первое условие не будет выполняться никогда, т.к. Х лежит в диапазоне от 1 до 2, и У тоже в этом же диапазоне. А значит x+y=как минимум 2.

Код:
for ( y=1; x<=2; y=y+.2)
то Х , то У ?!
Код:
 else (x+y>1)
что Это и зачем?
Код:
int a(1.), b(2.);
В целых числах точки не нужны
Код:
x=x+.1
Прочитай выше совет. который дал arcer
Код:
<<fixed<<setprecision(4)
из-за того, что первое условие не будет выполняться никогда, то этот код в данном месте бесполезен. Рекомендую отдельно его написать для значений Х и У, и отдельно для Z
Правы на счет всего...
Дело в том, что на протяжение 1 курса учебы в одном из самых престижных технических ВУЗов Украины моя беда, что я ничего не делал по программированию (причем преподаватели и лектор и по пз +лабам были то очень хорошие), щас вот понял что это моя основная специальность и сел заниматься. Но задания, к которым я пытаюсь писать программы - это все лабораторные на протяжение 2 семестров, а методичку с указаниями по всей видимости набирали люди далекие от с++. Поэтому есть такие вот досадные ошибки Тогда , Феликс, если не трудно, скажите пожалуйста как будет выглядить программа просто с 2 интервалами для (x) и для (y) вот что вызывает у меня затруднение
fort-_-minor вне форума Ответить с цитированием
Старый 31.07.2010, 01:15   #20
fort-_-minor
46KSS
Пользователь
 
Аватар для fort-_-minor
 
Регистрация: 26.07.2010
Сообщений: 58
По умолчанию

Cпасибо, вроде потолковал и решил что с 2 интервалами код работает правильно. Вот если кому интересно:
Код:
#include <stdafx.h>
#include <cmath>
#include <iostream>
#include <iomanip>
using namespace std;
void main()
{
	int a(1), b(2);
	float x, y, z;
	for (x=0; x<=1; x+=.1)
	for (y=0; y<=1; y+=.2)
	{
		if (x+y<=1)
		{
			z=pow(a,x)+pow(b,y);
			cout <<"x="<<fixed<<setprecision(2)<<x<<"   y="<<y<<"   z="<<z<<endl;
		}
		else 
		{
			z=a*pow(x,2)+log(b*x*y);
			cout <<"x="<<x<<"   y="<<y<<"   z="<<z<<endl;
		}
	}
	cin.get();
}
fort-_-minor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ЗАДАЧКА В СИ sfinks_murka Общие вопросы C/C++ 1 27.09.2009 18:54
Задачка Claster Помощь студентам 2 24.09.2008 17:53
Задачка kupulau Общие вопросы C/C++ 7 27.01.2008 18:32