Показать сообщение отдельно
  #1  
Старый 13.02.2016, 12:01
Аватар для salkov
salkov salkov вне форума
Подполковник
 
Регистрация: 25.02.2013
Сообщений: 179
Сказал(а) спасибо: 14
Поблагодарили 66 раз(а) в 32 сообщениях
salkov Лидер Группы
По умолчанию Помогите запустить код на си++

У кого есть VS и мощный комп отпишите плиз в лс, я вам код скину запустите его, а мне только нужен потом файл с результатами, на своем компе просто другая прога считает уже.
[SPOILER="kod"]#include <vector>
#include <fstream>
using namespace std;

bool g1(bool a, bool b, bool c, bool d)
{
return(a^b ^ (c&(d^1)) ^ 1);
}
void main()
{
std::vector<int> vector;
//ofstream f("test3.txt");
//ofstream f1("test4.txt");
ofstream f("analize17.txt");
const int len = 17;
bool ent[len + 2];//входной регистр
ent[len] = 0;
ent[len + 1] = 0;
int kol[131072];//выходы в 10ой форме для сортировки
bool ex[len];//выходной регистр
int count = 0;//счетчик различных выходов
//длина регистров
//первое преобразование из ent в ex
for (int i = 0;i < pow(2,len);i++)
{
int s = 0;
for (int k = 0;k < len;k++)
{
ent[k] = (bool)((i >> (len - 1 - k) & 1));
//f << ent[k];
}
//f<< "\n";
for (int j = 0;j < len;j++)
{
ex[((4 * j) % len)] = g1(ent[j], ent[j + 3], ent[j + 1], ent[j + 2]);

}
for (int k = 0;k < len;k++)
{
s = s + ex[k] * pow(2, len - 1 - k);
//f<<ex[k];

}
kol[i] = s;
//f << kol[i];
//f << endl;
}
//сортировка(стоит передалать для общего случая)
int temp;
for (int i = 0; i < pow(2, len); i++)
{
temp = kol[i];
for (int j = i + 1; j < pow(2,len); j++)
{
if (temp == kol[j])
kol[j] = -1;
}
//f << kol[i];
//f << endl;
}
//счетчик в отсортированном массиве

for (int i = 0;i < pow(2,len);i++)
{

if (kol[i] > 0)
{
f << kol[i] << endl;
vector.push_back(kol[i]);
count = count + 1;
}
}

f << "stage1:" << count;
f << endl;
//f.close();
//втрое-четвертое преобразование
for (int k = 0;k < 3;k++)
{
int count2 = 0;

int size = vector.size();

for (int i = 0;i < size;i++)
{
int s = 0;
for (int k = 0;k < len;k++)
{
ent[k] = (bool)((vector[i] >> (6 - k) & 1));
//f << ent[k];
}
//f<< "\n";
for (int j = 0;j < len;j++)
{
ex[((4 * j) % len)] = g1(ent[j], ent[j + 3], ent[j + 1], ent[j + 2]);

}
for (int k = 0;k < len;k++)
{
s = s + ex[k] * pow(2, 6 - k);
//f<<ex[k];

}
kol[i] = s;
//f << kol[i];
//f << endl;
}
//сортировка(стоит передалать для общего случая)
for (int i = 0; i < size; i++)
{
temp = kol[i];
for (int j = i + 1; j < pow(2,len); j++)
{
if (temp == kol[j])
kol[j] = -1;
}

}
//счетчик в отсортированном массиве
vector.erase(vector.begin(), vector.end());
for (int i = 0;i < pow(2,len);i++)
{

if (kol[i] > 0)
{
f << kol[i];
f << endl;
vector.push_back(kol[i]);
count2 = count2 + 1;
}
}

f <<"stage"<<k+2<<":"<< count2<<endl;
}
f.close();
//f1.close();
}[/SPOILER]

Последний раз редактировалось salkov; 13.02.2016 в 12:13.
Ответить с цитированием