Форум программистов, компьютерный форум, киберфорум
TypeScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 01.09.2015
Сообщений: 3

Разбор кода

10.03.2019, 21:35. Показов 1879. Ответов 1

Студворк — интернет-сервис помощи студентам
Есть код, нужна помощь с разбором. Я новичок в этом деле, не судите строго.
На сколько мне известно, есть граф и для него строится матрица смежности, а потом проверяется. Эта функция проверяет построенную матрицу. У меня возникли проблемы с синтаксисом, поэтому и прошу помощи
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
calculate() {
    const graph = store.getState().graph;
    let res = 0;
    graph.vertices.forEach((v: IVertexView, index: number) => {
       graph.vertices.forEach((w: IVertexView, jndex: number) => {
          const e = graph.edges.find((edge: IEdgeView) =>
              edge.vertexTwo === v.name && edge.vertexOne === w.name
                || edge.vertexOne === v.name && edge.vertexTwo === w.name);
          if (index !== jndex && (this.values[index][jndex] === 0 && e !== void 0
            || this.values[index][jndex] !== 0 && e === void 0)) {
              res++;
          } else if (index === jndex && this.values[index][jndex] !== 1) {
              res++;
          }
       });
    });
    // tslint:disable-next-line
    console.log(res);
    return { success: res === 0, fee: res };
  }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.03.2019, 21:35
Ответы с готовыми решениями:

Разбор кода
$('form').submit(function(e) { return false; }); $('#button-1').timedDisable(10000); $('input').focus(function() { ...

Разбор сложного кода, как он работает
Всем привет! Я .NET программист, но сейчас судьба заставила парсить сайт со списком прокси серверов России. Собственно, имею некоторые...

Разбор кода на С
Всем привет, объясните пожалуйста поэтапно, как реализуется этот код! int x, ost, y=0, i; printf("Введите пятизначное...

1
 Аватар для Vaderkos
84 / 83 / 8
Регистрация: 31.03.2015
Сообщений: 447
19.02.2020, 12:53
juy13,
1. Пожалуйста не присылайте минифицированный код, нужен исходник, это же читать невозможно.
2. Разбейте свой код на атомарные операции, скорее всего ошибка в условии которое используется для поиска е, тут не явен порядок условий - используйте скобки, сделайте функцию которая выделяет операцию.
3. Используйте деструктуризацию что бы уменьшить число повторений в коде.
4. Приведите полный пример кода, не известен контекст this
5. Не используйте глобальный подход, данная функция явно может быть использована без обьекта, передайте ей все необходимые параметры.
6. Если это функция проверки
Цитата Сообщение от juy13 Посмотреть сообщение
Эта функция проверяет построенную матрицу.
Не используйте для неё название которое будет ей соответствовать, calculate ни о чем не говорит (как вариант isAdjacencyMatrixCorrect).

Этот код только пример
JavaScript
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
/**
 * Some types
 */
type IEdgeView = {
    vertexOne: string,
    vertexTwo: string
}
 
type IVertexView = {
    name: string
}
 
type Graph = {
    vertices: Array<IVertexView>,
    edges: Array<IEdgeView>
};
 
function isAdjacencyMatrixCorrect (values: any, { vertices, edges }: Graph) {
    let count = 0;
 
    vertices.forEach((vertex1, i1) =>
        vertices.forEach((vertex2, i2) => {
            if (i1 === i2 && values[i1][i2] !== 1) {
                count++;
                return;
            }
 
            if (i1 !== i2) {
                const edge = edges.find(({ vertexOne, vertexTwo }: IEdgeView) =>
                       (vertexOne === vertex1.name && vertexTwo === vertex2.name)
                    || (vertexOne === vertex2.name && vertexTwo === vertex1.name)
                );
 
                const isEdgeFound = typeof edge !== 'undefined';
                const isValueNotZero = values[i1][i2] !== 0;
 
                if (   ( isEdgeFound && !isValueNotZero)
                    || (!isEdgeFound &&  isValueNotZero)   ) {
                    count++;
                }
            }
        }
    ))
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.02.2020, 12:53
Помогаю со студенческими работами здесь

Разбор кода
Здравствуйте! Разбираюсь с подгрузкой контента без перезарузки страницы, делал по уроку на ютюбе, там все срабатывает, а у меня нет, не...

Разбор кода
Привет, пытаюсь разобрать вот такой кусок кода: cmp cx,osnout*osnout*osnout*osnout jb l2 sub cx,osnout*osnout*osnout*osnout что...

Разбор кода
Есть код. Помогите пожалуйста в нём разобраться. А точнее. Какие функции в нём присутствуют,что они выполняют(описание функций). Какой...

Разбор кода
Помогите разобраться с кодом. В чём ошибка? qry1.Close; qry1.SQL.Clear; qry1.SQL.Text := 'UPDATE Sotrudniki SET '+ edit1.text + ' = '...

Разбор кода
setlocal EnableDelayedExpansion @echo off for /f &quot;tokens=*&quot; %%a in (1.txt) do ( set x=%%a set x=!x:&quot;= ! for /f...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка 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 существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru