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

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

Войти
Регистрация
Восстановить пароль
 
Svetlana Link
Сообщений: n/a
#1

Реализовать под счет длин отдельных ломанных и сортировку по цвету - C++

14.12.2013, 07:26. Просмотров 195. Ответов 0
Метки нет (Все метки)

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
#include <stdio.h>
#include <math.h>
#include <string.h>
 
 
void main(){
    int i, j, n, nl=0, f=1;
    float l;
    struct point {int x; int y; char pcolor[20];};
    struct line {char lcolor[20]; int prex; int prey; float dist;};
    struct point points[10];
    struct line lines[10];
    
    printf("number of points: ");
    
    scanf("%d", &n);
    for (i=0; i<n; i++) {scanf("%d", &points[i].x); 
                            scanf("%d", &points[i].y);
                            scanf("%s", &points[i].pcolor);}
    
    strcpy(lines[0].lcolor, points[0].pcolor); lines[0].prex=points[0].x; lines[0].prey=points[0].y; lines[0].dist=0; nl=1;
    for(i=1; i<n; i++)
        {   f=1;
            for (j=0; j<nl; j++) if (strncmp(points[i].pcolor, lines[j].lcolor, 20)==0) f=0;
            if (f!=0) {strcpy(lines[nl].lcolor, points[i].pcolor); lines[nl].prex=points[i].x; lines[nl].prey=points[i].y; lines[nl].dist=0; nl++;};
        }
    
    for (i=0; i<nl; i++)
        {
        for (j=0; j<n; j++) {
        f=1;
        if ((strncmp(lines[i].lcolor, points[j].pcolor, 20)==0)) if (lines[i].prex==points[j].x) if (lines[i].prey==points[j].y) f=0;
        if (f==1) {l = ((points[j].x-lines[i].prex)*(points[j].x-lines[i].prex))+((points[j].y-lines[i].prey)*(points[j].y-lines[i].prey));
            lines[i].dist = lines[i].dist + sqrt(l);
            lines[i].prex = points[j].x;
            lines[i].prey = points[j].y;
            }
        }
    }
    
    for (i=0; i<nl; i++) printf("\n%s %0.2f\n", lines[i].lcolor, lines[i].dist);
    getch();
}
но не могу сделать задания:
1.разработать программу в соответствии с заданием, используя, в том числе уже реализованные структуры и функции.
2.дополнить программу предыдущей работы,функциями сохранения данных в файл,загрузки данных из файла и уничтожения обрабатываемых данных.
3.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2013, 07:26     Реализовать под счет длин отдельных ломанных и сортировку по цвету
Посмотрите здесь:

C++ Реализовать сканирование по цвету
C++ Реализовать внешнюю сортировку слиянием для n файлов
C++ Как реализовать такую сортировку??
Реализовать класс Account, представляющий собой банковский счет. В классе должны быть четыре поля C++
Реализовать класс Account, представляющий собой банковский счет C++
Реализовать сортировку по возрастанию и убыванию C++
C++ Реализовать сортировку выбором
Реализовать сортировку точек C++
Как реализовать сортировку вставками? C++
Реализовать сортировку двумерного динамического массива C++
C++ Реализовать сортировку вставками
C++ Реализовать сортировку методом Шелла

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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