- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
#include <string>
#include <iostream>
int main() {
std::string kakoi("Какой багор )))", 5);
std::string bagor((std::string)"Какой багор )))" , 5);
std::cout << kakoi << bagor << std::endl;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
#include <string>
#include <iostream>
int main() {
std::string kakoi("Какой багор )))", 5);
std::string bagor((std::string)"Какой багор )))" , 5);
std::cout << kakoi << bagor << std::endl;
}
Наверняка было, но ладно.
https://ideone.com/syFnI2
+1
board = [" ", " ", " "], \
[" ", " ", " "], \
[" ", " ", " "]
i = 1
win = True
place_chek = True
def show():
print("---------")
print("|" + board[0][0] + " " + board[0][1] + " " + board[0][2] + "|")
print("|" + board[1][0] + " " + board[1][1] + " " + board[1][2] + "|")
print("|" + board[2][0] + " " + board[2][1] + " " + board[2][2] + "|")
print("---------")
def move(i):
if i % 2 == 0:
return "X"
else:
return "0"
def choise(x, y):
board[x][y] = move(i)
def repeat(x, y):
global i
global place_chek
if board[x][y] == "0":
print()
print("Choose another location")
print()
place_chek = False
elif board[x][y] == "X":
print()
print("Choose another location")
print()
place_chek = False
elif board[x][y] == " ":
i = i + 1
place_chek = True
def win_check():
global win
if board[0][0] == board[0][1] == board[0][2] == "X" or \
board[1][0] == board[1][1] == board[1][2] == "X" or \
board[2][0] == board[2][1] == board[2][2] == "X" or \
board[0][0] == board[1][0] == board[2][0] == "X" or \
board[0][1] == board[1][1] == board[2][1] == "X" or \
board[0][2] == board[1][2] == board[2][2] == "X" or \
board[0][0] == board[1][1] == board[2][2] == "X" or \
board[0][2] == board[1][1] == board[2][0] == "X":
print("X won")
win = False
elif board[0][0] == board[0][1] == board[0][2] == "0" or \
board[1][0] == board[1][1] == board[1][2] == "0" or \
board[2][0] == board[2][1] == board[2][2] == "0" or \
board[0][0] == board[1][0] == board[2][0] == "0" or \
board[0][1] == board[1][1] == board[2][1] == "0" or \
board[0][2] == board[1][2] == board[2][2] == "0" or \
board[0][0] == board[1][1] == board[2][2] == "0" or \
board[0][2] == board[1][1] == board[2][0] == "0":
print("0 won")
win = False
show() # first time show
while win:
x, y = input("Enter the coordinates: ").split()
repeat(int(x) - 1, int(y) - 1)
if place_chek:
choise(int(x) - 1, int(y) - 1)
show()
win_check()
Крестики нолики на питоне. Самый большой позор это способ определение победы, не смог ничего придумать и сделал такой позор
0
void s_sort(int *a, size_t sz)
{
if ((sz == 0) || (sz == 1))
{
return;
}
if (sz == 2)
{
int a_max = a[0] > a[1] ? a[0] : a[1];
int a_min = a[0] > a[1] ? a[1] : a[0];
a[0] = a_min;
a[1] = a_max;
return;
}
s_sort(a, sz - 1);
s_sort(a + 1, sz - 1);
s_sort(a, sz - 1);
}
Крайне тупая по своей сути рекурсивная сортировка. Есть ли у нее название?
Вряд ли она имеет какое-то практическое применение именно как сортировка, но зато можно ее переписать на какой-нибудь Coq и об нее доказывать другие сортировки. Типа если какая-то там другая сортировка на всех возможных входных массивах выдает то же, что и выдает вот эта сортировка, то сортировка правильная.
−2
We’ve heard your feedback that you want Visual Basic on .NET Core
https://devblogs.microsoft.com/vbteam/visual-basic-support-planned-for-net-5-0/
+3
Новогодний оффтоп #1
Перекатить через год.
0
#include <iostream>
using namespace std;
const char _Arr_Digit [] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'},
_Arr_Mantissa [] = {'e', 'E'},
_Arr_Sign [] = {'-', '+'},
_Arr_Dot[] = {'.'},
_Arr_Combo[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.'};
const bool DIGIT = false, SIGN = false, OTHER = true;
bool _Call_Mantissa = false, _flag_dot = false, _flag_mant = false;
int _position_mant;
bool Parse_symbol (char _symb, const char* _Arr, int _size_arr);
bool Parse_full_string (string _checking, int _offset, int _amount, bool _sec_cond, const char* _Arr, int _size_arr, bool _Drive);
bool Parse_the_first_symbol (string _checking);
bool Parse_the_second_symbol (string _checking);
bool Control_result (int i, string _checking);
bool Parse_mantissa (string _checking);
bool Parse_full_string_before_mantissa (int i, string _checking);
bool Parse_the_first_symbol_after_mantissa (string _checking);
bool Parse_full_string_after_mantissa (string _checking);
long double Questioning (char s);
long double Questioning (char s) {
string _checking;
while (true) {
cout << "Введите значение " << s << ": ";
getline(cin, _checking);
if (_checking.length() == 0)
cout << "Вы не ввели значение!" << endl;
else if (!Parse_the_first_symbol(_checking))
cout << "Некорректное значение!" << endl;
else return strtold(_checking.c_str(), nullptr); }}
bool Parse_symbol (char _symb, const char* _Arr, int _size_arr) {
for (int i = 0; i <= _size_arr; i++)
if (_symb == _Arr[i]) return true;
return false; }
bool Parse_full_string (string _checking, int _offset, int _amount, bool _sec_cond, const char* _Arr, int _size_arr, bool _Drive) {
bool _parse_flag;
int _parse_count = 0;
for (int j = _offset; j < _amount; j++) {
if (Parse_symbol(_checking[j], _Arr, _size_arr)) {
_parse_count++;
if (_sec_cond) return false;
if (_Drive) {
if (_Call_Mantissa)
_sec_cond = (j == (_amount-1));
if (_parse_flag) return false;
_parse_flag = true;
if (_Call_Mantissa) {
_flag_mant = _parse_flag;
_position_mant = j;
}
}
}
}
if (!_Drive) {
if ((_amount - _offset) == _parse_count) return true;
else return false;
}
else return true;
}
bool Parse_the_first_symbol (string _checking) {
int LENGTH = _checking.length();
bool _parse_cond = (LENGTH < 2);
if (Parse_full_string (_checking, 0, 1, _parse_cond, _Arr_Sign, 1, SIGN))
return Parse_the_second_symbol (_checking);
else if (Parse_full_string (_checking, 0, 1, false, _Arr_Digit, 9, DIGIT))
return Control_result (0, _checking);
else return false; }
bool Parse_the_second_symbol (string _checking) {
if (Parse_full_string (_checking, 1, 2, false, _Arr_Digit, 9, DIGIT))
return Control_result (1, _checking);
else return false; }
bool Control_result (int i, string _checking) {
if (!Parse_mantissa (_checking)) return false;
else if (_flag_mant) {
string _before_mantissa = _checking.substr(0, _position_mant);
string _after_mantissa = _checking.substr(_position_mant + 1);
return (Parse_full_string_before_mantissa (i, _before_mantissa)
&& Parse_the_first_symbol_after_mantissa (_after_mantissa)); }
else return Parse_full_string_before_mantissa (i, _checking); }
bool Parse_mantissa (string _checking) {
int LENGTH = _checking.length();
_Call_Mantissa = true;
bool cash = Parse_full_string (_checking, 0, LENGTH, false, _Arr_Mantissa, 1, OTHER);
_Call_Mantissa = false;
return cash; }
bool Parse_full_string_before_mantissa (int i, string _checking) { // but the first symbol
int LENGTH = _checking.length();
return Parse_full_string (_checking, i, LENGTH, false, _Arr_Dot, 0, OTHER) &&
Parse_full_string (_checking, i, LENGTH, false, _Arr_Combo, 10, DIGIT); }
bool Parse_the_first_symbol_after_mantissa (string _checking) {
int LENGTH = _checking.length();
bool _parse_cond = (LENGTH < 2);
if ((Parse_full_string (_checking, 0, 1, _parse_cond, _Arr_Sign, 1, SIGN)) ||
(Parse_full_string (_checking, 0, 1, false, _Arr_Digit, 9, DIGIT)))
return Parse_full_string_after_mantissa (_checking);
else return false; }
bool Parse_full_string_after_mantissa (string _checking) {
int LENGTH = _checking.length();
return Parse_full_string (_checking, 1, LENGTH, false, _Arr_Digit, 9, DIGIT); }
Очередная говнопопытка оптимизации алгоритма.
+2
chek_LD(void)
{
LOCK_DETECT = read();
if (LOCK_DETECT == SAVE_LOCK_DETECT)
{
return;
}
if (LOCK_DETECT == 0)
{
LOCK_DETECT = read();
if (LOCK_DETECT == 0)
{
if (LOCK_DETECT != SAVE_LOCK_DETECT)
{
SAVE_LOCK_DETECT = 0;
}
}
}
else
{
delay_us(5);
LOCK_DETECT = read();
if (LOCK_DETECT == 1)
{
if (LOCK_DETECT != SAVE_LOCK_DETECT)
{
SAVE_LOCK_DETECT = 1;
}
}
}
return;
}
пришел на легаси проект. обожаю глобальные переменные на весь проект. еще больше обожаю логику)
0
#include <iostream>
#include <cmath>
#include <iomanip>
#include "govno.h"
using namespace std;
void prnt_msg_start() {
cout << endl << "Программа решения квадратного уравнения по формуле: ";
cout << "aX^2 + bX + c = 0" << endl;
cout << setprecision(69) << endl; }
long double ks[] = {1, 2, 1, 3, 10, 2};
class SqrtQual {
const string msg_not_roots = "Нет корней!\n",
msg_any_number = "X -- любое число.\n",
msg_special_event = "Решение частного случая (bX + c = 0):\n",
msg_discrim = "Дискриминант = ";
long double A, B, C, D, X1, X2;
bool flag_roots = true, flag_equal_zero, flag_special_event, flag_not_equal_zero,
flag_any_number, flag_input = true, flag_abs_roots, flag_cubes_roots;
void init_fields();
string answer();
bool to_decide();
void to_start();
public:
SqrtQual ();
SqrtQual (int z);
SqrtQual (long double a, long double b, long double c);
};
void variation_task(int variant) {
if (!variant) SqrtQual obj;
else {
for (int i = 0, j = 0; i < 2; i++, j += 3) {
if (variant < 2) SqrtQual obj(ks[j], ks[j+1], ks[j+2]);
else SqrtQual obj(i);
}
}
}
int main() {
prnt_msg_start();
for (int i = 1; i < 3; i++) variation_task(i);
}
SqrtQual::SqrtQual(int z) {
if (z) flag_abs_roots = true;
else flag_cubes_roots = true;
to_start(); }
SqrtQual::SqrtQual() {
to_start(); }
SqrtQual::SqrtQual(long double a, long double b, long double c) {
A = a;
B = b;
C = c;
flag_input = false;
to_start(); }
void SqrtQual::to_start() {
cout << endl;
if (flag_input) Govnokod l_obj(A, B, C);
init_fields();
cout << answer(); }
void SqrtQual::init_fields() {
flag_any_number = ((A == 0) && (B == 0) && (C == 0));
flag_not_equal_zero = ((A == 0) && (B == 0) && (C != 0));
flag_special_event = ((A == 0) && (B != 0) && (C != 0));
bool equal_zero_v1 = ((A == 0) && (B != 0) && (C == 0));
bool equal_zero_v2 = ((A != 0) && (B == 0) && (C == 0));
flag_equal_zero = equal_zero_v1 || equal_zero_v2;
D = B*B - 4*A*C;
if ((D < 0) || flag_not_equal_zero)
flag_roots = false; }
string SqrtQual::answer() {
string tmp = msg_discrim + to_string(D) + "\n";
if (flag_special_event)
tmp = msg_special_event + tmp;
if (flag_any_number)
return msg_any_number;
else if (not flag_roots)
return msg_not_roots;
else {
bool flag_args = to_decide();
string root1("X = "), root2("X2 = ");
if (flag_abs_roots) {
root1 = "| X | = ", root2 = "| X2 | = ";
X1 = abs(X1), X2 = abs(X2);
}
else if (flag_cubes_roots) {
root1 = "X ^3 = ", root2 = "X2 ^3 = ";
X1 = pow(X1, 3), X2 = pow(X2, 3);
}
tmp += root1 + to_string(X1) + "\n";
if (flag_args)
tmp += root2 + to_string(X2) + "\n";
}
return tmp;
}
bool SqrtQual::to_decide() /* if true then two roots else one root */ {
if (flag_equal_zero) X1 = 0;
else if (flag_special_event) X1 = (-C/B); // special event
else if (D == 0) X1 = (-B/2*A);
else {
X1 = ((-B + sqrt(D)) / 2*A), X2 = ((-B - sqrt(D)) / 2*A);
return true; }
return false; }
Немного расширил функционал говнокода с учётом замечаний (в том числе и по архитектуре).
0
#include <iostream>
#include <cmath>
#include "govno.h"
using namespace std;
class SqrtQual {
const string not_kor = "Нет корней!\n";
long double A;
long double B;
long double C;
long double D;
void vspomog();
void konez();
public:
void hello();
} obj;
int main() {
obj.hello();
}
void SqrtQual::hello() {
cout << "Программа решения квадратного уравнения по формуле: ";
cout << "aX^2 + bX + c = 0" << endl;
Govnokod obj;
A = obj.opros('a');
B = obj.opros('b');
C = obj.opros('c');
cout << endl;
konez();
}
void SqrtQual::vspomog() {
D = B*B - 4*A*C;
cout << "Дискриминант = " << D << endl;
if (D < 0)
cout << not_kor;
else if (D == 0)
cout << "X = " << (-B/(2*A));
else {
long double dsqrt = sqrt(D);
cout << "X1 = " << ((-B + dsqrt) / 2*A) << endl;
cout << "X2 = " << ((-B - dsqrt) / 2*A) << endl;
}
}
void SqrtQual::konez() {
bool any_digit = ((A == 0)
and (B == 0)
and (C == 0));
bool not_equal_zero = ((A == 0)
and (B == 0)
and (C != 0));
bool equal_zero_v1 = ((A == 0)
and (B != 0)
and (C == 0));
bool equal_zero_v2 = ((A != 0)
and (B == 0)
and (C == 0));
bool equal_zero = equal_zero_v1
or equal_zero_v2;
bool bx_plus_c = ((A == 0)
and (B != 0)
and (C != 0));
if (any_digit)
cout << "X -- любое число." << endl;
else if (not_equal_zero) {
cout << C << " != 0" << endl;
cout << not_kor;
}
else if (equal_zero)
cout << "X = 0" << endl;
else if (bx_plus_c) {
cout << "Решение частного случая (bX + c = 0):" << endl;
cout << "X = " << (-C/B) << endl;
}
else vspomog();
}
Попытался убрать лишнее из кода, возможно стало немного лучше, но это не точно...
+1
#include <iostream>
#include <cmath>
#include "govno.h"
using namespace std;
class SqrtQual {
const string not_kor = "Нет корней!\n";
struct ABC {
long double kA;
long double kB;
long double kC;
} gABC;
long double diskrim(long double a, long double b, long double c);
void diskrim_zero(long double a, long double b);
void diskrim_bolshe(long double a, long double b, long double d);
void vspomog();
void konez();
void m_bx_plus_c();
public:
void hello();
} obj;
int main() {
obj.hello();
}
void SqrtQual::hello() {
cout << "\nПрограмма вычисления корней квадратного уравнения по формуле: ";
cout << "aX^2 + bX + c = 0\n";
Govnokod obj;
gABC.kA = obj.opros('a');
gABC.kB = obj.opros('b');
gABC.kC = obj.opros('c');
cout << endl;
konez();
}
long double SqrtQual::diskrim(long double a, long double b, long double c) {
long double ac4 = 4*a*c;
long double bkv = pow(b, 2);
long double d = bkv - ac4;
cout << "Дискриминант = " << d << endl;
return d;
}
void SqrtQual::diskrim_zero(long double a, long double b) {
if (a == 0)
cout << not_kor;
else {
long double x = -b/(2*a);
cout << "X = " << x;
}
}
void SqrtQual::diskrim_bolshe(long double a, long double b, long double d) {
if (a == 0)
cout << not_kor;
else {
long double dsqrt = sqrt(d);
long double a2 = a * 2;
long double x1 = (-b + dsqrt) / a2;
long double x2 = (-b - dsqrt) / a2;
cout << "X1 = " << x1 << endl;
cout << "X2 = " << x2 << endl;
}
}
void SqrtQual::m_bx_plus_c() {
long double x = -gABC.kC/gABC.kB;
cout << "X = " << x << endl;
}
void SqrtQual::vspomog() {
long double D = diskrim(gABC.kA, gABC.kB, gABC.kC);
if (D < 0)
cout << not_kor;
else if (D == 0)
diskrim_zero(gABC.kA, gABC.kB);
else
diskrim_bolshe(gABC.kA, gABC.kB, D);
}
void SqrtQual::konez() {
bool any_digit = ((gABC.kA == 0) and
(gABC.kB == 0) and
(gABC.kC == 0));
bool not_equal_zero = ((gABC.kA == 0) and
(gABC.kB == 0) and
(gABC.kC != 0));
bool equal_zero_v1 = ((gABC.kA == 0) and
(gABC.kB != 0) and
(gABC.kC == 0));
bool equal_zero_v2 = ((gABC.kA != 0) and
(gABC.kB == 0) and
(gABC.kC == 0));
bool equal_zero = equal_zero_v1 or equal_zero_v2;
bool bx_plus_c = ((gABC.kA == 0) and (gABC.kB != 0));
if (any_digit)
cout << "X -- любое число.";
else if (not_equal_zero) {
cout << gABC.kC << " -- Не равно нулю!";
cout << not_kor; }
else if (equal_zero)
cout << "X = 0";
else if (bx_plus_c)
m_bx_plus_c();
else vspomog();
}
Вот для этой проги я писал предыдущие говнокоды. Тут нет решений для множества комплексных чисел пока что.