1 / 1 / 2
Регистрация: 05.03.2013
Сообщений: 31

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

07.11.2017, 19:40. Показов 1978. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru