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

Должен рисоватся график

11.11.2011, 20:23. Показов 2030. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот тут вот где ошибка? И потом ещё нужно, чтобы рисовалась в этой проге синусойда, косинусойда, вот написал одну, а ошибка где не знаю
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include<windows.h>
#include<string.h>
#include<stdio.h>
//#include"mnkcpp.h"
#include<math.h>
#include<alloc.h>
    void graf(int kt, double dx, double  *x,
 
          double  *y)
      {
      extern FILE *fp6;
            double  xmax,xmas,y1,y2,r;
        int i,kx,j,ls,kk,kn,kkon;
      char str[42],prob=' ',sim='*';
         xmax=(y[1]);
    if(xmax<0) xmax=-xmax;
         for(i=1;i<=kt;i++)
      {
    r=y[i];
    if(r<0) r=-r;
         if(xmax>=r) goto m1;
    xmax=r;
m1:;
      }
          kx=kt;
          xmas=xmax/20;
    fprintf(fp6,"\n X =%.15f\n  Y =%.15f\n",
          dx,xmas);
 fprintf(fp6,"\n____________________X___________________Y\n");
    y1=fabs(y[1]);
          if(y[1]==0) y1=1e-16;
        for(i=1;i<=kt;i++)
     {
         for(j=1;j<=41;j++)
          str[j]=prob;
          str[21]='|';
          if(y[i]<0) goto m7;
          if(y[i]>0) goto m8;
          str[21]='0';
          goto m10;
m7:;
          kk=fabs(y[i])/xmas+0.5;
          if(kk==0) str[21]='0';
          kn=20-kk+1;
         for(j=kn;j<=20;j++)
          str[j]=sim;
          goto m10;
m8:;
          kk=y[i]/xmas+0.5;
          if(kk==0) str[21]='0';
          kkon=21+kk;
         for(j=22;j<=kkon;j++)
          str[j]=sim;
m10:;
          y2=y[i]/y1;
          for(ls=1;ls<=41;ls++)
          fprintf(fp6,"%c",str[ls]);
    fprintf(fp6," y=%.15f \n",
        y[i]);
      }
    return;
          }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2011, 20:23
Ответы с готовыми решениями:

Каким должен быть файл и где он должен находиться?
Нашёл код, который берёт текстовый файл, читает его и выбирает слова, в которых есть такая же часть, которую ты ввел. Я вижу...

Описать абстрактный класс породить от него еще два,один должен остаться абстрактным,другой должен быть способен пораждать объекты
Знает кто как сделать?

График параболы в окне не выводится (а, казалось бы, должен)
.386 .model flat,stdcall option casemap:none WinMain proto :DWORD,:DWORD,:DWORD,:DWORD include \masm32\include\windows.inc ...

25
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
11.11.2011, 20:36
Боюсь даже спросить, может нужно просто протабулировать функции синуса и косинуса вместо того, чтобы рисовать "синусойду"?
0
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
11.11.2011, 20:37  [ТС]
нам такое задание дали)))
а в этой проге где ошибка?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
11.11.2011, 20:42
Rikk, не знаю, какое вам давали задание, но синусоидой называют график функции синуса или косинуса (последний также называют косинусоидой). А твоя программа делает (или пытается делать) совсем другое.
0
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
11.11.2011, 20:46  [ТС]
да я знаю, это просто самое первое задание, тоже должен быть график вырисовыватся
нам препод типо своей методички дал, говорит напишете с неё проу, а потом на основе её напишете уже косинусойду и синусойду, ну вот и написал, только толку от этого...
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
11.11.2011, 20:47
Цитата Сообщение от Rikk Посмотреть сообщение
а в этой проге где ошибка?
ну, я не вижу в ней функции main. А уважаемый ТС знает про выравнивание кода? А то у меня от него глаза разболелись
0
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
11.11.2011, 20:51  [ТС]
если main ставить, то сходу в самом начале ошибку выкидывает

Добавлено через 10 секунд
уже пробывал...
0
 Аватар для aeshes
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
11.11.2011, 20:53

Не по теме:

Nameless One, лично у меня глаза стали в кучку еще на первом goto.


Rikk,
Это препод такие проги дает? Это ужас какой-то. Но верится с трудом.
У вас просто вырванный откуда-то кусок кода, который естественно не будет работать без всего остального
1
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
11.11.2011, 20:56  [ТС]
я вам говорю, он нам сказал, посмотрите программу, на основе неё сделаете синусойду и косинусойду
ну если бы была бы часть, то начала не было бы include и тп
0
 Аватар для aeshes
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
11.11.2011, 21:02
Rikk, программа на С/С++ не бывает без функции main. Может, вам преподаватель сказал посмотреть именно эту функцию, которая, как я поняла "рисует" в файле что-то из пробелов и звездочек. Возможно, это он и назвал графиком. Тогда вам надо написать функцию main, где заполнить значения в массивах x, y, потом вызвать эту функцию graf для этих массивов и получить "график"
0
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
11.11.2011, 21:03  [ТС]
вот разбираюсь с этим как раз
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
11.11.2011, 21:05
Цитата Сообщение от Rikk Посмотреть сообщение
ну если бы была бы часть, то начала не было бы include и тп
если бы была не часть, то в программе была бы функция main

вот табулирование, вдруг и вправду пригодится:
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 <stdio.h>
#include <stdlib.h>
#include <math.h>
 
#define M_PI        3.14159265358979323846  /* pi */
#define M_PI_2      1.57079632679489661923  /* pi/2 */
 
typedef double (*PFUNC)(double);
 
void tabulate(PFUNC, const char*, double, double, double);
 
int main(void)
{
    tabulate(sin, "sin(x)", -M_PI_2, M_PI_2, .1);
    tabulate(cos, "cos(x)", 0, M_PI, .05);
 
    exit(0);
}
 
void tabulate(PFUNC fun, const char* label,
          double xmin, double xmax, double step)
{
#define ROW_SEP puts("+-----------------+")
 
    ROW_SEP;
 
    printf("| x      | %6.6s |\n", label);
 
    for( ; xmin < xmax + step; xmin += step)
    {
    ROW_SEP;
    printf("| %6.3f | %6.3f |\n", xmin, fun(xmin));
    }
 
    ROW_SEP;
    
    putchar('\n');
    
#undef ROW_SEP
}
1
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
11.11.2011, 21:34
???
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <cmath>
#include <map>
 
#define PI 3.14159265
 
int main(int argc, char *argv[]) {
  int degree = 0.;
  
  while (true) {
    double result = sin(degree * PI / 180);
    degree = (degree + 10) % 360;
    int length = int((result + 2.) * 10.);
    std::cout << std::string(length, '#') << std::endl;
  }
  
  return 0;
}
2
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
11.11.2011, 21:37  [ТС]
Цитата Сообщение от Nameless One Посмотреть сообщение
если бы была не часть, то в программе была бы функция main

вот табулирование, вдруг и вправду пригодится:
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 <stdio.h>
#include <stdlib.h>
#include <math.h>
 
#define M_PI        3.14159265358979323846  /* pi */
#define M_PI_2      1.57079632679489661923  /* pi/2 */
 
typedef double (*PFUNC)(double);
 
void tabulate(PFUNC, const char*, double, double, double);
 
int main(void)
{
    tabulate(sin, "sin(x)", -M_PI_2, M_PI_2, .1);
    tabulate(cos, "cos(x)", 0, M_PI, .05);
 
    exit(0);
}
 
void tabulate(PFUNC fun, const char* label,
          double xmin, double xmax, double step)
{
#define ROW_SEP puts("+-----------------+")
 
    ROW_SEP;
 
    printf("| x      | %6.6s |\n", label);
 
    for( ; xmin < xmax + step; xmin += step)
    {
    ROW_SEP;
    printf("| %6.3f | %6.3f |\n", xmin, fun(xmin));
    }
 
    ROW_SEP;
    
    putchar('\n');
    
#undef ROW_SEP
}
табуляция я думаю на будующее пригодится

Добавлено через 33 секунды
Цитата Сообщение от lemegeton Посмотреть сообщение
???
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <cmath>
#include <map>
 
#define PI 3.14159265
 
int main(int argc, char *argv[]) {
  int degree = 0.;
  
  while (true) {
    double result = sin(degree * PI / 180);
    degree = (degree + 10) % 360;
    int length = int((result + 2.) * 10.);
    std::cout << std::string(length, '#') << std::endl;
  }
  
  return 0;
}
а это часть кода от чего?
0
 Аватар для aeshes
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
11.11.2011, 21:40
Rikk, а скопировать и запустить?
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
11.11.2011, 21:40
Это достаточный код, чтобы выводить синусоиду. Изменив в коде три буквы можно произвести косинусоиду.
1
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
11.11.2011, 21:48  [ТС]
не работает у меня...
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
11.11.2011, 22:50
Rikk, нарисовать синусоиду можно так
Построение графиков элементарных функций - там исходник и по памяти коменты делал, разберётесь
0
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
11.11.2011, 23:08  [ТС]
то ли я глупый, то ли у меня tc не тот, но он у меня это не открывает, подскажите что делать
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
12.11.2011, 00:25
Какой, жеваный крот, TC?! На дворе 2011 год. MSVS, BorlandBuilder, MinGW на худой конец.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.11.2011, 00:25
Помогаю со студенческими работами здесь

Должен получиться график. Что делаю не так?
M=0.002; h=1500; d=0.005; Cx=0,2; qb=1.2; g=9.81; DT=0.001; pi=3.14; Sw=(pi*d.^2)./4; for T=0:0.001:720;

График должен убывать, а он напротив, возрастает (исправить код)
private void button1_Click(object sender, EventArgs e) { Graphics gr = pb1.CreateGraphics(); ...

Написать приложение для построения графика. Дано квадратичное уравнение y=ax2+bx+c. Коэффициенты a,b,c вводятся в компоненты textbox. График должен б
Написать приложение для построения графика. Дано квадратичное уравнение y=ax2+bx+c. Коэффициенты a,b,c вводятся в компоненты textbox....

Что должен уметь настоящий мужчина? Или каким он должен быть?
Девушки, вы часто задаетесь этим вопросом, и обычно ваши лозунги в данном направлении, мы мужская половина населения планеты - воспринимаем...

Кому должен принадлежать курортный бизнес в современной России? Кто должен осваивать Крым?
Кому должен принадлежать курортный бизнес в современной России? В СССР например, курортный бизнес (курортная мафия) всегда принадлежала...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru