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

Сравнени двух матриц (NxN-1) и (MxM-1) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вопрос про __function http://www.cyberforum.ru/cpp-beginners/thread172838.html
вопрос глупый, но все же: зачем в названии функциях пишут две __ - void __Plus(int a); - пример int __Display(int b) это для красоты кода(если честно не понимаю чего красивого) или это что-то другое?
C++ Используя датчик случайных чисел, получить координаты вершин треугольника x1, y1, x2, y2, x3, y3, принадлежащие отрезку [-5,5] Составьте программу для выполнения следующих заданий: 1. Ввести с клавиатуры длины отрезков a, b и c. 2. Проверить, могут ли быть эти отрезки сторонами треугольника, и вывести соответствующее сообщение. 3. Используя формулу Герона и теоремы синусов и косинусов, вычислить периметр и площадь треугольника, высоты ha, hb и hc, медианы ma, mb и mc и биссектрисы la, lb и lc треугольника. ... http://www.cyberforum.ru/cpp-beginners/thread172833.html
матрица инцидентности C++
матрица инцидентности задано множество пар вершин, построить матрицу инцидентности как вывести матрицу инцидентности?? cout<<"\nvvedite kilkist vershin: "; cin>>n; int kr; //введення cout<<"\n"<<"vvedite pochergovo rebra (po zavershenu vvedite '0'):"<<"\n";
Нужно Составить алгоритм расчета по двум формулам C++
Всем привет! Нужно написать код что бы пользователь мог ввести число переменной и программа всё должна посчитать и выдать результат Z1 и Z2 (Ответ должен получиться одинаковый)
C++ Добавление элем в список http://www.cyberforum.ru/cpp-beginners/thread172810.html
Помогите написать программу для добавление нового элемента в однонаправленный список перед минимальным ключом списка. Добавление элем реализую в "void los::dobavlenie()" Пока получилось только вставлять элемент в конец списка. А как вставить элемент перед нужным нам элементом, то есть перед минимальным. #include<iostream.h> #include<conio.h> #include<stdio.h> #include<iomanip.h> class los...
C++ Златопольский Д М Есть отличнейший задачник Златопольский Д. М. "Сборник задач по программированию " но решений в нём нет((( и найти их что-то не получаеться, может у кого есть, а то задачи решаю и очень хотелось бы свериться! подробнее

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
06.10.2010, 13:20     Сравнени двух матриц (NxN-1) и (MxM-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
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
 
typedef struct {
    double x;
    double y;
} point_t;
 
double distance(point_t *a, point_t *b) {
    return sqrt(pow(a->x - b->x, 2) + pow(a->y - b->y, 2));
}
 
#define NPOINTS 5
 
int main() 
{
    int i = 0;
    int j = 0;
    int k = 0;
    point_t points[NPOINTS];
    double distances[NPOINTS][NPOINTS];
    
    for(i = 0; i < NPOINTS; ++i) {
        points[i].x = (double)rand() / rand();
        points[i].y = (double)rand() / rand();
    }
    
    for(i = 0; i < NPOINTS; ++i) {
        printf("%d: [%f, %f]\n", i, points[i].x, points[i].y);
    }
    printf("\n");
    
    for(i = 0; i < NPOINTS; ++i) {
        for(j = 0; j < NPOINTS; ++j) {
            distances[i][j] = distance(&points[i], &points[j]);
        }
    }
    
    for(i = 0; i < NPOINTS; ++i) {
        for(j = 0; j < NPOINTS; ++j) {
            printf("%f ", distances[i][j]);
        }
        printf("\n");
    }
    
    return 0;
}
Код
0: [2.130386, 0.980787]
1: [4.614736, 0.436358]
2: [0.501426, 0.759134]
3: [0.710526, 1.039331] 
4: [0.886260, 0.233295]

0.000000 2.543305 1.643971 1.421067 1.451410 
2.543305 0.000000 4.125955 3.950498 3.734001 
1.643971 4.125955 0.000000 0.349619 0.651617 
1.421067 3.950498 0.349619 0.000000 0.824971 
1.451410 3.734001 0.651617 0.824971 0.000000
Остается сформировать еще одну матрицу, и найти подматрицу в матрице - что в принципе не очень то сложно. Вы только ответьте на вопрос насчет файлов. Сейчас точки генерируются случайным образом.

Добавлено через 2 минуты
Цитата Сообщение от silent_1991 Посмотреть сообщение
Для простоты реализации сравнения всё же думаю, что удобнее хранить расстояния не в векторе, а в матрице. Да и нагляднее, когда есть матрица. Проще плоскость представлять.
Конечному пользователю в итоге будет пофигу, как храняться данные. А память сэкономить всегда приятно
Возможно, если повыситься точность данных, то точек станет еще больше, следовательно время перебора заметно ускориться.
 
Текущее время: 20:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru