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

Программно реализовать метод ядерных строк - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Матрицы http://www.cyberforum.ru/cpp-beginners/thread1103161.html
// ConsoleApplication11.cpp: главный файл проекта. #include "stdafx.h" #include <iostream> #include <conio.h> using namespace System; using namespace std; int Matrica1() {
C++ Как исправить одномерный массив на двумерный, чтобы результат матрицей выдавало? #include "stdafx.h" #include <iostream> #include "math.h" #include "stdlib.h" using namespace std; int main() { setlocale(LC_ALL,"Russian"); // Эта строчка для русских символов в консоле http://www.cyberforum.ru/cpp-beginners/thread1103143.html
Сомневаюсь в правильности ответа C++
У меня вот что получилось int n; float sum = 0;float x; x = 10; for(n = 1;n <= 10;n++); { sum = (n+1)/pow(x,n); } cout<<"Otvet = "<<sum<<endl; system("pause");
Определить, является ли текст шестнадцатеричной записью числа, кратного 5 (Pascal -> C++) C++
Помогите пожалуйста перевести из Pascal в С++ Задан текст, в который входят только цифры и буквы. Определить, является ли этот текст шестнадцатеричной записью числа, кратного 5. var b:set of char; a:string; c,sum,i,f:integer; begin b:=; readln (a); for i:=1 to length(a) do
C++ Даны значения A,B,C. Если A>B, B>C, то... http://www.cyberforum.ru/cpp-beginners/thread1103122.html
Условия задачи: "Даны значения A,B,C. Если A>B, B>C, то присвоить x = 0.2;y = x^2+0.6x+sin(x/2);если b<c и a<c,то x = 2; y = x^3+x^2+x+1; в остальных случаях x = 0, y = 0 ". Вот код: #include "stdafx.h" #include <iostream> #include <conio.h> //подключает dos using namespace std; void main()
C++ Switch Ошибка в 19 строке: n cannot appear in a constant-expression (потому что n это переменная?). #include <iostream> #include <math.h> #include <conio.h> using namespace std; int main() { setlocale (LC_ALL , "Russian"); подробнее

Показать сообщение отдельно
yulik18
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 5

Программно реализовать метод ядерных строк - C++

23.02.2014, 03:18. Просмотров 347. Ответов 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
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#include<stdio.h>
#include<iostream.h>
intmain()
{
int i, j, k,m, sum[10]={0}, rt, se, sum1[10]={0}, max=-1, mas[10]={0,1,2,3,4,5,6,7,8,9}, s, t=10;
int znak[10]={10}, b=0, post;
int core[10], io=0, zor=0, tos=0, sot=0, pogl[10]={11,11,11,11,11,11,11,11,11,11},p, sum2[10]={0};
char arr[10]={'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'};
int a[10][10] = { {1,0,1,0,0,0,0,1,0,1},
                      {0,1,1,0,0,1,0,0,1,0},
                      {0,0,1,0,0,0,1,0,0,1},
                      {0,1,0,0,0,1,0,1,0,0},
                      {0,0,0,1,0,1,1,1,0,1}, 
                      {0,0,1,0,1,0,0,1,1,0},
                      {0,1,0,0,0,1,0,0,1,0}, 
                      {0,1,0,1,0,1,1,0,0,0}, 
                      {0,1,0,0,0,0,0,1,1,1},
                      {0,0,1,1,0,0,1,0,1,1}};
puts ("Введитеколичество строк:");
scanf ("%d", &k);
puts ("Введитеколичествостолбцов:");
scanf ("%d", &m);
for(i=0;i<k;i++)
{
printf ("%c = ", arr[i]);
for(j=0;j<m;j++)
{
cout<< a[i][j]<<" ";
}
cout<<endl;
}
for (rt=0; rt<10; rt++)
{
sum[rt]=0;
}
for(i=0;i<m;i++)  // Пошук ядерних стовпчиків
{
for (se=0; se<t; se++)
{
if (i==mas[se])
{
for(j=0;j<k;j++)
{
sum[i]=sum[i]+a[j][i];
}
if (sum[i]==1) { core[io]=i; io++; }
}}}
for (rt=0; rt<10; rt++)
{
sum1[rt]=0;
}
for (i=0; i<k; i++) // Пошук ядерних рядків
{
for (int lost=0; lost<io; lost++)
{
if (a[i][core[lost]]==1)
{
znak[zor]=i;
zor++;
}}}
s=0;
for (i=0; i<m; i++)
{
for (se=0; se<t; se++)
{
if (i==mas[se])
{
if (a[znak[0]][i]+a[znak[1]][i]==0)
{
mas[s]=i;
s++;
}}}}
for (rt=s; rt<10; rt++)
{
mas[rt]=11;
}
p=0;
for (i=0; i<s; i++)
{
tos=0;
for (j=0; j<k; j++)
{
if (i+1<s)
{
if (a[j][mas[i]]>=a[j][mas[i+1]])
{
tos++;
}
if (a[j][mas[i]]<=a[j][mas[i+1]])
{
sot++;
}}}
if (tos==k) {
mas[i]=11;
}
if (sot==k) { mas[i]=11;
}}
int qwe=0, r=0;
 
for (i=0; i<10; i++)
{
if (mas[i]!=11) qwe++;
}
for (i=0;i<k;i++)
{
for (j=0; j<qwe; j++)
{
for (r=0; r<k; r++)
{
if (j==mas[r])
{
sum2[i]=sum2[i]+a[i][mas[j]];
}}}
if (sum2[i]>max) max=sum2[i];
}
int roz;
roz=zor;
for (i=0; i<k; i++) // остання перевірка
{
if (sum2[i]==max)
{znak[roz]=i;
roz++;}
}
for (i=0; i<zor-1; i++)
{
if (znak[i]>znak[i+1])
{
post=znak[i];
znak[i]=znak[i+1];
znak[i+1]=post;
}}
int rozzor=roz-zor;
printf ("\nПокриття:\n");
for (j=0; j<(rozzor); j++)
{
printf ("%c", arr[znak[i]]);
}
printf ("%c", ar
r[znak[zor+j]]);
printf ("\n");}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru