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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
spam1990
5 / 5 / 0
Регистрация: 03.03.2010
Сообщений: 38
#1

В файле заданы координаты концов отрезков. Вывести их на экран - C++

09.03.2010, 17:51. Просмотров 1008. Ответов 7
Метки нет (Все метки)

в файле задано координаты концов отрезков. Вівести их на екран. Количество отрезков не известно


помогите осуществить ету задачу, мне нада имено работа з файлами, остальное я зделал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2010, 17:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В файле заданы координаты концов отрезков. Вывести их на экран (C++):

На прямой своими концами заданы N отрезков. Найти точку принадлежащую максимальному числу отрезков - C++
Помогите пожалуйста понять, что от меня хотят и какой(как) разработать алгоритм для решения этой задачи. На прямой своими концами...

Оператор for. Вывести координаты и длины отрезков на числовой оси - C++
Дано целое число N(>1) и две вещественные точки на числовой оси: A,B (A<B). Отрезок разбит на N равных отрезков. Вывести H - длину каждого...

Вычисление площади треугольника по координатам концов отрезков с ++ - C++
Три отрезка заданы координатами своих концов. Определить, можно ли построить из них треугольник, если - да, то вычислить его площадь

Заданы координаты вершин четырехугольника. Вывести их в порядке обхода по часовой стрелке - C++
Заданы координаты вершин четырехугольника. Вывести их в порядке обхода по часовой стрелке Сабж. Искал по форуму/гуглил - не нашел ответа....

N интервалов заданы координатами своих концов на координатной прямой и пронумерованы - C++
n интервалов заданы координатами своих концов на координатной прямой и пронумерованы. Задана также точка х на этой прямой. Выяснить,...

Заданы координаты трех вершин прямоугольника, необходимо определить координаты четвертой вершины - C++
Заданы координаты трех вершин прямоугольника. Необходимо определить координаты четвертой вершины. Можете найти? Добавлено через 1...

7
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
09.03.2010, 22:52 #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
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
 
int main()
{
    clrscr();
 
    char ch, fname[200];
    cout<<"Enter File name and directory: ";
  cin>>fname;
    ifstream in(fname, ios::in | ios::binary);
        if(!in){
            cout<<"Impossible to open file\nPress any key to exit";
            getch();
            return 1;
        }
    while(!in.eof()){
        in.get(ch);
        cout<<ch;
    }
 
  in.close();
 
    getch();
    return 0;
}
0
spam1990
5 / 5 / 0
Регистрация: 03.03.2010
Сообщений: 38
09.03.2010, 23:39  [ТС] #3
спасибо канешно, но мне нада чтоб открывался файл data.txt а ета прога не открывает его


как можна перелелать????
0
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
10.03.2010, 00:49 #4
ну как же, все открывает
вводишь к примеру C:\test\data.txt и на экран содержимое файла выводит

Вот только с русскими символами неурядица, может на новых компиляторах нормально
1
spam1990
5 / 5 / 0
Регистрация: 03.03.2010
Сообщений: 38
10.03.2010, 19:28  [ТС] #5
а теперь ещё нада с етих координат построить отрезки, количество координат неизвестно!!!!!!

как можна ето сделать????
у меня не получается записать координаты в переменую

C++
1
2
3
4
int x,y;
for (i=0; i<q; i++)
{while ((x=getc(f))!=EOF)
{x="%d", y="%d");}}
0
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
10.03.2010, 23:36 #6
а координаты записаны просто цифрами или есть какая-то система записи типа: x = 12;
y = 36; ?
например, если встречается символ x, то через 3 знака начинать записывать символы в массив пока они цифры, а дальше есть ф-ция atoi(), которая переводит строку в переменную типа int, atof() - в float и atol() - в long)
0
spam1990
5 / 5 / 0
Регистрация: 03.03.2010
Сообщений: 38
11.03.2010, 17:57  [ТС] #7
система записи такая

Line1 x=1; y=2;
Line2 x=2; y=3;
.....................
..............
...................
...............
0
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
12.03.2010, 14:28 #8
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
96
97
#include <iostream.h>
#include <conio.h>
#include <fstream.h>
#include <stdlib.h>
#include <graphics.h>
 
int main(){
    clrscr();
 
    int gdriver = DETECT, gmode, errorcode;
    
        initgraph(&gdriver, &gmode, "");
    errorcode = graphresult();
    if (errorcode != grOk)
    {
        cout<<"Graphics error: "<<grapherrormsg(errorcode)<<endl;
        cout<<"Press any key to halt:";
        getch();
        exit(1);
    }
 
    int i = 0, c = 0;
    int linesx[500][10], linesy[500][10];
    char ch, fname[200], ptr[500];;
    cout<<"Enter File name and directory: ";
    cin>>fname;
    ifstream in(fname, ios::in | ios::binary);
    if(!in){
        cout<<"Impossible to open file\nPress any key to exit";
        getch();
        return 1;
    }
    cout<<"File data:\n";
    while(!in.eof()){
        in.get(ch);
        ptr[c] = ch;        //копируем все содержимое файла в массив
        c++;
        cout<<ch;
    }
    in.close();
 
    cout<<"\n\nCoordinates copied from file:\n";
    for(i = 0; i < c; i++)
        cout<<ptr[i];
 
    char linex[1000][10], liney[1000][10];
    char x = 0, x1 = 0, y = 0, y1 = 0;
 
    for(i = 0; i < 1000; i++){   //обнуляем будущие массивы для хранения чисел
        for(c = 0; c < 10; c++){
            linex[i][c] = 0;
                liney[i][c] = 0;
        }
    }
 
    for(i = 0; ptr[i]!=EOF; i++){
        if(ptr[i] == 'x'){
                i+=2;                  //после Х, первый знак - '=', второй - цифра*
                        //если изменить систему записи элементов в файле
                                            //придется изменить кол-во знаков после Х, сейчас их 2           
            while(ptr[i] <= 57 && ptr[i] >= 48)      //48 - 57 ASCII коды 0 - 9
                linex[x][x1++] = ptr[i++];
            x++;
            x1=0;
        }
        if(ptr[i] == 'y'){
                i+=2;
            while(ptr[i] <= 57 && ptr[i] >= 48)
                liney[y][y1++] = ptr[i++];
            y++;
            y1=0;
        }
    }
 
    cout<<"\n\nAtoi X:\n";            //выводим на экран массивы уже чисел Х и У
    for(i = 0; i < x; i++){
        *linesx[i] = atoi(linex[i]);
        cout<<*linesx[i]<<' ';
    }
    cout<<"\nAtoi Y:\n";      
    for(i = 0; i < y; i++){
        *linesy[i] = atoi(liney[i]);
        cout<<*linesy[i]<<' ';
    }
    cout<<"\nPress any key to view lines";
    getch();
    cleardevice();
 
    line(*linesx[0], *linesy[0], *linesx[1], *linesy[1]);
    line(*linesx[2], *linesy[2], *linesx[3], *linesy[3]);
    line(*linesx[4], *linesy[4], *linesx[5], *linesy[5]);
    //и т.д. ...
 
    getch();
    closegraph();
    return 0;
}
ну и содержимое файла C:\data.txt к примеру:
Line1 x=4; y=4;
Line2 x=24; y=100;
Line3 x=8; y=4;
Line4 x=100; y=24;

Добавлено через 2 часа 18 минут
для графики файл EGAVGA.BGI нужен в папке, откуда BCPP запускаешь и в папке с .exe файлом программы, если с .exe запустить захочешь
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2010, 14:28
Привет! Вот еще темы с ответами:

Заданы координаты вершин треугольника. Вывести их в порядке обхода треугольника по часовой стрелке - C++
Заданы координаты вершин треугольника.Вывести их в порядке обхода треугольника по часовой стрелке. Вот код, но правильный ли он?! ...

Заданы координаты точки подвеса математического маятника A(xa, ya, za) и координаты одной из точек его наивысшего подъема B(xb, yb, zb). Найти координ - C++
помогите написать программу на с++ Добавлено через 37 секунд вот задача:Заданы координаты точки подвеса математического маятника...

Заданы числа x и y. Если их сумма положительная, вывести на экран эти числа, иначе вывести их разницу - C++
Помогите пожалуйста...Заданные числа x и y . Если их сумма положительная , вывести на экран эти числа , иначе вывести на экран их разницу.

В ромбе заданы диагонали d1 и d2. вычеслить и вывести на экран другие параметры. - C++
В ромбе заданы диагонали d1 и d2. вычеслить и вывести на экран другие параметры. Пожалуйста помогите решить в чистом c++ (((


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
12.03.2010, 14:28
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru