Форум программистов, компьютерный форум CyberForum.ru

Построить график по точкам из файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функции и массивы http://www.cyberforum.ru/cpp-beginners/thread1187468.html
1. Написать функцию, проверяющую по возрастанию или убыванию упорядочена указанная строка двумерного массива. Упорядочить по возрастанию все строки двумерного массива, которые не упорядочены по убыванию. 2. Найти максимальный из повторяющихся элементов двумерного массива. Очень нужно, заранее спасибо.
C++ Цилиндрическая заготовка с радиусом основания R и прямо угольный брус Цилиндрическая заготовка с радиусом основания R и прямо угольный брус со сторонами А и В имеют одинаковую длину. Заданы N наборов значений R,A,B (т.е. N пар "заготовка-брус"). Определить, в каком числе случаев (из N возможных) можно из заготовки указанного радиуса выпилить брус указанного сечения и найти суммарную площадь именно таких брусьев. http://www.cyberforum.ru/cpp-beginners/thread1187467.html
Реализовать отложенную загрузку C++
Здравствуйте! Помогите в моей программе реализовать отложенную загрузку... Вот код программы: #include <iostream.h> #include <windows.h> using namespace std; typedef double* __stdcall (*CreateVectorType)(int rows); typedef void __stdcall (*InitializeVectorType)(double *vector,int rows);
C++ Упорядочить список целых чисел
Здравствуйте. Нужно создать список целых чисел. Упорядочить его элементы и вывести на печать. Списки можно создавать вводом из файла или с клавиатуры. Не могу понять, как именно создавать и упорядочивать? Можно ли пузырьком? #include <iostream> using namespace std; int main() {
C++ Определить номера тех строк матрицы, у которых знак произведения их элементов отрицателен http://www.cyberforum.ru/cpp-beginners/thread1187456.html
Задана матрица с 2 столбцами и N строками. Определить номера тех строк, у которых знак произведения их элементов отрицателен.
C++ Return многомерного массива не понимаю как передавать многомерные массивы в c++. есть массив char arr есть два класса. в первом должен быть метод который будет возвращать массив arr. т.е. что-то вроде: char getArr() { return this->arr; } в другом классе будет вызываться сей метод и осуществляться следующая работа: char arr = class1->getArr(); for(int i=0;i<sizeof(arr);i++) { подробнее

Показать сообщение отдельно
Mansu
0 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 239
25.05.2014, 17:22     Построить график по точкам из файла
У меня есть файл, в котором есть координаты моих точек и еще всякий мусор. Мне надо считать координаты с этого файла и построить график по ним. Я написал прогу для построения прямой по 2 точкам, но не могу её протестировать потому, что на мониторе всякий мусор.(Работаю в borland C++). Скажите правильно ли эта программа работает и если я запишу координаты этих точек в 2 массива и задам цикл для построения будет ли она работать?

Текст программы
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
#include<graphics.h>
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<dos.h>
#include<math.h>
#define PATHTODRIVER "c:\\BORLANDC\\bgi\\"
int main(void)
{
//Блок считывания файл, тоже не уверен в нём
//    int A[20],i;
//    int B[20],j;
//  FILE *fp;
//    fp=fopen("C:\\name.txt", "r+");
//    for(i=0;i<20;i++){
//  fscanf(fp,"%d\n", &A[i]);}
//       for(j=0;j<20;j++){
//  fscanf(fp,"%d\n", &B[j]);}
//Дальше вывод на экран, он не нужен.
//    for(i=0;i<10;i++){
//  fprintf(NULL,"%d", A[i]);
//    i++;}
//fclose(fp);
 
int gdriver=DETECT;
int gmode;
int xmax, ymax;
 
initgraph(&gdriver,&gmode,PATHTODRIVER);
 
 setcolor(getmaxcolor());
   xmax = getmaxx();
   ymax = getmaxy();
//   int x1=50; int x2=75;int y1=50;int y2=100;
   clrscr();
//Оно конечно же работает не правильно. Помогите как тут записывать в (x1;y1) (x2;y2)? 
//for (i=0;i<20;i++);{
//for (j=0;j<20;j++);
//x1=A[i];
//y1=B[j];}
   line(x1,y1,x2,y2);
   getch();
   closegraph();
   return 0;
}
Добавлено через 9 минут
Буду еще очень благодарен, если кто-то объяснит, как в ту прогу присабачить оси и разметку на них. А то мне надо еще нарисовать решетку, по которой можно будет понять координаты. Чуть позже закину картинку, как должно быть. Спасибо заранее всем, кто будет помогать)

Добавлено через 59 минут
Все-таки она строит. Запустил на ноуте, она построила, понял даже как делать оси. Вот последняя поправка.
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
#include<graphics.h>
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<dos.h>
#include<math.h>
#define PATHTODRIVER "c:\\BORLANDC\\bgi\\"
int main(void)
{
//Блок считывания файл, тоже не уверен в нём
// int A[20],i;
// int B[20],j;
//  FILE *fp;
// fp=fopen("C:\\name.txt", "r+");
// for(i=0;i<20;i++){
//  fscanf(fp,"%d\n", &A[i]);}
// for(j=0;j<20;j++){
//  fscanf(fp,"%d\n", &B[j]);}
//Дальше вывод на экран, он не нужен.
// for(i=0;i<10;i++){
//  fprintf(NULL,"%d", A[i]);
// i++;}
//fclose(fp);
 
int gdriver=DETECT;
int gmode;
int xmax, ymax;
 
initgraph(&gdriver,&gmode,PATHTODRIVER);
 
setcolor(getmaxcolor());
xmax = getmaxx();
ymax = getmaxy();
 int x1=50; int x2=75;int y1=50;int y2=100; int x3=-15; int y3=35;
clrscr();
//Оно конечно же работает не правильно. Помогите как тут записывать в (x1;y1) (x2;y2)?
//for (i=0;i<20;i++);{
//for (j=0;j<20;j++);
//x1=A[i];
//y1=B[j];}
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(xmax/2,ymax,xmax/2,-ymax);
line(-xmax,ymax/2,xmax,ymax/2);
getch();
closegraph();
return 0;
}
Добавлено через 1 час 28 минут
а можно так задать цыклом ?
for (i=0;i<20;i++){
line(A[i],B[j],A[i+1],B[j+1]);
j++;
}

Добавлено через 30 минут
Уже сам разобрался с осями. Помогите только с 1 - надо сделать блок который считывает цифры и записывает одни в массив А(иксы), а (игрики) в массив Б.
Навсякий кину программу еще раз.
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include<graphics.h>
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<dos.h>
#include<math.h>
#define PATHTODRIVER "c:\\BORLANDC\\bgi\\"
int main(void)
{
//Ѓ«®Є бзЁвлў**Ёп в®зҐЄ
 int A[20],i;
 int B[20],j;
    FILE *fp;
 fp=fopen("D:\\name.txt", "r+");
 for(i=0;i<20;i++){
    fscanf(fp,"%d\n", &A[i]);}
// cout<<"\n";
 for(j=0;j<20;j++){
    fscanf(fp,"%d\n", &B[j]);}
//Дальше вывод на экран, он не нужен.
 for(i=0;i<10;i++){
    fprintf(NULL,"%d", A[i]);
 i++;}
fclose(fp);
 
int gdriver=DETECT;
int gmode;
int xmax, ymax;
 
initgraph(&gdriver,&gmode,PATHTODRIVER);
 
setbkcolor(7);
xmax = getmaxx();
ymax = getmaxy();
int x_max, x_min, y_max, y_min;
clrscr();
 
//‘ва®Ё¬ Ја*дЁЄ
//for (i=0;i<20;i++);{
//for (j=0;j<20;j++);
j=0;
for (i=0;i<20;i++){
//x1=A[i];
//y1=B[j];}
line(A[i],B[j],A[i+1],B[j+1]);
j++;
}
//„®Ї Ў«®Є ¤«п Ї®бв஥*Ёп
x_max=0;
for(i=0;i<20;i++){
if (A[i]>x_max)
  x_max=A[i];
}
x_min=0;
for(i=0;i<20;i++){
if (A[i]<x_min)
  x_min=A[i];
}
y_max=0;
for(j=0;j<20;j++){
if (B[j]>y_max)
  y_max=B[i];
}
y_min=0;
for(j=0;j<20;j++){
if (B[j]<y_min)
  y_min=B[j];
}
//—ҐавЁ¬ ®бЁ
line(xmax/2,ymax,xmax/2,-ymax);
line(-xmax,ymax/2,xmax,ymax/2);
 
//„Ґ«*Ґ¬ ¬*бив*Ў
int z;
for(z=1;z<11;z++){
line(x_max/10*z,-ymax,x_max/10*z,ymax);
outtextxy(x_max/10*z,ymax/2,"x_max/10*z");
}
for(z=1;z<11;z++){
line(x_min/10*z,-ymax,x_min/10*z,ymax);
outtextxy(x_min/10*z,ymax/2,"x_min/10*z");
}
for(z=1;z<11;z++){
line(-xmax,y_max/10*z,xmax,y_max/10*z);
outtextxy(xmax/2,y_max/10*z,"y_max/10*z");
}
for(z=1;z<11;z++){
line(-xmax,y_min/10*z,xmax,y_min/10*z);
outtextxy(xmax/2,y_min/10*z,"y_min/10*z");
}
 
getch();
closegraph();
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru