108 / 108 / 23
Регистрация: 21.03.2010
Сообщений: 445
1

Простановка чисел на координатных осях...

09.04.2011, 15:06. Показов 1315. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пишу класс на Qt для вывода графиков, никак не могу придумать нормальный алгоритм для проставления чисел на осях... т.е. левое число double и правое double, нужно взять между ними n (3-10) "красивых" чисел, уверен, алгоритм заезженный и у кого-то есть готовое решение...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2011, 15:06
Ответы с готовыми решениями:

единица на координатных осях
спасите!=((( у меня программа строит кривую, заданную в полярных координатах, пересчитывает в...

Изобразить график функции в координатных осях
Помогите, пожалуйста, изобразить это в паскале. Заранее спасибо!

Вывести в координатных осях график, заданный функцией
Вывести в координатных осях график, заданный функцией y(t)=t*(e^(-2t))+t*cos(2t), 0 <= t <=...

Если точка не лежит на координатных осях, то вывести 0
Даны целочисленные координаты точки на плоскости. Если точка не лежит на координатных осях, то...

2
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
09.04.2011, 17:28 2
Что-то в этом роде
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
static int nno[3]={ 1,2,5 };     /* Осевой ряд */
/* --------- */
static int step_razm(double s)  /* Определение шага разметки */
{  int k, kp, j;
 
   kp = k = 1;
   while(s>=k) {
     for(j=0;j<3;j++) { k = nno[j]*kp; if (s<=k) break; }
     if (j<3) break;
     kp *= 10;
   }
   return(k);
}
/*************/
Добавлено через 49 секунд
Доработай под себя
1
108 / 108 / 23
Регистрация: 21.03.2010
Сообщений: 445
10.04.2011, 15:08  [ТС] 3
Лучший ответ Сообщение было отмечено CEBEP как решение

Решение

вот как получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include<iostream>
 
double step(double length, int limOfSteps)  /* Определение шага разметки исходя из длины размечаемого отрезка и числа чисел умещаемых на ось */
{
    static const double arrayOfSteps[]={ 1, 2, 2.5, 3, 5, 10, 20, 25, 30, 50 }; /* возможная длинна шага при длине отрезка от 10 до 100 */
    short i = 10/*количество элементов в массиве*/;
 
    double k = 1;//коэффициент при длине отрезка. 10 <= length * k < 100, причём k такое, что в равенстве k = 10^x x - целое.
    while( length * k >= 100 )
        k /= 10;
    while( length * k < 10 )
        k *= 10;
 
    while(i--)
        if(arrayOfSteps[i] * limOfSteps < length * k)
            return arrayOfSteps[++i] / k;
 
    return 0;//возвращается если исходные данные бессмысленны
}
 
void main()
{
    double a = 774., b = 30554.;
 
    double stepLength = step(b - a, 5);
 
    if(stepLength)
        while(a < b)
            std::cout << ( a += stepLength ) << '\t';
}
в целом очень доволен результатом, спасибо...
1
10.04.2011, 15:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2011, 15:08
Помогаю со студенческими работами здесь

Вывести в координатных осях график, заданный функцией
Вывести в координатных осях график, заданный функцией y(t)=2sin(4t)+5e^-2t, 0 &lt;= t &lt;= 2π

Построение трёхмерных графиков в одних координатных осях
Здравствуйте. Помогите пожалуйста разобраться, какие действия в маткаде нужно делать чтоб получить...

Если точка не лежит на координатных осях, то вывести 0
Даны целочисленные координаты точки на плоскости. Если точка не лежит на координатных осях, то...

Как сделать разметку на координатных осях по данному графику?
график выводится,функция нужная тоже, а как можно сделать разметку координатных осей и подписать их...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru