0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 23
1

Конвертация в с++

01.02.2020, 23:53. Показов 943. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется код написанный для Scilab
Matlab M
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
Image = [0 0 0 0 0 0 0 1 0 0 0;
     0 0 0 1 1 0 0 1 0 0 0;
     0 0 0 1 1 0 0 1 1 0 0;
     0 1 1 1 1 0 0 1 1 1 1;
     0 1 1 1 1 0 0 0 0 0 0;
     0 1 1 1 0 0 0 0 0 0 0;
     0 0 0 0 0 0 0 0 0 0 0;
     0 0 0 0 0 0 0 1 1 0 0;
     0 0 0 0 0 0 1 1 1 0 0;
     0 1 1 0 0 1 1 1 1 0 0;
     0 1 1 0 0 1 1 1 1 1 1;
     0 1 1 1 0 1 1 0 1 1 0;
     0 0 0 0 0 0 0 0 0 0 0]
Matplot(Image*255) 
[m,n]=size(Image); 
km = 0; kn = 0;
cur = 1; 
 
for i = 1:1:m
  for j = 1:1:n
    kn = j1;
    if kn <= 0 then
      kn = 1;
      B = 0;
    else
      B = Image(i,kn);
    end
    km = i1;
    if km <= 0 then
      km = 1;
      C = 0;
    else
      C = Image(km,j);
    end
    A = Image(i,j);
    if A == 0 then 
    elseif B == 0 & C == 0 then
        cur = cur + 1;
        Image(i,j) = cur;
    elseif B ~=0 & C == 0 then
        Image(i,j) = B;
    elseif B == 0 & C ~= 0 then
        Image(i,j) = C;
    elseif B ~= 0 & C ~= 0 then       
        if B == C then
          Image(i,j) = B;
        else
          Image(i,j) = B;
          Image(Image == C) = B;
        end
    end
  end
end

Вроде бы всё понятно и это возможно перевести в с++:

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
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
const int m = 13;
const int n = 11;
int Image[m][n] = {
                {0,0,0,0,0,0,0,1,0,0,0},
        {0,0,0,1,1,0,0,1,0,0,0},
        {0,0,0,1,1,0,0,1,1,0,0},
        {0,1,1,1,1,0,0,1,1,1,1},
        {0,1,1,1,1,0,0,0,0,0,0},
        {0,1,1,1,0,0,0,0,0,0,0},
        {0,0,0,0,0,0,0,0,0,0,0},
        {0,0,0,0,0,0,0,1,1,0,0},
        {0,0,0,0,0,0,1,1,1,0,0},
        {0,1,1,0,0,1,1,1,1,0,0},
        {0,1,1,0,0,1,1,1,1,1,1},
        {0,1,1,1,0,1,1,0,1,1,0},
        {0,0,0,0,0,0,0,0,0,0,0}
    };
int km = 0;
int kn = 0;
int cur = 1;
int A, B, C;
 
int main ()
{
for (int i = 1; i < m; i++)
{
    for (int j = 1; j < n; j++)
    {
        kn = j - 1;
        if (kn <= 0 )
        {
            kn = 1;
            B = 0;
        }
        else
        B = Image[i][kn];
    
    
        km = i - 1;
        if (km <= 0)
        {
          km = 1;
          C = 0;
        }
        else
        C = Image[km][j];
    
    A = Image[i][j];
    if (A == 0)
    ;
     
    else if ((B == 0) && (C == 0))
     
        {
            cur = cur + 1;
            Image[i][j] = cur;
        }
        
    else if ((B != 0) && (C == 0)) 
    {
        Image[i][j] = B;
    }
    else if ((B == 0) && (C != 0))
    {
        Image[i][j] = C;
    }
    else if ((B != 0) && (C != 0))
    {       
        if (B == C) 
        {
          Image[i][j] = B;
        }
        else
          Image[i][j] = B;
         [B][U] Image(Image == C) = B;[/U][/B]
    }
}
}
return 0;
}
Единственное - что значит эта строчка:
Image(Image == C) = B;

и как её перевести на с++?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.02.2020, 23:53
Ответы с готовыми решениями:

Конвертация
Доброго времени суток! Ребят подскажите чем можно конвертировать видео с расширением MOB в AVI или...

Конвертация 77 -> 8.2
В 77 договоры контрагентов представлены как документы В 82 как справочник При конвертации...

1C Конвертация 77 -> 8.2
В 77 договоры контрагентов представлены как документы В 82 как справочник При конвертации...

Конвертация 8.1 -> 8.2
Всем привет! Еще один вопрос) У нас есть база на 8.1 например мне нужно конвертировать ее на 8.2...

1
6829 / 4889 / 2065
Регистрация: 02.02.2014
Сообщений: 13,046
02.02.2020, 10:09 2
на с это двойной цикл

пример на scilab
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
a=[1 2 3; 4 5 6]
// короткий способ
a(a==3)=0
// длинный способ
for i=1:2
    for j=1:3
        if a(i,j)==3 then
            a(i,j)=0
        end
    end
end
disp(a)
0
02.02.2020, 10:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.02.2020, 10:09
Помогаю со студенческими работами здесь

Конвертация C++ в C#
Всем привет, не знаю C++, но очень нужно конвертировать данный код, помогите пожалуйста:cry:...

Конвертация
Добрый день всем! У меня вот какой вопрос. Имеется страница на UTF-8. Ее требуется...

конвертация 7.7 в 8.1
Ищу программиста 1с для выполнения единоразовой работы: конвертации справочников, документов,...

Конвертация из 7.7 в 8.3
Пробую конвертировать справочник статьи затрат. Загрузила метаданные. Делаю ПКС. Для кода...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru