- 1
- 2
- 3
- 4
- 5
- 6
- 7
int i=0;
for (i=0;i<2;)
{cout<<"Enter M takoe 4to Bbl -> m>0 .\n ";
cin>>M;
if (M>0)
i=76;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+145
int i=0;
for (i=0;i<2;)
{cout<<"Enter M takoe 4to Bbl -> m>0 .\n ";
cin>>M;
if (M>0)
i=76;
}
Из лабы однокурсника по C++.
+145
#include <iostream>
#include <fstream>
#include <conio.h>
using namespace std;
int main()
{
int wc,cnt=0,maxp=0,minp=2147483647,maxn=-2147483648,minn=0,pos=0,neg=0,zf=0;
fstream(f);
f.open("input.txt",ios::in);
while (!f.eof())
{
if(!zf) zf--;
wc=0;
f >>wc;
if (wc>0) { if (maxp<wc) maxp=wc; if (minp>wc) minp=wc; pos++; }
else {if (minn>wc) minn=wc; if (maxn<wc&&wc)maxn=wc; if (!wc) zf+=2; else neg++; }
}
if (pos>1 && neg>1)
if ((float)maxp/minp > (float)minn/maxn) cout<<maxp<<"/"<<minp<<"="<<(float)maxp/minp;
else cout<<minn<<"/"<<maxn<<"="<<(float)minn/maxn;
if (pos>1 && neg<2) cout<<maxp<<"/"<<minp<<"="<<(float)maxp/minp;
if (pos<2 && neg>1) cout<<minn<<"/"<<maxn<<"="<<(float)minn/maxn;
if (pos<=1 && neg<=1)
if(zf) if(pos) cout<<"0/"<<minp<<"=0";else cout<<"0/"<<minn<<"=0";
else if ((float)maxp/maxn>(float)maxn/maxp)cout<<maxp<<"/"<<maxn<<"="<<(float)maxp/maxn;
else cout<<maxn<<"/"<<maxp<<"="<<(float)maxn/maxp;
if (pos+neg+zf<=1) cout<<"No solution!";
f.close();
getch();
return 0;
}
Задача 2-ого курса: "в массиве целых числел найти два таких числа, чтобы их частное было максимальным ( O(n) )"
И ее решение -.- Особо доставляет название переменных
+147
int count(int a)
{
int cnt=0;
while(a)
{
++cnt;
}
return cnt;
}
Ф-ция для подсчета количества знаков числа. Взято с www.cyberforum.ru
+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;
}
+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
Посвящается всем изобретателям велосипедов и просто неудачникам.. :(
+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
+158
QTextEdit *qte = new QTextEdit();
qte->setHtml(doc->toHtml());
qte->selectAll();
qte->textCursor().mergeBlockFormat(format);
qte->setTextColor(this->getTextForecolor());
doc->setHtml(qte->toHtml());
delete qte;
Задание цвета текста QTextDocument (doc) через анал.