Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как нарисовать график функции в С++, Используя только стандартные функции 
V
    Опции темы
googlegum
Дата 3.11.2009, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 3.11.2009

Репутация: нет
Всего: нет



Есть задачка:
Нарисовать график функции sin(x) с помощью С++,можно использовать звездочки,плюсики и прочие знаки))
Ну,как забить весь экран звездами я разобрался,а вот как протоптать в этом "лесу" синусоиду непонятно. Писать за меня не требую, прошу подсказать хоть какую функцию использовать)) Среда Visual Studio C++ 6.0 
Зарание поклоны и благодарности!

P.s. в борландовском С есть ф-ия gotoxy() в инклуде conio.h , здесь я ее не нашел
PM MAIL   Вверх
azesmcar
Дата 3.11.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(googlegum @  3.11.2009,  12:57 Найти цитируемый пост)
P.s. в борландовском С есть ф-ия gotoxy() в инклуде conio.h , здесь я ее не нашел 

ncurses
PM   Вверх
googlegum
Дата 3.11.2009, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 3.11.2009

Репутация: нет
Всего: нет



Компилятор при подключении #include <ncurses.h> ругается и выдает fatal error C1083: Cannot open include file: 'ncurses.h': No such file or directory

Может эта библиотека для Linux ?
PM MAIL   Вверх
bsa
Дата 3.11.2009, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



googlegum, для *nix.
Думаю, тебе стоит обратить внимание на: http://en.wikipedia.org/wiki/Conio.h
PM   Вверх
azesmcar
Дата 3.11.2009, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(googlegum @  3.11.2009,  14:18 Найти цитируемый пост)
Может эта библиотека для Linux ? 

должны быть портированные версии, но я не пробовал.

Это сообщение отредактировал(а) azesmcar - 3.11.2009, 15:49
PM   Вверх
googlegum
Дата 3.11.2009, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 3.11.2009

Репутация: нет
Всего: нет



Цитата(bsa @  3.11.2009,  15:21 Найти цитируемый пост)
Думаю, тебе стоит обратить внимание на: http://en.wikipedia.org/wiki/Conio.h


Обратил внимание,там нет функции,устанавливающей курсор в требуемое положение на экране((

PM MAIL   Вверх
Anikmar
Дата 3.11.2009, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Можно создать массив строк (25х80) - нарисовать график в нем и вывести на экран.
PM MAIL ICQ   Вверх
bsa
Дата 3.11.2009, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



googlegum, тебе нужна функция gotoxy(). Поищи в документации к твоему IDE.
PM   Вверх
Valinur
  Дата 4.11.2009, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 21.9.2007
Где: Москва

Репутация: 2
Всего: 6



Доброе утро! smile  Вот, что-то наваял сутречка... сильно не ругайте за код, не тянет он конечно на лучший из возможных smile  Приму любые замечания! smile 
Код
#include <iostream>
#include <cmath>

using namespace std;

#define M_PI    3.14159265358979323846
#define X1        -2*M_PI
#define X2        2*M_PI    

// функция для вывода
float func(float x) {
    return sin(x);
}

int main() {
    bool prn_x=false;
    bool prn_y=false;

    float epsilon = 0.05;
    float y = 1.0;
    float step = M_PI/16;        // шаг приращения к аргументу

    while (y>=-1.1) {
        for(float x=X1; x<=X2; x+=step) {
            if (abs(func(x)-y) >= epsilon)
                if (abs(y)<epsilon) 
                    cout << "-";        // печать оси X
                else
                    cout << " "; 
            else {
                cout << "*";
            }
            if (abs(x)<epsilon)
                    cout << "|";        // печать оси Y
        }
        cout << endl;
        y=y-0.1;
    }

    return 0;
}
Вроде все понятно в коде  smile 

PS. Вопрос не по теме... почему у меня код не подсвечивается? Хотя нажимаю код С++!

Это сообщение отредактировал(а) Valinur - 4.11.2009, 07:16
--------------------
Не бойтесь совершенства, Вы все равно его не достигнете (с) ...
PM MAIL   Вверх
zim22
Дата 4.11.2009, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(Valinur @  4.11.2009,  06:14 Найти цитируемый пост)
PS. Вопрос не по теме... почему у меня код не подсвечивается? Хотя нажимаю код С++!

глюки только в Опере. Firefox, Internet Explorer нормально отображают.


--------------------
PM MAIL   Вверх
Anikmar
Дата 4.11.2009, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(zim22 @  4.11.2009,  09:32 Найти цитируемый пост)
глюки только в Опере. Firefox, Internet Explorer нормально отображают. 

Safari тоже глючит.
PM MAIL ICQ   Вверх
azesmcar
Дата 4.11.2009, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



 smile 
Цитата(Anikmar @  4.11.2009,  11:35 Найти цитируемый пост)
Safari тоже глючит. 

Подсветку у меня нормально показывает Safari. А вообще глюки есть, например Ctrl+Enter не работает.

Это сообщение отредактировал(а) azesmcar - 4.11.2009, 11:42
PM   Вверх
googlegum
Дата 4.11.2009, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 3.11.2009

Репутация: нет
Всего: нет



Спасибо всем! Получилось!
Valinur, Жжош!! Почти получилось, но я пошел другим путем, а именно тем, который посоветовал мне Anikmar, пришлось однако попотеть))ну ничего, для начинающего -полезно..

Добавлено через 4 минуты и 56 секунд
Да, забыл, вот собсно код:
Код

#include <iostream.h>
#include <math.h>

int main() 
{
    
     const double M_PI=3.14159265358979323846;
     int  Visota=25;
     int  Shirina=79;
     char array [25][79];
    for ( int y=0;y<Visota;++y)
    
    for (int x=0;x<Shirina;++x)
    
    {
        int y=(sin(x*2*M_PI/Shirina)+1)/2*Visota;
        
        if ((y>=0)&&(y<Visota))
        array[y][x]= '*';
        
    }
        
    
    

    for ( y=0;y<Visota;++y)
    {
        for (int x=0;x<Shirina;++x)
        
         cout<< array[y][x];
         cout<<endl;
        
    }

    return 0;

}




Присоединённый файл ( Кол-во скачиваний: 26 )
Присоединённый файл  sin.JPG 95,38 Kb
PM MAIL   Вверх
Valinur
Дата 4.11.2009, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 21.9.2007
Где: Москва

Репутация: 2
Всего: 6



Цитата

глюки только в Опере. Firefox, Internet Explorer нормально отображают.

действительно так... спасибо!

googlegum, у меня смотрится так


Это сообщение отредактировал(а) Valinur - 4.11.2009, 15:58

Присоединённый файл ( Кол-во скачиваний: 38 )
Присоединённый файл  graph.jpg 30,66 Kb
--------------------
Не бойтесь совершенства, Вы все равно его не достигнете (с) ...
PM MAIL   Вверх
googlegum
Дата 4.11.2009, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 3.11.2009

Репутация: нет
Всего: нет



Valinur
Красиво!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1564 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.