|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.06.2012, 11:06 | #1 |
Регистрация: 20.04.2012
Сообщений: 9
|
вычисление min и max функции(С++)
Имеется код для консоли для выведения графика функции:
#include <vcl.h> #pragma hdrstop #include <stdio.h> #include <conio.h> //--------------------------------------------------------------------------- #pragma argsused // Символы псевдографики FILE *out; unsigned char g = 196; // Горизонктальная линия unsigned char v = 179; // Вертикальная линия unsigned char k = 197; // Крест unsigned char kln = 192; // Крест левого нижнего угла unsigned char kpn = 217; unsigned char kn = 193; unsigned char kpv = 191; unsigned char klv = 218; unsigned char kv = 194; unsigned char kl = 195; unsigned char kp = 180; // Функция формирования сетки графика char* Cr_S(unsigned char *S, int i){ int j, l; if(!i){ S[0] = klv; for(l = 0; l < 6; l++){ for(j = 0; j < 9; j++) S[j+1+l*10] = g; S[j+1+l*10] = kv; } return S; } if(!(i % 10)){ S[0] = kl; for(l = 0; l < 6; l++){ for(j = 0; j < 9; j++) S[j+1+l*10] = g; S[j+1+l*10] = k; } return S; } else { S[0] = v; for(l = 0; l < 6; l++){ for(j = 0; j < 9; j++) S[j+1+l*10] = ' '; S[j+1+l*10] = v; } return S; } } unsigned char S[80]; int main(int argc, char* argv[]){ double h, x, y; int i, n_P; //char *s; char a = '*'; // Символ для отображения точек графика // Основная процедура вывода графика // y = -x*(x-1)(x-2), x = 0, 1/10, ..., 20/10. x = 0; y = 1.0; h = y/6; out = fopen("file_02.txt", "wt"); for(n_P = -3; n_P < 4; n_P++){ printf("%10.2lf", n_P*h); // Вывод шапки по оси ординат на консоль fprintf(out, "%10.2lf", n_P*h); // Вывод шапки по оси ординат в файл } printf("\n"); // вывод пусто строки на консоль fprintf(out, "\n"); // вывод пусто строки в файл i = 0; h = 2.0/20; while(x <= 2.1){ y = -x*(x-1)*(x-2); // Вычисление значения функции Cr_S(S, i); // Формирование строки сетки графика i++; n_P = 60.0*y+30; // n_P - Кол-во пробелов до символа графика S[n_P] = a; // Наложение на сетку символа графика printf("%5.1lf %s\n", x, S); // Вывод сетки с символом графика на консоль fprintf(out, "%5.1lf %s\n", x, S); // Вывод сетки с символом графика в файл x += h; // Увеличение абсциссы на шаг } if(!getch())getch(); // Ожидание нажатия клавиши return 0; } нужно как-то впихнуть сюда вычисление каждого значения y для меняющихся иксов препод дал формулы: n_P = ((y - ymin) / (ymax-ymin)) * 60 h = (ymax-ymin)/6 чтобы деления y по оси были: ymin, y min+h, ymin+2h... ymin+6h |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вычисление MAX и MIN | Джиган | Microsoft Office Excel | 6 | 13.03.2011 18:14 |
max и min | Кристинка89 | Общие вопросы C/C++ | 2 | 23.02.2011 15:24 |
Матрица Min-Max и Max-Min | boog | Помощь студентам | 3 | 23.12.2010 13:19 |
Max и min значения функции | [Garfield] | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 01.06.2010 21:11 |
min max | Alpha_Dog | Фриланс | 10 | 15.03.2010 19:27 |