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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2014, 19:47   #1
buka678
Новичок
Джуниор
 
Регистрация: 21.10.2014
Сообщений: 2
По умолчанию Нужно дописать программу

Есть программа, которая строит график по функции указанной в коде. Нужно чтобы при выводе на экран функции на каких координатах она бы не была (например 20, 30 или 40 по оси OY), при запуске программы она всегда располагалась по центру (учитывая минимум и максимум функции).
Помогите пожалуйста...

Скриншот программы приложен.

Вот код программы из 4-х частей:
1.
Код:
const int H = 4;
const int M = 3;
const int a1 = 100;
const int a2 = 100;
const int b1 = 100;
const int b2 = 100;
int K = 9;
int L = 11;

float Vx = 20;
float Vy = 20;
float Vcx = -10;
float Vcy = 10;
float _Vx = 20;
float _Vy = 20;
float _Vcx = -10, _Vcy = 10, __Vx, __Vy;
float Wx, Wy, Wcy, Wcx;

bool visible1 = false;
bool visible2 = false;
bool СlippingLines(float &x1, float &y1, float &x2, float &y2, float xmin, float ymin, float xmax, float ymax);
float f(float x);
bool fexists(float x);

2.
Код:
#pragma once
#include "stdafx.h"
#include <math.h>

bool СlippingLines(float &x1, float &y1, float &x2, float &y2, float x_min, float y_min, float x_max, float y_max)
{
	int C1, C2;
	while (true)
	{
		C1 = 0;
		if (x1 < x_min) {
			C1++;
		}
		if (x1 > x_max) {
			C1 += 2;
		}
		if (y1 < y_min) {
			C1 += 4;
		}
		if (y1 > y_max) {
			C1 += 8;
		}
		
		C2 = 0;
		if (x2 < x_min) {
			C2++;
		}
		if (x2 > x_max) {
			C2 += 2;
		}
		if (y2 < y_min) {
			C2 += 4;
		}
		if (y2 > y_max) {
			C2 += 8;
		}

		if ((C1&C2) != 0) {
			return false;
		}


		if (C1 == C2 && C1 == 0)
		{
			return true;
		}

		if (C1 == 0)
		{
			float temp = 0;
			temp = x1;
			x1 = x2;
			x2 = temp;

			temp = y1;
			y1 = y2;
			y2 = temp;

			temp = C1;
			C1 = C2;
			C2 = temp;
		}

		if ((C1&1) != 0)
		{
			y1 = y2 - (x2 - x_min) * ((y2 - y1) / (x2 - x1));
			x1 = x_min;
		}
		if ((C1&2) != 0)
		{
			y1 = y2 - (x2 - x_max) * ((y2 - y1) / (x2 - x1));
			x1 = x_max;
		}
		if ((C1&4) != 0)
		{
			x1 = x2 - (y2 - y_min) * ((x2 - x1) / (y2 - y1));
			y1 = y_min;
		}
		if ((C1&8) != 0)
		{
			x1 = x2 - (y2 - y_max) * ((x2 - x1) / (y2 - y1));
			y1 = y_max;	
		}
	}
}

3.
Код:
#pragma once
#include "stdafx.h"
#include <cmath>

float f(float x){
    float y;
	y = sin(x)+2*cos(3*x);
	return y;
}

bool fexists(float x){
	return true;
}
Изображения
Тип файла: jpg 44375-clip-16kb.jpg (21.2 Кб, 141 просмотров)

Последний раз редактировалось Stilet; 21.10.2014 в 19:51.
buka678 вне форума Ответить с цитированием
Старый 21.10.2014, 19:49   #2
buka678
Новичок
Джуниор
 
Регистрация: 21.10.2014
Сообщений: 2
По умолчанию

последнюю прикладываю отдельно ибо не помещается
Вложения
Тип файла: txt Form1.resX.txt (6.8 Кб, 145 просмотров)
buka678 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно дописать программу! Маx Паскаль, Turbo Pascal, PascalABC.NET 14 19.03.2012 18:43
Нужно дописать программу alex0097 Фриланс 3 16.10.2011 14:05
Нужно дописать программу!!! Bal_Bes Помощь студентам 1 08.06.2011 18:08
Нужно дописать программу на Ассемблере Seoha Помощь студентам 0 22.01.2011 17:13
Нужно дописать программу (C\C++) Operator-cn Помощь студентам 0 09.03.2010 20:03