- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
int count(int a)
{
int cnt=0;
while(a)
{
++cnt;
}
return cnt;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+147
int count(int a)
{
int cnt=0;
while(a)
{
++cnt;
}
return cnt;
}
Ф-ция для подсчета количества знаков числа. Взято с www.cyberforum.ru
+68
package bytestring;
public class Main {
public static void main(String[] args) {
String source = new String("A ya sdelal etu hren s perevorotom stroki s ispolzovaniem bayta");
byte bytes[] = source.getBytes();
////////////////////////////////////////////////////////////////////////
int i, j;
int length, first, last;
byte a;
length = bytes.length;
//Переворачиваем всю строку
for(i = 0; i < length / 2; i++) {
a = bytes[i];
bytes[i] = bytes[length - i - 1];
bytes[length - i - 1] = a;
}
//Переворачиваем каждое слово строки
first = 0;
for(i = 1; i <= length; i++)
if(i == length || bytes[i] == ' ') {
last = i - 1;
for(j = first; j <= first + (last - first) / 2; j++) {
a = bytes[j];
bytes[j] = bytes[first + last - j];
bytes[first + last - j] = a;
}
first = i + 1;
}
////////////////////////////////////////////////////////////////////////
char destination[] = new char[bytes.length];
for(i = 0; i < bytes.length; i++)
destination[i] = (char) bytes[i];
System.out.println(String.copyValueOf(destination));
}
}
+147
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <algorithm>
#include <vector>
#include <string>
#define N 5
#define TSK "durak"
using namespace std;
int m[N];
int main(void){
freopen(TSK".in", "rt", stdin);
freopen(TSK".out", "wt", stdout);
scanf("%d%d%d%d", &m[0], &m[1], &m[2], &m[3]);
sort(m, m + 4);
int ans(0);
for(int i = 1; i < 4; i++){
if(m[i] == m[i-1] && m[i] != 0)
ans++;
}
printf("%d\n", ans);
return 0;
}
+78
public static String toWritten(int i) {
return Integer.parseInt(String.valueOf(i).substring(String.valueOf(i).length()-1)) > 4 ?
"объектов" :
Integer.parseInt(String.valueOf(i).substring(String.valueOf(i).length()-1)) > 1 ?
"объекта" :
Integer.parseInt(String.valueOf(i).substring(String.valueOf(i).length()-1)) == 1 ?
"объект":
"объектов";
}
функция для вывода подобного:
1 объект
156 оъектов
итд.
+159
// TODO: use Virtual memory instead of heap!
#ifndef __CHUNK_H__
#define __CHUNK_H__
#include <windows.h>
#include "../JuceLibraryCode/JuceHeader.h"
class Chunk {
public:
enum CHUNK_DIRECTION {CHUNK_UNKNOWN = 0, CHUNK_IN, CHUNK_OUT};
Chunk (DWORD ChunkSize, WORD id, CHUNK_DIRECTION chunkDirection);
~Chunk ();
// override
virtual void eventChunkIsEmpty () {
Logger::outputDebugString(T("empty"));
}
virtual void eventChunkIsFull () {
Logger::outputDebugString(T("full"));
}
virtual void eventChunkOverrun () {
Logger::outputDebugString(T("overrun"));
}
DWORD getData (WORD *data, DWORD size) {
if (data == 0) return 0;
if (cs.tryEnter ()) { // if it's true, we locked.. (TODO: check, i'm not sure about that)
if (((size + nReadCounter) > nWriteCounter) || size == 0) { cs.exit(); return 0; }
memcpy (data, pBuffer + nReadCounter, size*sizeof(WORD));
nReadCounter += size;
if (nReadCounter == nWriteCounter) { eventChunkIsEmpty() ; nWriteCounter = 0; nReadCounter = 0; }
cs.exit ();
return size;
}
return 0;
}
DWORD putData (WORD *data, DWORD size) {
if (data == 0) return 0;
if (cs.tryEnter ()) { // if it's true, we locked.. (TODO: check, i'm not sure about that)
if ((size + nWriteCounter) > nSize) { eventChunkOverrun(); cs.exit (); return 0; }
memcpy (pBuffer + nWriteCounter, data, size*sizeof(WORD));
nWriteCounter += size;
if (nWriteCounter == nSize ) eventChunkIsFull();
cs.exit ();
return size;
}
return 0;
}
inline DWORD getSize () {
return nSize;
}
// TODO: add check for nWriteCounter?
inline bool setSize (DWORD ChunkSize) {
if (bExchangeIsActive) return false;
nSize = ChunkSize;
// TODO: add result check.
pBuffer = (WORD*) realloc ((void*)pBuffer, ChunkSize*sizeof(WORD));
if (pBuffer) return true;
return false;
}
inline DWORD getReadCounter () { return nReadCounter; }
inline DWORD getWriteCounter () { return nWriteCounter; }
juce_UseDebuggingNewOperator
protected:
bool bExchangeIsActive;
CHUNK_DIRECTION cdDirection;
DWORD nSize;
DWORD nWriteCounter;
DWORD nReadCounter;
WORD nChunkId;
WORD *pBuffer;
CriticalSection cs;
};
#endif
// EOF
#include "Chunk.h"
Chunk::Chunk (DWORD ChunkSize, WORD id, CHUNK_DIRECTION chunkDirection) {
bExchangeIsActive = false;
cdDirection = chunkDirection;
nSize = ChunkSize;
nWriteCounter = 0;
nReadCounter = 0;
nChunkId = id;
pBuffer = (WORD*) malloc (ChunkSize*sizeof(WORD));
zeromem (pBuffer, ChunkSize*sizeof(WORD));
}
Chunk::~Chunk () {
if (pBuffer) free (pBuffer);
}
// EOF
Посвящается всем изобретателям велосипедов и просто неудачникам.. :(
+168
function cleanUrl( $url ){
$new_url = str_replace( " ", "-", $url );
$new_url = str_replace( "/", "-", $new_url );
$new_url = str_replace( "--", "-", $new_url );
$new_url = str_split( $new_url );
$new_url = preg_grep( "<[A-Za-z0-9-_]+>", $new_url );
$new_url = trim( implode( $new_url ) );
$new_url = strtolower($new_url);
// Was still getting cases of double hyphens
$new_url = str_replace( "--", "-", $new_url );
return $new_url;
}// end function - cleanUrl
Спасаю "Говнокод.ру" пехапе шедевром.
+157
void CVC6_SampleCodeDlg::OnButtonSaveframe()
{
// TODO: Add your control notification handler code here
SYSTEMTIME lpSysTime;
GetLocalTime(&lpSysTime);
long Dims = SafeArrayGetDim(pvBuffer.parray);
if(Dims != 1)
return;
char *pbuf = (char*)malloc(m_FrameSize);
char *pfinal = pbuf;
for(long i=0;i<m_FrameSize;i++)
{
SafeArrayGetElement(pvBuffer.parray, &i, pfinal++);
}
FILE* fSaveFile;
CString saveName;
if(m_vportsdk.GetGetStreamType() == 1)
saveName.Format(".//%d%d%d_%d%d%d.mpg4",lpSysTime.wYear, lpSysTime.wMonth, lpSysTime.wDay,
lpSysTime.wHour, lpSysTime.wMinute, lpSysTime.wSecond);
else if(m_vportsdk.GetGetStreamType() == 2)
saveName.Format(".//%d%d%d_%d%d%d.jpg",lpSysTime.wYear, lpSysTime.wMonth, lpSysTime.wDay,
lpSysTime.wHour, lpSysTime.wMinute, lpSysTime.wSecond);
if((fSaveFile = fopen((LPCTSTR)saveName,"wb"))!=NULL)
{
fwrite(pbuf, 1, m_FrameSize, fSaveFile);
fclose(fSaveFile);
}
SafeArrayUnaccessData(pvBuffer.parray);
delete pbuf;
pbuf = NULL;
}
VPort ActiveX SDK PLUS от Moxa
часть 5. Хватит пока :)
+154
void CVC6_SampleCodeDlg::OnButtonSetpreset()
{
// TODO: Add your control notification handler code here
CComboBox *pCombobox = (CComboBox *) GetDlgItem(IDC_COMBO_PRESETNAME);
CString strPresetName;
GetDlgItem(IDC_EDIT_PRESETNAME)->GetWindowText(strPresetName);
if(strPresetName != "")
m_vportsdk.SavePresetPosition(strPresetName, (pCombobox->GetCurSel()+1));
else{
GetDlgItem(IDC_COMBO_PRESETNAME)->GetWindowText(strPresetName);
m_vportsdk.SavePresetPosition(strPresetName, (pCombobox->GetCurSel()+1));
}
}
VPort ActiveX SDK PLUS от Moxa
часть 4
+155
void CVC6_SampleCodeDlg::OnCHECKForceGDI()
{
// TODO: Add your control notification handler code here
CButton *pBut = (CButton *) GetDlgItem(IDC_CHECK_ForceGDI);
m_vportsdk.SetForceGDI(pBut->GetCheck());
if(pBut->GetCheck() == 0)
m_ForceGDI = false;
else if(pBut->GetCheck() == 1)
m_ForceGDI = true;
}
VPort ActiveX SDK PLUS от Moxa
часть 3
+156
void CVC6_SampleCodeDlg::Onbuttonstartrecord()
{
// TODO: Add your control notification handler code here
CString strFileName, strFileTime, strFileSize, strTemp;
GetDlgItem(IDC_EDIT_filepath)->GetWindowText(strFileName);
GetDlgItem(IDC_EDIT_filetime)->GetWindowText(strFileTime);
GetDlgItem(IDC_EDIT_filelength)->GetWindowText(strFileSize);
GetDlgItem(IDC_button_startrecord)->GetWindowText(strTemp);
m_vportsdk.SetRecordVideoPath(strFileName);
m_vportsdk.SetRecordMaxFileTimeLength(atoi(strFileTime));
m_vportsdk.SetRecordMaxFileSize(atoi(strFileSize));
CComboBox *pRecordType = (CComboBox *) GetDlgItem(IDC_COMBO_recordtype);
if(strTemp == "Start Record"){
if(pRecordType->GetCurSel() == 0)
m_vportsdk.StartRecording(0);
else
m_vportsdk.StartRecording(1);
GetDlgItem(IDC_button_startrecord)->SetWindowText("Stop Record");
}
else{
if(pRecordType->GetCurSel() == 0)
m_vportsdk.StopRecording(0);
else
m_vportsdk.StopRecording(1);
GetDlgItem(IDC_button_startrecord)->SetWindowText("Start Record");
}
}
VPort ActiveX SDK PLUS от Moxa
часть 2