Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
1 / 1 / 2
Регистрация: 05.03.2013
Сообщений: 31

Графический сигнал в Dev C++

07.11.2017, 19:40. Показов 1972. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание в общем виде следующее: https://www.cyberforum.ru/atta... 1510068966.
Долго уже бьюсь над этим заданием в Dev C++. Кто-то сказал бы что графика в Dev C++ плохая и т.д.. Согласен.. Но 1. я ограничен бесплатными программами на С++. 2. Уже немало программ (для студента тем более) написал в Dev C++, хотя вот с графикой работать не приходилось.. Что по 1 предмету в колледже, что по другому в ВУЗе.. не доходили до этого или перескакивали. А вот по предмету "Цифровая обработка сигналов и изображений" перескочить уже было невозможно... Бьюсь уже весьма долгое время над то как запрограммировать эту функцию.
Вот для примера подобная программа (на Turbo C++) с своей функцией пытался мучаться в Turbo и ничего не получилось... Но дело не в функции, а в том что сами операторы совсем иные... Аналог osc я вроде бы уже нашел как rectangle он является неплохим прямоугольником и окном.. А вот аналог window для преобразование функции... найти не могу..
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
31
#include<iostream.h>
#include<oscgraph.h>
#include<conio.h>
void main()
{
int i;
int n=16;
opengraph();
osc window1 (25,1,75,49);
window1.rect(1);
osc window ();
window1.assignMy(100);
osc window2 (25,1,75,49);
window2.rect;
window2.assignMy(100);
window2.step(50);
setcolor(13);
window1.PutMess("Analog signal");
window2.PutMess("time-discrete signal");
for (i=0;i<25;i++)
window1.dx(0);
for (i=0;i<n*50+1;i++)
window1.dx(sin(pi*i*0.125/2)*sin(pi*i*0.125/2));
for (i=0;i<25;i++)
window1.dx(0);
for (i=0;i<n;i++)
window2.dxl(sin(pi*i*0.125/2)*sin(pi*i*0.125/2));
window2.dxl(0);
getch();
closegraph();
}
Мне необходимо сделать подобную программу с моей функцией и на Dev C++.
Само то что надо дискретизировать, можно увидеть в 24 строке моей программы (чему равен "y")!
Что за оператор для этого надо использовать и из какой библиотеки я не знаю.. Пытался искать в "graphics.h" (графический модуль конечно установил...) на сайте http://www.c-cpp.ru, но как уже и говорил найти что надо использовать за вместо вышесказанного и нужного не смог!
Ниже пример моего кода... Уже неделю мучаюсь... Как минимум подскажите что за оператор нужно бы использовать из graphics.h чтобы можно было дискретизировать сигнал, своего рода аналог window? А желательно конечно и написать этот оператор в моей программе... надеюсь сильно к структуре программы придираться не будите?=)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
#include<iostream>
#include <graphics.h>
#include <cmath>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#define PI 3.14159265
using namespace std;
int main(int argc, char** argv){
    setlocale (LC_ALL, "Russian");
int gdriver = DETECT, gmode, errorcode;
   double y;
   int i;
   int n=16;
   int color;
 
initgraph(&gdriver, &gmode, "C:\\tc\\BGI");
   setcolor(RED);
color = getcolor();
cout<<"Аналоговый сигнал";
rectangle (327, 50, 630, 450); //левый,верхний,правый,нижний
rectangle (5, 50, 327, 450);
    for (i=1;i<25;i++) {
 
}
    for(i=1;i<=n;i++) {
    y=sin(PI*i*0.125/2)*sin(PI*i*0.125/2);
 
        cout<<"S["<<i<<"]="<<y<<endl;
    }
    
cout<<"Дискретный во времени сигнал";
 
    for (i=1;i<25;i++) {
 
}
    for (i=1;i<n;i++) {
 
}
  getch();
   closegraph();
    return 0;
}
Жду...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.11.2017, 19:40
Ответы с готовыми решениями:

Нужно закрасить графический объект в dev cpp
Помогите закрасить графический объект в dev cpp в желтый цвет с черными краями #include &lt;graphics.h&gt; int main() { ...

QT GraphicsItem - передать сигнал в MainWindow чтобы на лейбле менялось значение при нажатии мишкой на графический объект
С помощью вот этого примера сделал кнопку http://www.youtube.com/watch?v=hgDd2QspuDg Хочу передать сигнал в MainWindow чтобы на...

Можно ли сделать Repeat сигнал с помощью USB Wi Fi чтобы сигнал дошел до улицы
Я с ноутбука раздал Wi Fi интернет, у мя в ноуте DSL(через UTP) интернет, раздал с командной строки... ВСЕ БЫЛО НОРМАЛЬНО Недавно подумал...

5
07.11.2017, 21:53

Не по теме:

Ссылка на задание не работает.

0
1 / 1 / 2
Регистрация: 05.03.2013
Сообщений: 31
08.11.2017, 08:06  [ТС]
Здравствуйте. Очень интересно каким образом "хостинг изображений" этого форума не работает.... Причём у меня все нормально.. Ладно, сейчас перепишу в ручную, чтобы точно работало уже...
Графическая иллюстрация процесса дискретизации. Показать процесс дискретизации с помощью двух графических окон, расположенных друг под другом. В верхнем окне отобразить аналоговый сигнал A (t). В нижнем окне отобразить дискретный по времени сигнал A (i). Вывести на экран результат графического вывода.
Я начал делать отображение сигнала в левом и правом окне соответственно, а не в верхнем и нижнем как в примере. За t (время) принял i, тут ничего пока особенного.. И еще сама моя функция которую надо вывести находится в 27 строке моей программы (y) - sin(PI*i*0.125/2)*sin(PI*i*0.125/2) или просто sin(PI*i*0.125/2)^2. Надеюсь что кто-то еще откликнется.
0
415 / 150 / 48
Регистрация: 02.06.2016
Сообщений: 364
09.11.2017, 21:40
Могу такой вариант предложить.
Вложения
Тип файла: 7z graphic2.7z (2.7 Кб, 3 просмотров)
1
1 / 1 / 2
Регистрация: 05.03.2013
Сообщений: 31
15.11.2017, 19:49  [ТС]
Здравствуйте. Спасибо за то что ответили. Действительно интересный и непростой способ вывода вы использовали. Графический

Добавлено через 9 минут
Здравствуйте. Спасибо за то что ответили. Действительно интересный и непростой способ вывода вы использовали. Графический режим Dev C++, верно? Хотел бы еще кое-что у вас спросить... Как сделает это же из "консольного режима" с Windows BGI но без использования полноценного проэкта, без сетки даже и прямоугольного окна и подобного. Я уже пытался сделать эту программу, но несмотря на то что файл компилируется и запускается, график функции почему-то не рисуется. Возможно ли что что-то не так? Не могу понять что, неужели функцию round() не видит?
Задание фактически то же, только еще проще: вывод на координатах (x и y) функции которую я упоминал выше.
Посмотрите пожалуйста на код:
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
31
32
33
34
35
36
37
38
39
40
#include<iostream>
#include <graphics.h>
#include <cmath>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#define PI 3.14159265
int main(int argc, char** argv){
    setlocale (LC_ALL, "Russian");
int gdriver = DETECT, gmode, errorcode;
   double y;
   int i;
   int n=16;
    double X;
    char Y;
    int color;
    double Xg,Yg;
    initgraph(&gdriver, &gmode, "Ñ:\\tc\\BGI");
setcolor(RED);
setbkcolor(BLACK);
std::cout<<"Аналоговый сигнал";
X=0;
line(10,90,200,90);// îñü X
line(10,20,10,160);// îñü Y
    for(i=1;i<=n;i++) {
    y=sin(PI*i*0.125/2)*sin(PI*i*0.125/2);
    std::cout<<"S["<<i<<"]="<<y; 
    Xg=10+round(95/PI*y);
    Yg=90-round(50*y);
    putpixel(Xg,Yg,YELLOW);
    X=X+i+PI/95;
    }
std::cout<<"Дискретный во времени сигнал";
    outtextxy(15,15,"Y");
    outtextxy(205,90,"X");
    outtextxy(130,40,"Y=SIN(X)");
getch();
closegraph();
return 0;
}
Заранее спасибо!
0
415 / 150 / 48
Регистрация: 02.06.2016
Сообщений: 364
17.11.2017, 14:44
Castigador13, могу предположить, что если библиотеку собирали не сами, то причиной некорректной работы может быть несоответствие между версиями компиляторов, которым она собрана и вашим.
По коду ничего сказать не могу, этой библиотекой не пользуюсь.
Цитата Сообщение от Castigador13 Посмотреть сообщение
Кто-то сказал бы что графика в Dev C++ плохая и т.д.
Графика не зависит от среды разработки. Можете пользоваться любой библиотекой, а не устаревшей. Если пример, что я привел выше (это библиотека GDI) сложен (зато работает "из коробки"), посмотрите freeglut.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.11.2017, 14:44
Помогаю со студенческими работами здесь

Определить, сигнал какого цвета сигнал горит для пешеходов в этот момент.
3. Работа светофора для пешеходов запрограммирована следующим образом: в начале каждого часа в течение трех минут горит зеленый сигнал,...

Найти вероятность того, что: посланный сигнал будет принят; принятый сигнал типа А
Люди добрые! Помогите пожалуйста решить! Раздел задачи увы не знаю... По линии связи передано 2 сигнала типа А и В с вероятностью...

Определить вероятность что a) будет получен сигнал 1 б) сигнал 2
По каналу связи передаются два сигнала: ноль и единица. Из-за наличия помех возможны искажения сигналов: Единица переходит в единицу с...

Объект испускает сигнал и этот сигнал принимает 100 объектов, как они будут обработаны?
Вопрос: Объект испускает сигнал и этот сигнал принимает 100 объектов, как они будут обработаны? Мысль такая у меня в классе данные...

Ищу драйверы для ven-8086 dev-2804 и ven-14F1 dev-5069
Можете дать ссылки на скачку таких драйверов,их ID: 1.ven-8086 dev-2804 2.ven-14F1 dev-5069


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru