- 1
У Страйкера новый бизнес!
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−103
У Страйкера новый бизнес!
http://govnokod.com/
0
#include <stdio.h>
#include <conio.h>
#include <iostream>
// -------------------------------------------
#define belugina0 std::wstring("нельзя писать сервера на js")
#define belugina1 std::wstring("js это обертка для html")
#define belugina2 std::wstring("Вектор это не динамический массив")
#define belugina3 std::wstring("-Размер инта? Ответ: "Ну два" ")
#define belugina4 std::wstring("Бинарным поиском можно найти максимальное количество минимальных элементов")
#define belugina5 std::wstring("Бинарным поиском можно найти сумму элементов массива")
#define belugina6 std::wstring("Бинарным поиском можно найти среднее арифметическое массива")
#define belugina7 std::wstring("Операцию "перечисления" это - когда массив содержит числа, принадлежащие обоим массивам")
// наркотики зло
void main ()
{
int n; // количество вершин
int **G;// исходный граф
int **H; // матрица списка ребер с весом
int **K; /*матрица, отмечающая принадлежность
вершины компоненте*/
int **T; // матрица остовного дерева
int **L; // список ребер с ценами минимального дерева
}
Список моих цитат
Краткость сестра таланта.
+2
#include "stdio.h"
#include "conio.h"
#define infinity 999
namespace belugina
{
void dij(int n,int v,int cost[10][10],int dist[])
{
int i,u,count,w,flag[10],min;
for(i=1;i<=n;i++)
flag[i]=0,dist[i]=cost[v][i];
count=2;
while(count<=n)
{
min=99;
for(w=1;w<=n;w++)
if(dist[w]<min && !flag[w])
min=dist[w],u=w;
flag[u]=1;
count++;
for(w=1;w<=n;w++)
if((dist[u]+cost[u][w]<dist[w]) && !flag[w])
dist[w]=dist[u]+cost[u][w];
}
}
}
Я разгадала знак бесконечности.
#define infinity 999
+3
namespace
{
struct list {
type pole1;
list *pole2;
}
stack;
}
Пример описания стека
−1
namespace belugina
{
struct list {
type elem ;
list *next, *pred ;
}
list *headlist ;
}
не могу понять что люблю больше, английски или транслит.
0
namespace belugina{
struct Node {
int key;//информационное поле
Node*next;//адресное поле
};
struct point {
char*name;//информационное поле
int age;//информационное поле
point*next;//адресное поле
};
struct Single_List {//структура данных
int Data; //информационное поле
Single_List *Next; //адресное поле
};
Single_List *Head; //указатель на первый элемент списка
Single_List *Current; //указатель на текущий элемент списка (при необходимости)
void Make_Single_List (int n,Single_List** Head){
if (n > 0) {
(*Head) = new Single_List();
//выделяем память под новый элемент
cout << "Введите значение ";
cin >> (*Head)->Data;
//вводим значение информационного поля
(*Head)->Next=NULL;
//обнуление адресного поля
Make_Single_List(n-1,&((*Head)->Next));
}
}
void Print_Single_List(Single_List* Head) {
if (Head != NULL) {
cout << Head->Data << "\t";
Print_Single_List(Head->Next);
//переход к следующему элементу
}
else cout << "\n";
}
Single_List* Insert_Item_Single_List(Single_List* Head,
int Number, int DataItem){
Number--;
Single_List *NewItem=new(Single_List);
NewItem->Data=DataItem;
NewItem->Next = NULL;
if (Head == NULL) {//список пуст
Head = NewItem;//создаем первый элемент списка }
else {//список не пуст
Single_List *Current=Head;
for(int i=1; i < Number && Current->Next!=NULL; i++)
Current=Current->Next;
if (Number == 0){
//вставляем новый элемент на первое место
NewItem->Next = Head;
Head = NewItem;
}
else {//вставляем новый элемент на непервое место
if (Current->Next != NULL)
NewItem->Next = Current->Next;
Current->Next = NewItem;
}
}
return Head;
}
Single_List* Delete_Item_Single_List(Single_List* Head,
int Number){
Single_List *ptr;//вспомогательный указатель
Single_List *Current = Head;
for (int i = 1; i < Number && Current != NULL; i++)
Current = Current->Next;
if (Current != NULL){//проверка на корректность
if (Current == Head){//удаляем первый элемент
Head = Head->Next;
delete(Current);
Current = Head;
}
else {//удаляем непервый элемент
ptr = Head;
while (ptr->Next != Current)
ptr = ptr->Next;
ptr->Next = Current->Next;
delete(Current);
Current=ptr;
}
}
return Head;
}
bool Find_Item_Single_List(Single_List* Head,
int DataItem){
Single_List *ptr; //вспомогательным указатель
ptr = Head;
while (ptr != NULL){//пока не конец списка
if (DataItem == ptr->Data) return true;
else ptr = ptr->Next;
}
return false;
}
void Delete_Single_List(Single_List* Head){
if (Head != NULL){
Delete_Single_List(Head->Next);
delete Head;
}
}
//удаляем непервый элемент .
У человека проблемы не только с кодом но и с русским языком.
+2
bool End_Range (FILE * f){
int tmp;
tmp = fgetc(f);
tmp = fgetc(f);
if (tmp != '\'') fseek(f,-2,1);
else fseek(f,1,1);
return tmp == '\'' ? true : false;
}
void Natural_Merging_Sort (char *name){
int s1, s2, a1, a2, mark; FILE *f, *f1, *f2; s1 = s2 = 1;
while ( s1 > 0 && s2 > 0 ){
mark = 1; s1 = 0; s2 = 0;
f = fopen(name,"r"); f1 = fopen("nmsort_1","w");
f2 = fopen("nmsort_2","w"); fscanf(f,"%d",&a1);
if ( !feof(f) ) fprintf(f1,"%d ",a1);
if ( !feof(f) ) fscanf(f,"%d",&a2);
while ( !feof(f) ){
if ( a2 < a1 ) {switch (mark) {
case 1:{fprintf(f1,"' "); mark = 2; s1++; break;}
case 2:{fprintf(f2,"' "); mark = 1; s2++; break;}
}}
if ( mark == 1 ) { fprintf(f1,"%d ",a2); s1++; }
else { fprintf(f2,"%d ",a2); s2++;}
a1 = a2; fscanf(f,"%d",&a2);
}
if ( s2 > 0 && mark == 2 ) { fprintf(f2,"'");}
if ( s1 > 0 && mark == 1 ) { fprintf(f1,"'");}
fclose(f2); fclose(f1); fclose(f);
cout << endl;
Print_File(name);
Print_File("nmsort_1");
Print_File("nmsort_2");
cout << endl;
f = fopen(name,"w"); f1 = fopen("nmsort_1","r");
f2 = fopen("nmsort_2","r");
if ( !feof(f1) ) fscanf(f1,"%d",&a1);
if ( !feof(f2) ) fscanf(f2,"%d",&a2);
bool file1, file2;
while ( !feof(f1) && !feof(f2) ){ file1 = file2 = false;
while ( !file1 && !file2 ) {
if ( a1 <= a2 ) { fprintf(f,"%d ",a1);
file1 = End_Range(f1); fscanf(f1,"%d",&a1); }
else { fprintf(f,"%d ",a2); file2 = End_Range(f2);
fscanf(f2,"%d",&a2); }
}
while ( !file1 ) { fprintf(f,"%d ",a1);
file1 = End_Range(f1); fscanf(f1,"%d",&a1); }
while ( !file2 ) { fprintf(f,"%d ",a2);
file2 = End_Range(f2); fscanf(f2,"%d",&a2); }
} file1 = file2 = false;
while ( !file1 && !feof(f1) ) { fprintf(f,"%d ",a1);
file1 = End_Range(f1); fscanf(f1,"%d",&a1); }
while ( !file2 && !feof(f2) ) { fprintf(f,"%d ",a2);
file2 = End_Range(f2); fscanf(f2,"%d",&a2); }
fclose(f2); fclose(f1); fclose(f);
} remove("nmsort_1"); remove("nmsort_2");
}
Потеряли пульт от телевизора? Найди его бинарным поиском!!!
+1
namespace belugina
{
void Simple_Merging_Sort (char *name){
int a1, a2, k, i, j, kol, tmp;
FILE *f, *f1, *f2;
kol = 0;
if ( (f = fopen(name,"r")) == NULL )
printf("\nИсходный файл не может быть прочитан...");
else { while ( !feof(f) ) {
fscanf(f,"%d",&a1);
kol++;
}
fclose(f);
}
k = 1;
while ( k < kol ){
f = fopen(name,"r");
f1 = fopen("smsort_1","w");
f2 = fopen("smsort_2","w");
if ( !feof(f) ) fscanf(f,"%d",&a1);
while ( !feof(f) ){
for ( i = 0; i < k && !feof(f) ; i++ ){
fprintf(f1,"%d ",a1); fscanf(f,"%d",&a1); }
for ( j = 0; j < k && !feof(f) ; j++ ){
fprintf(f2,"%d ",a1); fscanf(f,"%d",&a1);}
}
fclose(f2); fclose(f1); fclose(f);
f = fopen(name,"w"); f1 = fopen("smsort_1","r");
f2 = fopen("smsort_2","r");
if ( !feof(f1) ) fscanf(f1,"%d",&a1);
if ( !feof(f2) ) fscanf(f2,"%d",&a2);
while ( !feof(f1) && !feof(f2) ){
i = 0; j = 0;
while ( i < k && j < k && !feof(f1) && !feof(f2) ) {
if ( a1 < a2 ) {
fprintf(f,"%d ",a1); fscanf(f1,"%d",&a1);i++;}
else {
fprintf(f,"%d ",a2);fscanf(f2,"%d",&a2); j++;}
}
while ( i < k && !feof(f1) ) {
fprintf(f,"%d ",a1); fscanf(f1,"%d",&a1); i++;}
while ( j < k && !feof(f2) ) {
fprintf(f,"%d ",a2); fscanf(f2,"%d",&a2); j++;}
}
while ( !feof(f1) ) {
fprintf(f,"%d ",a1); fscanf(f1,"%d",&a1); }
while ( !feof(f2) ) {
fprintf(f,"%d ",a2); fscanf(f2,"%d",&a2); }
fclose(f2); fclose(f1); fclose(f); k *= 2;
}
remove("smsort_1"); remove("smsort_2");
}
}
Вектор это не динамический массив.
+1
void Merging_Sort (int n, int *x){
int i, j, k, t, s, Fin1, Fin2;
int* tmp = new int[n];
k = 1;
while (k < n){
t = 0; s = 0;
while (t+k < n){
Fin1 = t+k;
Fin2 = (t+2*k < n ? t+2*k : n);
i = t; j = Fin1;
for ( ; i < Fin1 && j < Fin2 ; s++){
if (x[i] < x[j]) {
tmp[s] = x[i]; i++;
} else {
tmp[s] = x[j]; j++;
}
}
for ( ; i < Fin1; i++, s++) tmp[s] = x[i];
for ( ; j < Fin2; j++, s++) tmp[s] = x[j];
t = Fin2;
} k *= 2;
for (s = 0; s < t; s++) x[s] = tmp[s];
}
delete(tmp);
}
Это новый вид искусство?
+1
namespace belugina
{
void Hoar_Sort (int k, int *x){
Quick_Sort (0, k-1, x);}
}
Как вы думаете это новая форма рекурсии?