- 1
-
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+149
-
+60
for(int i=0;i<m;i++){
if(i>0 && a[i-1][j]>=a[i][j])continue;
if(i+1<n && a[i+1][j]>=a[i][j])continue;
if(j>0 && a[i][j-1]>=a[i][j])continue;
if(j+1<m && a[i][j+1]>=a[i][j])continue;}
Я так и не понял, в чем смысл этого цикла, ну да ладно.
+62
struct ErrorCodes
{
#define ERROR_ISNT_TEMPLATE_FILE -1
#define ERROR_ISNT_VALID_TEMPLATE_FILE -2
};
+49
(*items)[item] += 1;
указатель на map + operator[]
такое
+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>