- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
int getObjectsCount() const { ... }
...
void restoreObjects()
{
...
const unsigned int objectsCount = restoreInt();
assert(objectsCount == objects.getObjectsCount());
...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+59
int getObjectsCount() const { ... }
...
void restoreObjects()
{
...
const unsigned int objectsCount = restoreInt();
assert(objectsCount == objects.getObjectsCount());
...
}
Ансайнд, туда и обратно
+58
#include "stdafx.h"
#define n 3
void PrintMatrix(vector<vector<float> >imatrix)
{
for (size_t i = 0; i < n; ++i)
{
cout << endl;
for (size_t j = 0; j < n; ++j)
{
cout.precision(3);
cout << " " << imatrix[i][j];
}
}
}
void ReverseMatrix(vector<vector<float> >imatrix, float determ)
{
float t = 0;
for (size_t i = 0; i < n; i++)
{
for (size_t j = 0; j < n; j++)
{
t = imatrix[i][j] * (1 / determ);
imatrix[i][j] = t;
}
}
PrintMatrix(imatrix);
}
void TransposedMatrix(vector<vector<float> >imatrix, float determ)
{
float t = 0;
for (size_t i = 0; i < n; i++)
{
for (size_t j = i; j < n; j++)
{
t = imatrix[i][j];
imatrix[i][j] = imatrix[j][i];
imatrix[j][i] = t;
}
}
ReverseMatrix(imatrix, determ);
}
void MinorMatrix(vector<vector<float> >imatrix, float determ)
{
vector<vector<float> >imatrix2(n);
float t = 0.0;
for (size_t i = 0; i < n; ++i)
{
imatrix2[i].resize(n);
for (size_t j = 0; j < n; ++j)
{
if (i == 0)
{
switch (j){
case 0: imatrix2[i][j] = imatrix[i + 1][j + 1] * imatrix[i + 2][j + 2] - imatrix[i + 1][j + 2] * imatrix[i + 2][j + 1]; t = imatrix2[i][j];break;
case 1: imatrix2[i][j] = (imatrix[i + 1][j - 1] * imatrix[i + 2][j + 1] - imatrix[i + 2][j - 1] * imatrix[i + 1][j + 1]) * (-1); t = imatrix[i][j]; break;
case 2: imatrix2[i][j] = imatrix[i + 1][j - 2] * imatrix[i + 2][j - 1] - imatrix[i + 1][j - 1] * imatrix[i + 2][j - 2];t = imatrix2[i][j];break;
}
}
if (i == 1)
{
switch (j){
case 0: imatrix2[i][j] = (imatrix[i - 1][j + 1] * imatrix[i + 1][j + 2] - imatrix[i - 1][j + 2] * imatrix[i + 1][j + 1]) * (-1);t = imatrix2[i][j];break;
case 1:imatrix2[i][j] = imatrix[i - 1][j - 1] * imatrix[i + 1][j + 1] - imatrix[i - 1][j + 1] * imatrix[i + 1][j - 1];t = imatrix2[i][j];break;
case 2:imatrix2[i][j] = (imatrix[i - 1][j - 2] * imatrix[i + 1][j - 1] - imatrix[i - 1][j - 1] * imatrix[i + 1][j - 2]) * (-1);t = imatrix2[i][j];break;
}
}
if (i == 2)
{
switch (j){
case 0: imatrix2[i][j] = imatrix[i - 2][j + 1] * imatrix[i - 1][j + 2] - imatrix[i - 1][j + 1] * imatrix[i - 2][j + 2];t = imatrix2[i][j];break;
case 1:imatrix2[i][j] = (imatrix[i - 2][j - 1] * imatrix[i - 1][j + 1] - imatrix[i - 1][j - 1] * imatrix[i - 2][j + 1]) * (-1);t = imatrix2[i][j];break;
case 2: imatrix2[i][j] = imatrix[i - 2][j - 2] * imatrix[i - 1][j - 1] - imatrix[i - 2][j - 1] * imatrix[i - 1][j - 2];t = imatrix2[i][j];break;
}
}
}
}
imatrix.clear();
TransposedMatrix(imatrix2, determ);
}
void FindDeterminant(vector<vector<float> >imatrix)
{
float determ = imatrix[0][0] * imatrix[1][1] * imatrix[2][2] + imatrix[2][0] * imatrix[0][1] * imatrix[1][2] + imatrix[1][0] * imatrix[2][1] * imatrix[0][2] - imatrix[2][0] * imatrix[1][1] * imatrix[0][2] - imatrix[0][0] * imatrix[2][1] * imatrix[1][2] - imatrix[1][0] * imatrix[0][1] * imatrix[2][2];
if (determ == 0)
{
cout << "Determinant = 0 ==> Reverse matrix doesn't exist";
system("pause");
exit(0);
}
MinorMatrix(imatrix, determ);
}
Вот таких студентов учить приходится. От оно как матрицы 3*3 инвертируют.
Больше лучей ненависти тут:
https://github.com/PLaGInc/Lab1/issues/3
+54
std::pair<long double, long double> Calculator::leastsquares(const QVector<double> &x, const QVector<double> &yy) const
{
QVector<double> y = yy;
for (int i = 0; i < y.size(); ++i) {
y[i] += 1.0;
}
long double A, B, a = 0, b = 0, at = 0, tt = 0, bt = 0, tmp = 0;
for (int i = 0; i < x.size(); ++i) {
tmp += x[i] * x[i] * y[i];
}
a = tmp;
tmp = 0;
for (int i = 0; i < x.size(); ++i) {
tmp += y[i] * log(y[i]);
}
a *= tmp;
tmp = 0;
for (int i = 0; i < x.size(); ++i) {
tmp += y[i] * x[i];
}
at = tmp;
tmp = 0;
for (int i = 0; i < x.size(); ++i) {
tmp += y[i] * x[i] * log(y[i]);
}
at *= tmp;
tmp = 0;
a -= at;
for (int i = 0; i < x.size(); ++i) {
tmp += y[i];
}
at = tmp;
tmp = 0;
for (int i = 0; i < x.size(); ++i) {
tmp += x[i] * x[i] * y[i];
}
tt = at * tmp;
tmp = 0;
for (int i = 0; i < x.size(); ++i) {
tmp += x[i] * y[i];
}
tt -= tmp * tmp;
tmp = 0;
a /= tt;
A = exp(a);
for (int i = 0; i < x.size(); ++i) {
tmp += y[i];
}
b = tmp;
tmp = 0;
for (int i = 0; i < x.size(); ++i) {
tmp += x[i] * y[i] * log(y[i]);
}
b *= tmp;
tmp = 0;
for (int i = 0; i < x.size(); ++i) {
tmp += y[i] * x[i];
}
bt = tmp;
tmp = 0;
for (int i = 0; i < x.size(); ++i) {
tmp += y[i] * log(y[i]);
}
bt *= tmp;
tmp = 0;
b -= bt;
b /= tt;
B = b;
return std::make_pair(A, B);
}
+47
int sync1; sync1 = 50;
int sync[sync1];
for (i=0; i<50; i++) {
sync[i] = 0;
}
+57
double g(void) {
int i;
for (i = 0; i < N; i++) {
return (3*psi[i] + 25) * (0.1);
}
}
Попросили посмотреть код. Привожу как есть.
+52
#include <boobs_1_57_0/boost/range.hpp>
+144
info->cipher_oid = oid_to_string(p->header2->header3->header4->header5->cipher_oid);
info->hash_oid = oid_to_string(p->header2->header3->header4->header5->hash_oid);
Вчера наговнокодил.
+54
std::list<CCPoint> GameMap::stringToCCPArray(std::string points_string, float _x, float _y)
{
points_string.push_back(' ');
std::list<CCPoint> CCPList = list<CCPoint>();
float x = 0.0f;
float y = 0.0f;
unsigned int len = 0;
bool isCurrentX = true;
for(std::string::iterator it = points_string.begin(); it != points_string.end(); ++it){
int q = 0;
len > 0 ?
--len: (isdigit(*it) ?
(q = atoi(&(*it)), len = countNumbersInInt(q),
isCurrentX ?
x = atoi(&(*it)): y = atoi(&(*it))) :
*it == ',' ?
(isCurrentX = false): (CCPList.push_back(ccp(x,(-1 * y))), x = 0.0f, y = 0.0f, isCurrentX = true)) ;
}
return CCPList;
}
+56
int count = 0;
while (condition) {
if (count == 5) { // Kind of like sleeping for 0.2 milliseconds
Sleep(1);
count = 0;
}
// Do whatever.
count++;
}
Последний ответ, показывает способ усыпить комп на 0.2 ms. И это после ответов со всякими сокетами, boost-таймерами и прочей мутью. Ответ такой типа, эй, чуваки вы ничо не понимаете, вот как надо, удобно же че бы нет))
http://stackoverflow.com/questions/85122/how-to-make-thread-sleep-less-than-a-millisecond-on-windows/11456112#11456112
+58
unsigned long long int getSumUtil(unsigned long long int *st, unsigned long long int ss, unsigned long long int se, unsigned long long int qs, unsigned long long int qe, unsigned long long int index)
//cout<<"here";
//prunsigned long long intf("here");
//printf("%llu\n%llu\n%c",i,j,type);
По следам prunsigned intf из http://govnokod.ru/17791.
http://www.codechef.com/viewplaintext/3039072
Ctrl+H - наш ответ typedef!